У меня есть PDF в альбомной ориентации, который нужно напечатать на этикетке Zebra в портретном режиме?Что я должен делать? - PullRequest
1 голос
/ 18 апреля 2019

Я использую GhostScript для печати этикетки в формате PDF на принтер Zebra Label. Но PDF находится в альбомной ориентации и поэтому неправильно напечатан на этикетке. Я хочу повернуть PDF в книжной ориентации, используя Ghostscript, и распечатать.

Я пробовал много вариантов, таких как "-dNORANGEPAGESIZE" ,"-c ".setpdfwrite <<//AutoRotatePages /All>> setdistillerparams"","-dEPSCrop -c "<</Orientation 0>> setpagedevice"", но ничего не получалось. Есть ли способ заставить эту работу?

%GSC% -dPRINTED -q -dSAFER -dBATCH -dNOPAUSE -dDEVICEWIDTHPOINTS=%5 -dDEVICEHEIGHTPOINTS=%6 -sDEVICE=%2 %PAGE_SIZE% %OUTPUT_FILE% "%~1" -c ".setpdfwrite <<//AutoRotatePages /All>> setdistillerparams"

: End

Я предполагаю, что PDF следует повернуть в книжную ориентацию, используя Ghostscript

1 Ответ

0 голосов
/ 18 апреля 2019

Это не ясно из вашего вопроса, что именно вы делаете.Вы указали командную строку, в которой значимые записи остаются с именами переменных пакетного файла (например,% 5,% 6 и т. Д.).

Вы говорите, что используете Ghostscript, чтобы «напечатать мою PDF-этикетку на принтере Zebra Label»и все же командная строка не включает устройство принтера зебры, ни устройство mswinpr2.На самом деле он использует устройство pdfwrite.Это означает, что Ghostscript создает файл PDF , а не печатает на принтере.

Первое, что я хотел бы предложить, - это сделать файл примера доступным (и опубликовать URL-адрес здесь).

Далее следует четко указать, какую командную строку вы используете (и со всеми переменными, заполненными реальными значениями!).Тогда мы можем увидеть, в чем проблема, и воспроизвести ее.В противном случае все будет угадано.

Теперь, похоже, что ссылка на принтер Zebra является неправильным, кажется, что вы пытаетесь создать новый PDF-файл, который был повернут.Вероятно, это не лучшая идея в мире.Если это вообще возможно, вы должны продолжать использовать исходный файл PDF и изменить настройки печати так, чтобы он работал.

Однако, если по какой-то причине это невозможно, тогда , если выНапример, если параметры верны, Ghostscript может это сделать.

Во-первых, -dEPSCrop не окажет какого-либо влияния на ввод PDF, поскольку обрезает ввод EPS.

** Далее один тысяча двадцать один;<</Orientation 0>> setpagedevice, по сути, не используется, по умолчанию ориентация равна 0, поэтому вы изменили ее на настройку по умолчанию.Установка его в 1 **, ight * дает эффект, но я сомневаюсь в этом.

Фрагмент PostScript <<//AutoRotatePages /All>> setdistillerparams почти наверняка является полной противоположностью того, что вы хотите.Это заставляет Ghostscript пытаться поворачивать страницы так, чтобы на большинстве страниц в выводе текст располагался горизонтально.Если у вас PDF в альбомной ориентации, текст почти наверняка уже горизонтальный (конечно, из-за отсутствия примера я не могу этого сказать).Так что это ничего не даст.

Вы, вероятно, хотите <<//AutoRotatePages /None>> setdistillerparams или, проще, -dAutoRotatePages=/None.Это останавливает устройство pdfwrite, поворачивающее страницы, когда вы этого не ожидаете.

Конечно, все еще не будет иметь никакого эффекта (если я неправильно читаю фрагмент командного файла) потому что он приходит после имени входного файла.Таким образом, Ghostscript обработает входной файл и переключатели до этой точки, затем обработает следующий PostScript, введенный ключом -c, и завершит работу.AutoRotatePages будет влиять на любой ввод после него, а не до него.

...