Книга: Сетевые средства Linux
Использование псевдопринтеров
Использование псевдопринтеров
Еще одну возможность использования сценариев предоставляет параметр print command
, предназначенный для включения в описание разделяемого объекта печати. Первоначально этот параметр создавался для осуществления операций, связанных с передачей задачи на печать, но в качестве его значения можно задавать любые команды. Параметр print command
позволяет выполнить специальную обработку PostScript-файлов и реализовать эффекты, имеющие лишь отдаленное отношение к выводу данных на печать. Этот параметр можно применять для обработки любых данных, содержащихся в файле, сгенерированном в системе Windows. Ниже приведены примеры задач, решаемых с помощью параметра print command
.
• Передача факсов с помощью программного обеспечения Linux и PostScript-драйвера Windows. При этом даже можно воспользоваться Windows-программами, например, продуктом Respond (http://www.boerde.de/~horstf/
) для создания интерфейса.
• Конвертирование PostScript-файлов в другие типы данных, например, представление их в виде PDF-файлов или преобразование в графический формат. Пример подобного использования параметра print command
рассматривается ниже в этой главе.
• Непосредственный вывод на печать данных в формате, отличном от PostScript. Некоторые из таких данных корректно обрабатываются с помощью фильтров печати Linux, для них необходимость в создании специальной конфигурации не возникает, однако в ряде случаев применение print command
вполне оправдано. Например, вы можете использовать данный параметр для обработки файлов, созданных с помощью текстового процессора, извлечения определенных полей из базы данных и выполнения других подобных действий.
• Объединяя данные в файл архива и передавая этот файл на компьютер под управлением Linux, вы можете решать задачи, подобные тем, которые решаются с помощью сценариев preexec
и postexec
. Вы можете создавать резервные копии файлов, преобразовывать форматы и выполнять другие действия. Пример решения подобной задачи приведен ниже.
Подобно сценариям preexec
и postexec
, параметр print command
позволяет выполнять действия, которые могут создавать угрозу безопасности системы. При решении задач, предполагающих подобные действия, будьте внимательны, особенно если вы используете параметр force user
для предоставления специальных привилегий.
В составе параметра print command
можно использовать переменные, приведенные в табл. 7.1 (некоторые из них, например %s
, специально предназначены для такого применения, и их появление в составе сценариев preexec
и postexec
не оправдано). Переменная %H
в особенности полезна при доставке данных пользователю, инициировавшему задачу; в частности, вы можете использовать эту переменную для указания пути к каталогу, в который должны быть помещены файлы после окончания обработки.
Параметр print command
имеет существенное преимущество перед preexec
и postexec
. При взаимодействии с разделяемым объектом соединение может остаться открытым, в результате сценарий postexec
долгое время не получит управления. Если же клиент инициирует задачу печати, команды, указанные в качестве значения print command
, сразу же выполняются. Однако следует учесть, что при выполнении некоторых операций две последовательно переданные на печать задачи могут повредить друг другу файлы с данными.
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса
- Использование CAST() с типами дата
- Использование типов содержимого и столбцов
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
- Использование кнопки Автосумма
- 24.7. Использование программы-твикера
- Использование отдельных процессоров XSLT
- 4. Использование подзапросов