web-dev-qa-db-ja.com

Ghostscriptでカスタムページサイズを設定する方法

一部の素材を600 dpi、約9.36x12.67インチでスキャンし、PostScript(PS)形式で準備しました。

PSをPDFに変換しようとすると、GSのデフォルトのページサイズがA4に設定されていると想定して、出力がクリップされます。GSで利用可能なテンプレートがここにあります:- http://www.ghostscript.com/doc/9.06/Use.htm#Known_paper_sizes しかし、PSファイルのサイズに厳密に一致するものはないため、次のようになります。

カスタムサイズを出力するようにGSに指示できますか?

-sPAPERSIZE命令は、リンクされたドキュメントのように、事前定義されたテンプレート名のみを受け入れるようです。

21
theta

使用するページサイズは-gNNNNxMMMMで設定できます。NNMNはpixelsの幅で720 dpi(720ピクセル== 1インチ)、MMMMは720 dpiでの高さです。

または、-dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=hを使用して、PostScriptでカスタムサイズを設定できますpoints(72 points == 1 inch)。

私が間違っていない場合は、9.36インチ≈= 674ポイントおよび12.67インチ≈= 912ポイントです。

入力をページに合わせるために、-dPDFFitPageも適用する必要があります。

だからあなたはどちらかを使うことができます

gs                          \
   -o output.pdf            \
   -sDEVICE=pdfwrite        \
   -dDEVICEWIDTHPOINTS=674  \
   -dDEVICEHEIGHTPOINTS=912 \
   -dPDFFitPage             \
    input.ps

または

gs                   \
   -o output.pdf     \
   -sDEVICE=pdfwrite \
   -r600             \
   -g8112x7596       \
   -dPDFFitPage      \
    input.ps
28
Kurt Pfeifle

私のために働いたもの:

gs -sDEVICE=pdfwrite -r720 -g4308x6066 -dPDFFitPage -o out.pdf in.pdf

4308x6066はピクセル数、-r720は、1インチあたりのピクセル数です。

したがって、ここでは720dpiがあるため、たとえば5インチの場合、これは3600ピクセルになります。

3
Dorian

GhostPDL 9.10を使用しています。私の用紙サイズ8.5x13は http://ghostscript.com/doc/7.07/Use.htm#Known_paper_sizes に「flsa」と記載されていますが、「-sPAPERSIZE = flsa」スイッチは効果がありませんでした。用紙サイズはレターのままでした。 -g5100x7800スイッチの正しい単位は、-r600(720ではありません)と一致しました。 -gは機能します。

1
user2584621

ページを標準の最大サイズであるA0に強制したにもかかわらず、gsが出力をクリッピングしていることがわかりました。

その理由は、gs/groffgropsに送信したPostScriptドキュメントに%%DocumentMedia Ghostscriptの選択を上書きしていた仕様。

解決策は、groffにコマンドラインフラグ-p-P48i,48i-pは、groffにオプションの残りをgropsに渡すように指示します。 -P48i,48i to gropsは、用紙サイズを48インチx 48インチに設定します。

1
MJD