2014-11-05 118 views
0

我已經編寫了一個處理PDF的Java程序,最後運行以下代碼以優化創建的PDF的文件大小。java.lang.IllegalArgumentException:地圖大小(0)必須> = 1

log.debug("Optimizing the PDF"); 
OptimizationOptions opt = new Document.OptimizationOptions(); 
opt.setRemoveUnusedObjects(true); 
opt.setRemoveUnusedStreams(true); 
opt.setLinkDuplcateStreams(true); 
opt.setCompressImages(true); 
opt.setImageQuality (90); 
pdfDocument.optimizeResources(opt); 

它工作的大部分時間,但最近它引發了以下錯誤java.lang.IllegalArgumentException異常:地圖尺寸(0)必須> = 1。我一直無法使我不能確定複製錯誤作爲其中的代碼行拋出錯誤但我的猜測是

pdfDocument.optimizeResources(opt); 

我的問題是什麼是一些對這個錯誤我一直沒能找到任何這好信息的可能原因。我也很感謝任何鏈接以及給出的任何建議。

+0

** A **您使用哪種API進行PDF處理? ... ** B **請同時顯示異常的堆棧跟蹤。 – mkl 2014-11-06 09:30:01

+0

我使用Aspose進行PDF處理。客戶在測試應用程序時拋出錯誤,不幸的是堆棧跟蹤沒有給我,這就是爲什麼我試圖複製錯誤,但我沒有成功這樣做。 – 2014-11-06 15:36:09

回答

0

很可能,這個錯誤是由一些特定的文檔引起的。最好的解決辦法是

  1. 首先找出哪個文件引起了這個問題。
  2. 然後使用導致此問題的測試文件在Aspose論壇中報告問題。
0

經過很多測試後,它肯定與PDF的大小有關。該代碼完美適用於任何正常大小的PDF,它是開始進入數千頁崩潰頁面的頁面。我不知道Aspose是如何處理它的問題或其他問題,但我會將其升級爲Aspose。

相關問題