2009-08-04 41 views
9

.NET用の高速PDF圧縮ライブラリが必要です。これにより、別々のPDFファイルを元のサイズの約10%に圧縮する10個の同時スレッドを実行できます。助言がありますか? (私はすでにneeviaPDF.comから製品を試しましたが、必要なだけ速くはありません)。.NET用高速PDF圧縮ライブラリ

+0

PDFを圧縮することもできますか? :( –

答えて

2

同社のウェブサイトには3つの例があります.1つはpdfを9.1MBから133kbに圧縮します。メモ帳でそれらを開くと、FlateDecodeで圧縮された2500x3000の1つの黒い画像が、JPEG2000で圧縮された同じサイズの画像に変換されて表示されます。この種の圧縮率は、おそらく最良のシナリオです。他の2つの例はより合理的です。 341kb〜744kb〜804kb。また、設定のスクリーンショットも含まれています。 3つすべての例でチェックされたものには警告が含まれています: "VERY SLOW !!!"しかし、良い製品のように見えます。 Web最適化を含む、すべての適切な処理を行います。

あなたのpdfsの内容があらかじめわかっていてイメージが重くなければiTextSharpを使ってソリューションを手作りしてpdfsを組み込む方法を利用しなければ、元の10%はありそうもありません。

コンポーネントの動作が気に入っていて、スレッドセーフではない場合、10個の別個のプロセスを作成するだけではどうですか?大量の画像がある場合は、メモリ不足のエラーに注意してください。

0

ApagoのPDFシュリンクを試してください。これは商用製品で、マルチコアCPUを使用したPDF圧縮をサポートしています。

0

MoroviaのPDFLeoは、PDFを小さなサイズに圧縮することができます。これは、データストリーム圧縮とオブジェクトストリームという2つの主要な手法を採用しています。それによるとmanual

  • 未使用のオブジェクトを削除します。未使用のオブジェクトは破棄されます。増分更新によってPDF が作成された場合、多くのオブジェクトは必要ありません。 インクリメンタルアップデートは、処理アプリケーションが の定義を削除せずにファイルの最後に変更を追加できるようにする機能です。このテクニックは、メモリ使用量を減らし、ファイルサイズが大きいほど大きくなります( )。
  • オブジェクトをコンパクトな構文で記述する。 PDFLeoは、コンパクトな構文を使用して 出力を書き込みます。余分な空白は削除されます。 16進文字列はよりコンパクトなバイナリ 表現で書かれています。
  • 圧縮ストリーム。 pdfleoを指定すると、そのまま保持する必要のある人を除くすべてのストリームが に圧縮されます。
  • オブジェクトストリーム。非 ストリームオブジェクトを特殊なオブジェクトストリームに配置し、 を圧縮することができます。
関連する問題