Ghostscriptを使用してコマンドライン引数でPDFを印刷しています。ただし、印刷されたドキュメントの名前は、プリンタースプーラーのGhostscript出力として表示されます。カスタム名(文字名)に変更したい。
4 に答える
http://www.ghostscript.com/doc/9.06/Devices.htm#Winのドキュメントを参照してください。
特に、セクション 10.2 に例があり、セクション 10.3 で指定できるパラメータの説明があります。ドキュメント名を変更するだけで、次のように実行できます。
mark /UserSettings <</DocumentName (MyDocName)>> (mswinpr2) finddevice putdeviceprops setdevice
これは、例のようにファイルに入れることも、オプションに続く-c
コマンド ラインの文字列にすることもできます。上記の PostScript を設定ファイルに入れる代わりに -c を使用する場合は-f
、入力ファイル名の前の最後のオプションとして入れます。
注:コマンド ラインで を指定しないでください。これはsetdevice によって処理されます。コマンドラインを使用してラップトップでこれをテストしました:-sDEVICE=mswinpr2
gswin32c \
-dNOPAUSE -dBATCH \
-c "mark /UserSettings <</DocumentName (MyDocName)>> (mswinpr2) finddevice putdeviceprops setdevice" \
-f examples/colorcir.ps
この目的のために、セクションの下のこのリンクsetup.ps
のようにファイルを使用する必要があります: 6.2 サポートされているオプション (デバイス プロパティ)
これにより、問題の部分的な解決策が提供されます。これは、おそらくニーズに応じて受け入れられます。
出力サイズを制御するオプションは次のとおりです (マークダウンはスペースを挿入しますが、スペースはありません)。
-dDEVICEWIDTHPOINTS=
w
、-dDEVICEHEIGHTPOINTS=
h
(A4 /レターの場合、それぞれw、h = 595,842 / 612,792)、Ref。-sPAPERSIZE=
size
、参照。-g
number1
x
number2
(number1,number2=5953,8419 / 6120,7920 for A4 / letter, Ref .-dDEVICEWIDTH=
number1
、-dDEVICEHEIGHT=
number2
(番号1、番号2 = 5953,8419 / A4 /レターの場合、それぞれ6120,7920)、参照。
私はそれらのうちの4つをテストし、pdfファイルをpdfに印刷し、(レター - > A4)および(A4 - >レター)に変換しようとしました。私が使用したコマンドラインは
gswin32c -dPDF -dBATCH -dNOPAUSE -dFIXEDMEDIA <size setting flags> -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf
A4 -> レターは常にうまくいきました。
レター -> A4 は幅に対してのみ機能するため、output.pdf
常に 210mm x 279.4mm でした。
たとえば、-dDEVICEWIDTHPOINTS
letter に単独で -> A4 を使用しても同じ結果が得られました。
フラグを追加すること-dPDFFitPage
は、サイズを部分的に調整するのにも役立ちました (私がそうしたい場合)。
私の結論は、Ghostscript には特にレター -> A4 変換に関連するバグがあるということです。gs_setpd.ps
これが(たとえば、this ; これはまだバグである)、または ( -dUseBleedBox
、-dUseTrimBox
、-dUseArtBox
)の狡猾な組み合わせで処理できるかどうか-dUseCropBox
はわかりません。