2011-11-15 7 views
6

ghostscriptを使用して.psファイルを一連の.pngファイルに変換しようとしています。ghostscriptのページサイズに合わせる(入力が壊れている可能性があります)

これは私が使用したコマンドです:

gs -dBATCH -dEPSCrop -dEPSFitPage -sDEVICE=png16m -r300 -dNOPAUSE -sOutputFile=neptune_111115_ob1-2_13pca_boloplots_%d.png neptune_111115_ob1-2_13pca_boloplots.ps 

を(.PSファイルがマルチページ追伸です)。

出力は部分的にページ外です。画像をページ内に収めたい

私はサンプルファイルを含めることができますが、かなり大きいです。役に立つでしょう。.psファイルの特定の部分はありますか?

私の疑問は、.psファイルがバウンディングボックスを間違って指定していることですが、BB値をハッキングしても効果はありません。 .psファイルはIDL(ittvis 'Interactive Data Language)によって書かれています。私は運行なしで上記のコマンドを-dEPS *コマンドなしで試してみました。

答えて

12

-dEPSCrop-dEPSFitPageは、相互に排他的です:

  • 一つは、コメントで指定さにBoundingBoxにEPSをトリミング。
  • もう1つは、PSファイルの内部コメントに指定されている%%BoundingBoxから現在のメディアに合わせてEPSを拡大/縮小します。

実際に両方を同時に使用することはできません。

EPSファイルに複数のページを含めることはできないため、このファイルはEPSファイルにすることはできません。だから実際にはどちらのスイッチも効果はありません(あなたが発見したように)。

PostScriptはsetpageまたはsetpagedeviceを使用してメディアサイズを要求するか、現在設定されているメディアを使用します。私の推測では、現在のメディアを使用しているだけです。 -sPAPERSIZE=a4-sPAPERSIZE=letterを設定してみてください。

これが機能する場合、プログラムはメディアサイズを要求しません。効果がない場合は、後でメディアサイズを変更する要求を無視して、さらに-dFIXEDMEDIAと設定します。

正しいメディアサイズを指定できるようにする必要があります。メディアサイズがわからない場合は、Ghostscript -sDEVICE=bboxデバイスを使用して見つけることができます。

最後に、Ghostscriptには、最初にPNGに行かずにレンダリングされた出力を表示するための基本的な表示デバイスがあります。

+0

Kenさん、EPSコマンドが何をしたのか正確には分かりませんでした。しかし、私はペーパーサイズと固定メディアの両方で運がないと試しました。 gsビューアは、部分的にページから数字を表示します。 – keflavich

+0

コメントするにはファイルを参照する必要がありますが、FIXEDMEDIAスイッチを回避する方法はわかりません。あなたは両方の方法で設定し、まず用紙サイズを設定する必要があります。どのバージョンのGhostscriptを使用していますか? – KenS