11

Ghostscript を使用して、PDF でレンダリングされた単一の図プロットを PNG に変換しています。

gswin32c -sDEVICE=png16m -r300x300 -sOutputFile=junk.png ^
         -dBATCH -dNOPAUSE Figure_001-a.pdf

これは、PNG を出力し、そこにプロットが含まれているという意味で機能します。

ただし、大量の空白も含まれています (ソース画像の例: http://cdsweb.cern.ch/record/1258681/files/Figure_001-a.pdf )。

Acrobat で表示すると、プロットの周りに空白がないことに気付くでしょう。上記のコマンド ラインを使用すると、プロットがスペースの約 1/3 しかないことがわかります。

EPS ファイルで同じことをすると、同じ問題が発生します。-dEPSCropただし、 PS レンダリング エンジンが BoundingBox に注意を向けるようにするために渡すことができるコマンド ライン パラメーターがあります。

PDF のレンダリングにも同様の引数が必要です。私はドキュメントでそれを見つけることができませんでした(また-dEPSCrop、実際には)。

4

3 に答える 3

8

まったく同じ問題がありました。-dUseArtBoxスイッチ追加で直りました。

例:

 /usr/bin/gs -dUseArtBox -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=output.png input.pdf

注: -dUseArtBoxスイッチはGhostscript バージョン 9.07 以降でサポートされています

-dUseArtBox Sets the page size to the ArtBox rather than the MediaBox. The art box defines the extent of the page's meaningful content (including potential white space) as intended by the page's creator. The art box is likely to be the smallest box. It can be useful when one wants to crop the page as much as possible without losing the content.

于 2014-01-04T01:41:05.467 に答える
7

Ghostscript が特定の入力をレンダリングする「メディア サイズ」を制御するためのさまざまなオプションがあります。

-dPDFFitPage
-dUseTrimBox
-dUseCropBox

PDFFitPage を使用すると、Ghostscript は現在のページ デバイス サイズ (通常はデフォルトのページ サイズ) にレンダリングされます。UseTrimBox を使用すると、TrimBox が使用されます (同時に PageSize がその値に設定されます)。UseCropBox を使用すると、CropBox が使用されます (同時に PageSize がその値に設定されます)。デフォルト (パラメーターを指定しない) では、Ghostscript は MediaBox を使用してレンダリングします。

あなたの例では、追加"-dUseCropBox"すると期待どおりの仕事ができるようです。

"-sPAPERSIZE"(Ghostscriptが認識しているすべての定義済みの値の中から選択する)または(柔軟性を高めるために) use を使用して、出力の全体的なサイズをさらに制御できることに注意してください"-dDEVICEWIDTHPOINTS=NNN -dDEVICEHEIGHTPOINTS=NNN"

于 2010-06-05T17:30:26.967 に答える
0

pdftex (たとえば texlive に付属) または (まだ試していない) python スクリプトpdfcropを使用してpdfcropを使用してみましたか?

前述の最初のツールを使用した同様のワークフローがあります。

于 2010-04-17T14:01:06.973 に答える