私はこれに対して頭をぶつけてきましたが無駄になりました。
8.5x11インチ(標準の文字)のページに印刷するには、いくつかの大きなPDFを縮小する必要があります。ImageMagick / Ghostscriptはこの種のことを処理できますか、それとも仕事に間違ったツールを使用しているために非常に問題がありますか?
クライアント側の印刷ダイアログで「ページに縮小」オプションだけに依存することは、エンドユーザーにとって使いやすいものにするためのオプションではありません。
私はこれに対して頭をぶつけてきましたが無駄になりました。
8.5x11インチ(標準の文字)のページに印刷するには、いくつかの大きなPDFを縮小する必要があります。ImageMagick / Ghostscriptはこの種のことを処理できますか、それとも仕事に間違ったツールを使用しているために非常に問題がありますか?
クライアント側の印刷ダイアログで「ページに縮小」オプションだけに依存することは、エンドユーザーにとって使いやすいものにするためのオプションではありません。
私は使用しませんconvert
。バックグラウンドで Ghostscript を使用しますが、はるかに低速です。Ghostscript を直接使用すると、はるかに直接的な制御が可能になります (また、.NET では実現がはるかに困難な設定をある程度制御できますconvert
)。PDF から PDF への変換のために convert to work を行うには、Ghostscript がインストールされている必要があります。
gs \
-o /path/to/resized.pdf \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-r300x300 \
-g2550x3300 \
/path/to/original.pdf
ImageMagick の mogrify/convert コマンドは確かに仕事をします。Stephen Page はほぼ正しい考えを持っていましたが、ファイルの dpi も設定する必要があります。そうしないと、仕事が完了しません。
300 dpi のファイルがあり、すでに 8.5 x 11 と同じアスペクト比であると仮定すると、コマンドは次のようになります。
// 300dpi x 8.5 -2550, 300dpi x 11 -3300
convert original.pdf -density "300" -resize "2550x3300" resized.pdf
縦横比が異なる場合は、少しトリッキーなトリミングを行う必要があります。
ImageMagickを使用する際の問題は、ラスターイメージ形式に変換し、ファイルサイズを大きくし、ページ上のベクター要素の品質を低下させることです。
Multivalentは、PDFのベクトル情報を保持します。試す:
java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf
出力ファイルを作成するにはmyFile-up.pdf
Ghostscript のアプローチは私にとってはうまくいきました。(ファイルを Windows PC から Linux コンピューターに移動し、そこで実行しました。) 上記の Ghostscript のサイズ変更コマンドは 8.5 x 11 インチのページを完全に埋めるため、Ghostscript コマンドに小さな変更を加えました。ただし、私のプリンターは端まで印刷できないため、各ページの端に沿って数ミリが失われました。この問題を克服するために、私は PDF ドキュメントを 8.5 x 11 インチの 0.92 に拡大しました。そうすれば、すべてがページの中央に表示され、わずかな余白ができました。0.92 * (2550x3300) = (2346x3036) なので、次の Ghostscript コマンドを実行しました。
gs -sDEVICE=pdfwrite \
-dPDFFitPage \
-r300x300 \
-g2346x3036 \
/home/user/path/original.pdf \
-o /home/user/path/resized.pdf