Использование псевдопринтеров
🕛 21.06.2009, 23:35
Еще одну возможность использования сценариев предоставляет параметр 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, вы можете решать задачи, подобные тем, которые решаются с помощью сценариев ргеехес и postexec. Вы можете создавать резервные копии файлов, преобразовывать форматы и выполнять другие действия. Пример решения подобной задачи приведен ниже.
Подобно сценариям ргеехес и postexec, параметр print command позволяет выполнять действия, которые могут создавать угрозу безопасности системы. При решении задач, предполагающих подобные действия, будьте внимательны, особенно если вы используете параметр force user для предоставления специальных привилегий.
В составе параметра print command можно использовать переменные, приведенные в табл. 7.1 (некоторые из них, например %s, специально предназначены для такого применения, и их появление в составе сценариев ргеехес и postexec не оправдано). Переменная %Н в особенности полезна при доставке данных пользователю, инициировавшему задачу; в частности, вы можете использовать эту переменную для указания пути к каталогу, в который должны быть помещены файлы после окончания обработки.
Параметр print command имеет существенное преимущество перед ргеехес и postexec. При взаимодействии с разделяемым объектом соединение может остаться открытым, в результате сценарий postexec долгое время не получит управления. Если же клиент инициирует задачу печати, команды, указанные в качестве значения print command, сразу же выполняются. Однако следует учесть, что при выполнении некоторых операций две последовательно переданные на печать задачи могут повредить друг другу файлы с данными.