一部の素材を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
命令は、リンクされたドキュメントのように、事前定義されたテンプレート名のみを受け入れるようです。
使用するページサイズは-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
私のために働いたもの:
gs -sDEVICE=pdfwrite -r720 -g4308x6066 -dPDFFitPage -o out.pdf in.pdf
4308x6066
はピクセル数、-r720
は、1インチあたりのピクセル数です。
したがって、ここでは720dpiがあるため、たとえば5インチの場合、これは3600ピクセルになります。
GhostPDL 9.10を使用しています。私の用紙サイズ8.5x13は http://ghostscript.com/doc/7.07/Use.htm#Known_paper_sizes に「flsa」と記載されていますが、「-sPAPERSIZE = flsa」スイッチは効果がありませんでした。用紙サイズはレターのままでした。 -g5100x7800スイッチの正しい単位は、-r600(720ではありません)と一致しました。 -gは機能します。
ページを標準の最大サイズであるA0に強制したにもかかわらず、gs
が出力をクリッピングしていることがわかりました。
その理由は、gs
/groff
がgrops
に送信したPostScriptドキュメントに%%DocumentMedia
Ghostscriptの選択を上書きしていた仕様。
解決策は、groff
にコマンドラインフラグ-p-P48i,48i
。 -p
は、groff
にオプションの残りをgrops
に渡すように指示します。 -P48i,48i
to grops
は、用紙サイズを48インチx 48インチに設定します。