Ghostscript преобразует PDF в PCL с неправильной ориентацией
-
21-12-2019 - |
Вопрос
У меня есть проблема, пытающаяся преобразовать документ PDF в документ PCL с помощью Ghostscript.
Оригинальный документ PDF - это ландшафт, и поэтому PCL также должен быть. Тем не менее в Windows с использованием Ghostscript 9.14 со следующими функциями команды:
gswin32 -dNOPAUSE -dBATCH -sDEVICE=ljet4 -dSAFER -dAutoRotatePages=/NONE -sPAPERSIZE=a4 -sOutputFile=./convert_windows.pcl ./duplicate_windows.pdf
.
Тот же команда в Ubuntu Linux INELEL версии 3.2.0-40-универсальный 64 бит - но с ghostscript 9.05 - приводит к неправильному ориентированному файлу PCL-файла A3 вместо A4 в качестве оригинала.
Исходный файл PDF содержит шрифт Windows «Arial», который также должен быть доступен в Linux. Пакет «Msttorcefonts» устанавливается на Linux. Это короткий экстракт fontmap of ghostscript:
cat /usr/share/ghostscript/9.05/Resource/Init/Fontmap.GS
.
дает:
% This font, and only this font among the Hershey fonts, uses
% the SymbolEncoding.
/Hershey-Symbol (hrsyr.gsf) ; % 5066567
/Arial /ArialMT ;
/Arial,Bold /Arial-BoldMT ;
/Arial,Italic /Arial-ItalicMT ;
/Arial,BoldItalic /Arial-BoldItalicMT ;
.
Следующий список показывает выходную строку командной строки Linux, которая является тем же выходом, что и из консоли Windows Ghostscript!
GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
Loading NimbusMonL-Bold font from /usr/share/fonts/type1/gsfonts/n022004l.pfb... 3627296 2211468 1767360 473754 3 done.
Loading NimbusSanL-Bold font from /usr/share/fonts/type1/gsfonts/n019004l.pfb... 3668288 2319461 1807728 497748 3 done.
Loading NimbusSanL-Regu font from /usr/share/fonts/type1/gsfonts/n019003l.pfb... 3800176 2466391 1827912 512832 3 done.
Loading NimbusMonL-Regu font from /usr/share/fonts/type1/gsfonts/n022003l.pfb... 3964224 2617715 1969200 654805 3 done.
Page 2
.
Я Алрею попробовал несколько вариантов ghostscript, как
-dFIXEDMEDIA
-dNORAGEPAGESIZE
.
и другие.
При преобразовании документа PDF в PS результат одинаково в обеих средах.
У кого-нибудь есть опыт с этой проблемой или идеей?
Спасибо заранее и вроде пожелания
Решение 2
Это может быть возможным решением, которое работает в моем случае.
Преобразование PDF в PS не с командой GS, но с GS Wrapper
pdf2ps input.pdf output.ps
.
Но: для ландшафтных документов PDF Это работает только с версии 8.60 или выше! В противном случае ландшафтные документы будут напечатаны в портрете.
Преобразование PDF в PCL сработало для меня, используя следующую команду:
gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=ljet4 -sPAPERSIZE=a4 -sOutputFile=output.pcl -c "<< /InputAttributes << currentpagedevice /InputAttributes get { pop null } forall >> dup 0 << /PageSize [ 595 842 ] >> put >> setpagedevice" save pop -f input.pdf
.
Но: Эта команда основана на документации ошибки ошибки 689919 ghostscript (см. http://bugs.ghostscript.com/show_bug.cgi?id=689919 ) и работает для портретных документов, только если вы установили версию 8,60 или выше. Поскольку у меня есть три разных среды, которые я могу одобрить, что эта команда работает с версии 8.60. Я использовал версии 8.16, 8,62 и 9,05.
Для версий 8.62 и 9.05 Ghostscript Обе команды работали правильно для PDF -> PS и PDF -> PCL для ландшафта и портрета.
Другие советы
Это вряд ли кто-то может вообще помочь, не увидев оригинальный файл PDF, поэтому я бы предложил открыть отчет об ошибках и прикрепить там файл PDF.
Несколько наблюдений:
-дауторы имеет эффект только при создании файла PDF, а не при интерпретации.
Переключатель -dfixmedia должен быть -dfixedmedia, аналогично норным страницам, должно быть norangePagesize