Странная проблема с файлами Ghostscript и PDF.
-
19-09-2019 - |
Вопрос
Я использую Ghostscript для создания PDF-файла из файла Postscript.В моем PS-файле нет инструкций по ориентации, поэтому, когда я хочу создать альбомный PDF-файл, я использую Ghostscript для поворота страницы.Проблема в том, что Ghostscript вращает только первую страницу, а когда мой PDF-файл содержит более 1 страницы, остальные поворачиваются неправильно.Вот команда, которую я использую:
cat $psinput | gs -sPAPERSIZE=a4 -sDEVICE=pdfwrite -sOuputFile="/tmp/pdf" \
-dAutoRotatePages="/None" -c "<< /Orientation 3 >> setpagedevice" \
90 rotate 0 -595 translate -dNOPAUSE -dEPSCrop -f - -c -quit
Есть ли у кого-нибудь идеи, как это исправить?
Решение
Не видя своего настоящего $psinput
сложно дать однозначный совет.Ваш $psinput, поступающий через стандартный ввод в Ghostscript, может содержать несколько файлов PS...Вы пробовали играть с одним из этих вариантов?
-dOrient1=true
-dOrient1=false
в вашей командной строке?Кроме того, мне кажется, что вам следует поставить 90 повернуть 0 -595 перевести команда внутри кавычек, идущая с -c
, а затем расположите ввод (-ф-) до самого конца обработки вот так:
-c "<</Orientation 3>> setpagedevice 90 rotate 0 -595 translate" -f - -c quit
Также вы пытались использовать
-c ".setpdfwrite <<//AutoRotatePages /PageByPage>> setdistillerparams"
или-c ".setpdfwrite <<//AutoRotatePages /All>> setdistillerparams"
или-c ".setpdfwrite <<//AutoRotatePages /None>> setdistillerparams"
в вашей командной строке (с исходным вращающимся кодом или без него)?
Другие советы
Если вам не обязательно использовать Ghostscript для вращения, вы, вероятно, можете использовать pdftk или навязывать вместо.