2017-02-21 18 views
0

У меня есть файл PDF, который мне нужно изменить ориентацию от пейзажа к портрету, используя эту команду GS. Переключатель Orientation не меняет ориентацию. Есть ли дополнительная настройка, которую мне нужно добавить?Ghostscript изменен Ориентация от пейзажа к портрету

::Path to your Ghostscript EXE 
set GSC="C:\Program Files (x86)\gs\gs9.16\bin\gswin32.exe" 

%GSC% -sDEVICE=pdfwrite -sOutputFile="D:\TRANS\PDF\2_ZNOR_00000000000000000070.pdf" -dNOPAUSE -dEPSCrop -c "<</Orientation 3>> setpagedevice" -f "D:\TRANS\PDF\1_ZNOR_00000000000000000070.pdf" 

ответ

0

Большинство переключателей, которые вы используете, не будет иметь никакого эффекта, и вы ничего, чтобы повернуть файл PDF или не сделано.

Первое, что нужно отметить, это то, что Ghostscript - действительно неправильный инструмент для этой работы, это не изменить PDF-файлы, он генерирует совершенно новые. Процесс описан here

Переключатель -dEPSCrop действует только в том случае, если вход является файлом EPS, иначе он ничего не делает.

Операнды setpagedevice неверны, вы передаете пустую шестую строку <>, когда setpagedevice ожидает словарь <<>>. Даже тогда пустой словарь ничего не сделает.

Ожидаю, что вы намеревались поставить <</Orientation 1>> setpagedevice, но на самом деле это только запрос соответствия медиа. Чтобы получить Ghostscript для создания повернутого PDF-файла, вам придется изменить размер носителя, установить его на фиксированный и установить -dFitPage. Вам также необходимо установить переключатель AutoRotatePages в None, чтобы предотвратить автоматическую переориентацию вывода, чтобы текст был горизонтальным.

Поскольку вы не предоставили PDF-файл для просмотра или не указали его размер носителя, я могу только догадываться о размерах. Тем не менее, что-то вроде

gswin32c.exe -sDEVICE=pdfwrite -sOutputFile=new.pdf -dDEVICEHEIGHTPOINTS=612 -dDEVICEWIDTHPOINTS=792 -dFitPage -dAutoRotatePages=/None input.pdf 
+0

Размер PDF страницы является 11.00x8.5 ины, что такое dDEVICEHEIGHTPOINTS и dDEVICEWIDTHPOINTS переключатель для? –

+0

Переключатели DEVICE * POINTS устанавливают носитель в фиксированный размер (я забыл добавить -dFIXEDMEDIA, вам это тоже понадобится). Это ** ** содержится в документации. Если вы хотите изменить 11x8,5 - 8.5x11, вам нужно будет транспонировать числа, WIDTH = 612 HEIGHT = 792. – KenS

+0

Спасибо за помощь @KenS, я могу RotatePages, но она обрезается вверху, а размер страницы - 8.5x8.5. –