Я использую Ghostscript для преобразования PDF-документов в PCL для печати. Недавно у меня есть дополнительное требование, чтобы перед печатью все страницы были повернуты до «Портрет». Я нашел способ сделать это, используя Ghostscript со следующей командой и функцией postscript.Ghostscript вращать страницы
"C:\Program Files (x86)\gs\bin\gswin32c.exe" "-dNOPAUSE" "-dNOPROMPT" "-dBATCH" "-sDEVICE=pxlmono" "-Ic:\Program Files (x86)\gs\fonts\;c:\Program Files (x86)\gs\lib\;c:\Program Files (x86)\gs\lib\;" "-r300" "-sOutputFile=C:\EXPORTFILE_e542e04f-5e84-4c8e-9b41-55480cd5ec52.cache" "rotate612x792.ps" "C:\EXPORTFILE_3a5de9da-d9ca-4562-8cb6-10fb8715385a.cache"
Содержание rotate612x792.ps
%! Rotate Pages
<< /Policies << /PageSize 5 >>
/PageSize [612 792]
/InputAttributes currentpagedevice
/InputAttributes get mark exch {1 index /Priority eq not {pop << /PageSize [612 792] >>} if } forall >>
>> setpagedevice
Проблема заключается в том, что эта функция заменяет все размеры страницы с размером букв. Мои документы иногда являются юридическими или А4. Я попытался изменить эту функцию, чтобы заменить пейзажные размеры на их портретную копию, но не смог создать функциональную постскриптум. Мне нужно указать в правильном направлении, чтобы создать эквивалент постскриптума следующего псевдокода.
for(each page)
{
if(PageSize == [792 612])
PageSize = [612 792];
}
Я знаю, что есть не-Ghostscript способы вращающихся страниц, но если я могу получить эту работу было бы вписывались мой процесс и не приведет к снижению производительности.
Вот пример одного из моих файлов в формате PDF: Sample1.pdf
Я пробовал этот скрипт и не вызывал ошибки, но также не поворачивал страницы. Ниже приведен пример входного файла pdf. [https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28](https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28) – Zig158