我有一個從用戶自己的圖像創建PDF書的系統。這些圖像的分辨率很高,最終的pdf大概有70頁,其中大部分都是圖片。ABCPdf使用大量內存並生成大文件。解?
當生成在服務器上的本地應用程序的方法使用衝壓這使得它崩潰更經常然後它成功的周圍的3Gb的PDF。這些文件也非常龐大,大約1,2 Gb。運行它通過印刷到PDF將使它成爲一個小一百倍。
有沒有辦法讓ABCPdf使用更少的內存和創建更小的文件?
我有一個從用戶自己的圖像創建PDF書的系統。這些圖像的分辨率很高,最終的pdf大概有70頁,其中大部分都是圖片。ABCPdf使用大量內存並生成大文件。解?
當生成在服務器上的本地應用程序的方法使用衝壓這使得它崩潰更經常然後它成功的周圍的3Gb的PDF。這些文件也非常龐大,大約1,2 Gb。運行它通過印刷到PDF將使它成爲一個小一百倍。
有沒有辦法讓ABCPdf使用更少的內存和創建更小的文件?
我曾與iTextSharp的,我在那裏基本上耗盡內存隨時隨地的創建包含圖片的大型PDF非常相似的經歷。
我發現有,我應該叫釋放圖像,我與圖像完成後,因爲它持有在內存中的情況下,要再次或直到最後關閉PDF使用它的功能。
要麼重用圖像是當它們存在重複頁眉/頁腳徽標或在旅途中釋放圖像。
這很可能是您所面臨的問題,但我對ABCPdf沒有經驗。
聽起來像一個公平的解決方案,但如何在ABCPdf中做到這一點? – Martin 2010-12-17 11:29:22
@Martin - 我不確定你是怎麼使用它的,但是如果你使用'XImage'類,嘗試調用Clear()和Dispose()函數。我發現它在http://www.websupergoo.com/helppdf7net/source/5-abcpdf6/ximage/default.htm – BeemerGuy 2010-12-17 12:19:02
@Martin - 通過調用它們,我的意思是每次將它們添加到文檔之後。 – BeemerGuy 2010-12-17 12:20:21
我沒有用ABCPdf直接,但我懷疑的是,圖像是你的問題的根源,調整它們都包含在PDF對象之前他們。我懷疑這是一個印刷到PDF的過程將會做什麼。其他
一個說明,對於非常大的PDF文件,你可能會想「線性化」設置爲false。
<pdfDoc.SaveOptions.Linearize = false;>
這優化了網絡流媒體的PDF,所以如果你是流的PDF,那麼你可能要離開它,因爲真的,但我發現它極大地提高了在保存過程中使用的ABCPDF內存。
你使用的是什麼尺寸的文件?什麼決議? PDF頁面大小是多少? – Oded 2010-12-17 10:20:50
因爲它是一個商業產品,請問支持如何:http://www.websupergoo.com/contactus.htm# – 2010-12-17 10:22:15