5

Ghostscriptを使用してコマンドライン引数でPDFを印刷しています。ただし、印刷されたドキュメントの名前は、プリンタースプーラーのGhostscript出力として表示されます。カスタム名(文字名)に変更したい。

4

4 に答える 4

3

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
于 2012-09-10T16:19:01.197 に答える
2

この目的のために、セクションの下のこのリンクsetup.psのようにファイルを使用する必要があります: 6.2 サポートされているオプション (デバイス プロパティ)

于 2012-11-08T04:30:08.517 に答える
1

これにより、問題の部分的な解決策が提供されます。これは、おそらくニーズに応じて受け入れられます。

出力サイズを制御するオプションは次のとおりです (マークダウンはスペースを挿入しますが、スペースはありません)。

  1. -dDEVICEWIDTHPOINTS=w-dDEVICEHEIGHTPOINTS=h (A4 /レターの場合、それぞれw、h = 595,842 / 612,792)、Ref

  2. -sPAPERSIZE=size参照

  3. -gnumber1xnumber2 (number1,number2=5953,8419 / 6120,7920 for A4 / letter, Ref .

  4. -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 でした。

たとえば、-dDEVICEWIDTHPOINTSletter に単独で -> A4 を使用しても同じ結果が得られました。

フラグを追加すること-dPDFFitPageは、サイズを部分的に調整するのにも役立ちました (私がそうしたい場合)。

私の結論は、Ghostscript には特にレター -> A4 変換に関連するバグがあるということです。gs_setpd.psこれが(たとえば、this ; これはまだバグである)、または ( -dUseBleedBox-dUseTrimBox-dUseArtBox)の狡猾な組み合わせで処理できるかどうか-dUseCropBoxはわかりません。

于 2020-04-10T11:16:01.873 に答える