2016-10-19 6 views
0

pdfs/epsをピクセルイメージに変換するにはImageMagickを使用します。 PDFを変換する場合、コマンドは次のようになります。ImageMagick/Ghostscriptを使用する場合のPDFラスタライズサイズの制限方法

convert -verbose -density 150 -trim -colorspace sRGB input.pdf -quality 90 -flatten -sharpen 0x1.0 output.png 

をただし、(ほんの数のパスが含まれている)の入力PDFは200センチメートルで300センチメートルの指定されたサイズを有し、Ghostscriptがこれを好きではない、と作成されます巨大なpng。 ImageMagickのの冗長出力はこれを示しています

"gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r150x150" "-sOutputFile=/tmp/magick-3036AW7mUOP25w7J%d" "-f/tmp/magick-3036PxgJinljqMwV" "-f/tmp/magick-30369hcErAROr7V6" 
/tmp/magick-3036AW7mUOP25w7J1 PNG 17717x11811 17717x11811+0+0 8-bit sRGB 1.003MB 3.910u 0:03.929 
input.pdf PNG 17717x11811 17717x11811+0+0 16-bit sRGB 1.003MB 0.000u 0:00.000 

PNG 17717x11811。巨大な私は256x256イメージが必要です。

私は、異なる構成のジオメトリ(-geometry 256×256)のオプションと密度のオプション(ファイル名の前には、-density 150)を試してみましたが、私は、たとえば、Ghostscriptの出力を変更しない:

convert -verbose -density 150 -trim -geometry 265x265 -colorspace sRGB input.pdf -quality 90 output.png 
"gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r150x150" "-sOutputFile=/tmp/magick-3233p3ofct0fiy5T%d" "-f/tmp/magick-3233Rads_vSSpKa6" "-f/tmp/magick-3233LQMrrEFgT0fi" 
/tmp/magick-3233p3ofct0fiy5T1 PNG 17717x11811 17717x11811+0+0 8-bit sRGB 1.003MB 3.800u 0:03.799 
input.pdf PNG 17717x11811 17717x11811+0+0 16-bit sRGB 1.003MB 0.000u 0:00.000 
input.pdf=>output.png PNG 17717x11811=>265x38 321x213+28+65 16-bit sRGB 7.96KB 1.080u 0:00.559 

ImageMagickの使用時にGhostscriptの制約をどのように定義できますか?

+1

'-geometry'ではなく' -resize'を使って 'convert ... input.pdf ... -resize 256x256 result.png'を試してください。 –

答えて

0

私は 'Ghostscriptはこれが好きではありません'とは言いませんが、メディアサイズが大きい場合、もちろんGhostscriptは巨大なPNGを作成します。

300cmは118.11インチで、150dpiでビットマップ17716.5で、または17717ピクセルに切り上げられます。

200 cmは78.74インチで、150 dpiで11811ピクセルになります。

解像度を下げたい場合は、ImageMagickの-r( 'density')の設定を変更してください。たとえば、「密度10」を設定すると、1181x787のファイルが生成されます。 256x256を取得するには、解像度を〜2 dpiに設定する必要があります。結果が粗い場合には詳細を見るのが難しいことはもちろんです。

また、Ghostscriptに必要なメディアのサイズを伝え、「FIXEDMEDIA」と言って、PostScriptプログラムやPDFファイルからの要求に応じて変更しないように伝えることができます。

-gはメディアのサイズをピクセル単位で設定し、-dFIXEDMEDIAはメディアが固定されていることをGhostscriptに通知します。ほとんどの場合、-dFitPageも設定したいと思うでしょう。そうしないと、左下隅の小さな部分しか得られません。また、ではなく、 -rを設定する必要があります。

-dFIXEDMEDIA -gと-rあなたのGhostscriptのインストールの年齢に応じて、ghostscriptのdocumentation

あなたが-dFitPageを使用することはできないかもしれないが、あなたが使用する必要がありますにuse.htmに記述されている-dPDFFitPage 。

ほとんどの場合、ImageMagickの代わりにGhostscriptを使ってコマンドラインからやりたいと思いますが、IMでコマンドラインを構築するのは難しいと思います。

関連する問題