13

私はこれに対して頭をぶつけてきましたが無駄になりました。

8.5x11インチ(標準の文字)のページに印刷するには、いくつかの大きなPDFを縮小する必要があります。ImageMagick / Ghostscriptはこの種のことを処理できますか、それとも仕事に間違ったツールを使用しているために非常に問題がありますか?

クライアント側の印刷ダイアログで「ページに縮小」オプションだけに依存することは、エンドユーザーにとって使いやすいものにするためのオプションではありません。

4

4 に答える 4

17

私は使用しません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
于 2010-08-09T19:08:11.437 に答える
8

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

縦横比が異なる場合は、少しトリッキーなトリミングを行う必要があります。

于 2009-02-13T19:57:58.920 に答える
7

ImageMagickを使用する際の問題は、ラスターイメージ形式に変換し、ファイルサイズを大きくし、ページ上のベクター要素の品質を低下させることです。

Multivalentは、PDFのベクトル情報を保持します。試す:

java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf

出力ファイルを作成するにはmyFile-up.pdf

于 2009-02-16T14:15:28.130 に答える
6

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
于 2011-04-17T01:23:49.437 に答える