2010-12-17 10 views
2

私は自分の画像からPDFブックを作成するシステムを持っています。画像は高解像度で、pdfはほとんど70枚の画像で終わります。ABCPdfは大量のメモリを使用し、膨大なファイルを生成します。溶液?

サーバー上のローカルアプリケーションでpdfを生成する場合、プロセスは約3GBのRAMを使用します。これにより、より頻繁にクラッシュするようになり、成功します。ファイルは1,2Gbくらいの非常に巨大です。それをpdfにプリントして実行すれば、100倍も小さくなります。

ABCPdfのメモリ使用量を減らし、ファイルサイズを小さくする方法はありますか?

+1

あなたはどのサイズのファイルを使用していますか?どの解像度ですか? PDFページのサイズは? – Oded

+2

これは商用製品であるため、サポートを求めるのはどうすればいいのですか?http://www.websupergoo.com/contactus.htm# –

答えて

1

私はiTextSharpで非常によく似た経験をしています。そこには画像が入った大きなPDFを作成するたびにメモリが不足していました。

私は、イメージを使ってイメージを完成した後、イメージを解放するために関数を呼び出す必要があることがわかりました。

ヘッダー/フッターのロゴを繰り返している場合は画像を再利用するか、外出先で画像を放棄してください。
あなたが直面している問題の可能性が最も高いですが、ABCPdfでの経験はありません。

+0

ABCPdfでは、公正な解決策のようですが、どうやったらいいですか? – Martin

+0

@Martin - どのように使用するのかは分かりませんが、 'XImage'クラスを使用している場合は' Clear() 'と' Dispose() '関数を呼び出すようにしてください。私はhttp://www.websupergoo.com/helppdf7net/source/5-abcpdf6/ximage/default.htm – BeemerGuy

+0

@Martinで見つけました。それらを呼び出すことによって、ドキュメントに追加した直後に毎回そのことを意味します。 – BeemerGuy

1

私はABCPdfを直接使用していませんが、イメージがあなたの問題の原因であると思われ、PDFオブジェクトにインクルードされる前にサイズを変更すると思われます。私は、それがPDFへの印刷プロセスが何をしているのだろうと思う。

1

非常に大きなPDFでは、「線形化」をfalseに設定したい場合があります。

 <pdfDoc.SaveOptions.Linearize = false;> 

これは、Webストリーミング用のPDFを最適化しますので、あなたは、PDFをストリーミングしている場合、あなたは真、それを残しておきたいかもしれませんが、私はそれを大幅に節約する時にABCPDFによって使用されるメモリが増加見つけました。

関連する問題