Ghostscriptが誤った方向を誤ったPCLにPDFを変換します
-
21-12-2019 - |
質問
GhostScriptを使用してPCL文書にPDF文書を変換しようとしている問題があります。
元の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カーネルバージョン3.2.0-40 - 汎用64ビットの同じコマンド - しかしGhostscript 9.05を使用すると、オリジナルとしてA4の代わりにサイズA3の誤った方向付けされたPCLファイルが得られます。
元のPDFファイルには、Linuxでも利用可能なWindowsフォント "Arial"が含まれています。パッケージ "MSTTORCEFONTS"はLinuxにインストールされています。これは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 Consoleと同じ出力です。
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
.
私はゴーストスクリプトのようないくつかのオプションを試した
-dFIXEDMEDIA
-dNORAGEPAGESIZE
.
など。
PDF文書をPSに変換するとき、結果は両方の環境で同じです。
誰もがその問題やアイデアで経験をしていますか?
事前にありがとうございました。
解決 2
これは私の場合に機能する可能性のある解決策であるかもしれません。 前提条件:Ghostscriptバージョン8.6.0以上!
GSコマンドではなく、GSラッパー PDF2PS を使用してPDFを変換します。
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
GhostScriptのバージョン8.62および9.05の場合、両方のコマンドはPDF - > PSおよびPDF - > LandscapeとPortraitのPCLのために正しく機能しました。
他のヒント
誰もがオリジナルのPDFファイルを見ることなくすべてを助けることができるので、あなたがバグレポートを開き、そこにPDFファイルを添付することをお勧めします。
いくつかの観察:
-DutorotatePagesのみが、1つを解釈するときではなく、PDFファイルを作成するときだけ効果があります。
スイッチ-dfixメディアは-dfixedmediaであるべきです、同様にNoragePageSizeはNorangePagesSize
にする必要があります。