Ghostscript 잘못된 오리엔테이션으로 PDF를 PCL로 변환합니다
-
21-12-2019 - |
문제
PDF 문서를 고스트 스크립트를 사용하여 PCL 문서로 변환하려는 문제가 있습니다.
원래 PDF 문서는 가로이므로 PCL이 있어야합니다. 그럼에도 불구하고 다음 명령을 사용하여 GhostScript 9.14를 사용하는 Windows에서 다음을 수행하십시오.
gswin32 -dNOPAUSE -dBATCH -sDEVICE=ljet4 -dSAFER -dAutoRotatePages=/NONE -sPAPERSIZE=a4 -sOutputFile=./convert_windows.pcl ./duplicate_windows.pdf
.
Ubuntu Linux 커널 버전 3.2.0-40-generic 64 비트에서 동일한 명령 - Ghostscript 9.05가있는 경우 A4 대신 A3의 크기 A3의 잘못된 Orientateed PCL 파일이 잘못되었습니다.
원래 PDF 파일에는 Windows 글꼴 "Arial"이 포함되어 있으며 Linux에서 사용할 수 있어야합니다. 패키지 "msttorcefonts"는 Linux에 설치됩니다. 이것은 Ghostscript의 fontmap의 짧은 추출물입니다.
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 ;
.
다음 목록은 Windows Ghostscript 콘솔에서와 동일한 출력 인 Linux 명령 행의 출력을 보여줍니다!
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
.
i Aldyy는
와 같은 고스트 스크립트의 여러 옵션을 시도했습니다.-dFIXEDMEDIA
-dNORAGEPAGESIZE
.
및 기타.
PDF 문서를 PS로 변환 할 때 결과는 두 환경에서 동일합니다.
누구든지 그 문제 또는 아이디어에 대한 경험이 있습니까?
미리 감사 드리며 친절한
해결책 2
이것은 가능한 해결책 일 수 있습니다.이 해결책은 내 경우에 작동합니다. 전제 조건 : Ghostscript 버전 8.6.0 이상!
PDF를 GS 명령으로 사용하지 않고 GS 래퍼 pdf2ps 의 PDF2PS :
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
.
그러나 이 명령은 Ghostscript의 버그 버그 689919의 설명서를 기반으로합니다 ( 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 -> PS 및 PDF -> PCL에 대해서는 가로 및 초상화를 위해 올바르게 작동했습니다.
다른 팁
누구든지 원래 PDF 파일을 보지 않고도 도움이 될 수 있으므로 버그 보고서를 열고 PDF 파일을 첨부하는 것이 좋습니다.
몇 가지 관찰 :
-dautorotatePages는 PDF 파일을 생성 할 때만 효과가 있으며, 하나를 해석 할 때 아닌
스위치 -DFIXMedia는 -DFIXEDMEDIA 여야합니다. 마찬가지로 NORAGEPAGESIZE는 NORANGEPAGESIZE