1

高解像度のPDFファイルをサーバーにアップロードしようとしていますが、dpi解像度を下げて、Webアプリケーションにすばやく読み込むことができるように、小さいPDFファイルサイズを生成したいと考えています。

これはiTextSharpでできることですか?または、これを実現できる別のフリーソフトウェアはありますか?

4

2 に答える 2

2

通常、PDF ファイルには DPI がありません。PDF ファイルに埋め込まれたラスター画像はそうです。できることは、PDF ファイルに埋め込まれた画像を抽出し、解像度を下げてサイズを変更し、ファイルに戻すことです。

本iText in Actionには、このトピックに関する章があります。

于 2012-06-26T14:04:00.980 に答える
1

Ghostscript はフリー ソフトウェア (必要に応じて) であり、PDF を好きなようにダウンサンプリングできます (つまり、そのページに埋め込まれている可能性のあるピクセル イメージをダウンサンプリングします)。

すべての画像を 72 dpi にダウンサンプリングするコマンドラインの例 (解像度が 144 dpi を超える場合)。最短のコマンドは使用しませんが、実験できるように、潜在的に有用なすべてのパラメーターを意図的に列挙しようとします。

gs \
  -o downsampled.pdf \
  -sDEVICE=pdfwrite \
  -dColorImageDownsampleThreshold=2.0 \
  -dGrayImageDownsampleThreshold=2.0 \
  -dMonoImageDownsampleThreshold=2.0 \
  -dColorImageDownsampleType=/Bicubic \
  -dGrayImageDownsampleType=/Bicubic \
  -dMonoImageDownsampleType=/Bicubic \
  -dDownsampleColorImages=true \
  -dDownsampleGrayImages=true \
  -dDownsampleMonoImages=true \
  -dColorImageResolution=72 \
  -dGrayImageResolution=72 \
  -dMonoImageResolution=72 \
  -dAutoFilterColorImages=false \
  -dAutoFilterGrayImages=false \
   \
  -dEncodeColorImages=true \
  -dEncodeGrayImages=true \
  -dEncodeMonoImages=true \
  -dColorImageFilter=/DCTEncode \
  -dGrayImageFilter=/DCTEncode \
  -dMonoImageFilter=/CCITTFaxEncode \
   input.pdf

すべてのカラー画像 (つまり、73dpi から 144dpi の画像も)をダウンサンプリングする場合は、 -dColorImageDownsampleThreshold=1.0(Ghostscript のデフォルトは=1.5);を使用します。他の*ImageDownsampleThreshold設定についても同様です。

*ImageDownsampleTypesの場合 -/Averageまたはの値を試すこともできます/Subsample私の提案し/Bicubicた . もちろん、モノクロ、グレー、カラーの画像タイプ間で、解像度、サンプリング タイプ、しきい値にさまざまな設定を自由に使用できます。

于 2012-06-26T23:55:16.150 に答える