2014-11-05 65 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。

相关问题