Acrobat Distiller и Acrobat Network Distiller поддерживают предустановленную процедуру RunFile: обработку сразу нескольких PostScript-файлов и объединение их в один PDF-файл. Это удобная альтернатива многократного обращения к команде Insert программы Acrobat Exchange при комбинировании PDF-файлов.
ИСПОЛЬЗОВАНИЕ ПРОЦЕДУРЫ RUNFILE
ПРИМЕЧАНИЕ: Процедура требует точного воспроизведения синтаксиса, включая пробелы и прописные буквы.
1. Откройте новый файл в текстовом редакторе (Windows Write, Microsoft Word) и введите следующий текст:
%!
/prun b/mysave save def dup = flush RunFile
clear cleardictstack mysave restored def
Первая строка это комментарий, определяющий данный файл как PostScript-файл. Следующая строка определяет процедуру доступа к процедуре RunFile.
2. Перейдите на новую строку, откройте скобку и введите местонахождение и имя PostScript-файла, который Вы собираетесь обработать, закройте скобку и введите prun. В Distiller для Windows это может выглядеть так:
(С:\\REPORTS\\JANUARY\\JANSALES.PS) prun
А в Distiller для Macintosh:
(Hard Disk 80:Reports:January:January Sales.ps) prun
Эта строка дает Distiller инструкцию обработать файл jansales.ps в каталоге reports/January (или файл January Sales.ps в папке January /Reports). ПРИМЕЧАНИЕ: Формат задания полного пути (PathName) до файла задается в соответствии с типом компьютера, на котором запускается Distiller, хотя сам файл может быть создан на другой машине. Это особенно важно при работе с Acrobat Network Distiller, поскольку PathName к папке In, используемое программой Network Distiller, может отличаться от PathName к той же папке на локальной рабочей станции. Более подробную информацию об этом Вы можете получить у своего системного администратора.
3. В строке, созданной в п. 2, укажите местонахождение и имя каждого подлежащего обработке PostScript-файла. Каждый элемент должен отделяться от другого одним пробелом.
4. Чтобы обозначить конец файла, перейдите на новую строку и введите:
%EOF
5. Сохраните файл в формате Text Only.
6. Чтобы файл был обработан, поместите его в папку In/Distiller. В процессе обработки Distiller последовательно считывает все указанные PostScript-файлы и объединяет их в одном PDF-документе. Последнему присваивается то же имя, которое имеет Text Only-файл, созданный в предыдущих пунктах, но с расширением .pdf. В ходе обработки имена каждого PostScript-файла появляются в окне сообщений Distiller, а также заносятся в регистрационный файл.
ПРИМЕЧАНИЕ: Если Вы не хотите, чтобы выводились имена файлов, или желаете, чтобы регистрационный файл создавался только в случае возникновения ошибки, выполните указанные ранее действия, заменив текст строки 3 пункта 1, следующим выражением:
/prim b/mysave save def RunPile clear
cleardictstack mysave restored def
Пример:
В Distiller для Windows следующая процедура RunFile объединяет три PostScript-файла в один PDF-документ:
%\ /prun b/mysave save def dup = flush
RunFile clear cleardictstack mysave
restored def (C:\XWORK\\TITLEPG.PS) prun
(C:\\WORK\\BODY.PS) prun
(C:\\WORK\\\NDEX.PS) prun %EOF
Если этот файл сохранить как final.ps и открыть в Distiller, три указанные PostScript-файла в каталоге work на диске С: компьютера, где запущен Distiller, будут обработаны и будет генерирован файл final.pdf.
В папке Xtras/Distiller есть несколько файлов-образцов (rundile_.ps) с процедурой RunFile.
ИСПОЛЬЗОВАНИЕ ПРОЦЕДУРЫ RUNFILE БЕЗ ОЧИСТКИ СЛОВАРНОГО СТЕКА
Если Вы включаете не самодостаточные PostScript-файлы (для которых должен запускаться файл prolog, оставляющий в стеке словарь proset), необходимо воспользоваться другой процедурой, иначе в процессе дистилляции может возникнуть ошибка и PDF-файл будет сгенерирован некорректно. Правда, без очистки словарного стека возрастает вероятность того, что программе Distiller не хватит памяти и Вы получите сообщение об ошибке, чего могло бы и не быть, если бы PostScript-файлы обрабатывались по отдельности. Увеличение объема доступной для Distiller памяти поможет предотвратить такую проблему.
Чтобы воспользоваться процедурой RunFile без очистки словарного стека, выполните указанные выше действия, только вторую строку в п. 2 замените следующим выражением:
/prun bdup = flush RunFiled def
Если Вы хотите, чтобы программа создавала регистрационный файл только в случае возникновения ошибки, можете выбросить вторую строку в п. 2 и обратиться к процедуре RunFile непосредственно, заменив в п. 3 prun на RunFile. Например:
(С: \\REPORTS\\JANUARY\\JANSALES.PS) RunFile