首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jpedal jpg2000错误

jpedal jpg2000错误
EN

Stack Overflow用户
提问于 2013-03-20 18:47:58
回答 2查看 1.3K关注 0票数 2

我使用jpedal将pdf转换为图像。这适用于大多数pdf,但有些包含jpeg2000的pdf会继续收到以下错误:

代码语言:javascript
复制
 java.lang.RuntimeException: JPeg 2000 Images needs the VM parameter -Dorg.jpedal.jai=true switch turned on
    at org.jpedal.parser.PdfStreamDecoder.decodeStreamIntoObjects(Unknown Source)
    at org.jpedal.parser.PdfStreamDecoder.decodePageContent(Unknown Source)
    at org.jpedal.PDFtoImageConvertor.convert(Unknown Source)
    at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
    at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
    at com.....

我已经在JAVA_OPTS和tomcat的运行配置中设置了JVM参数,还在程序代码中使用:

代码语言:javascript
复制
System.setProperty("org.jpedal.jai", "true");
PdfDecoder decode_pdf = new PdfDecoder(true);
FontMappings.setFontReplacements();
decode_pdf.openPdfArray(pdf_file);

另外,3个JAI库在我的构建路径上。

所以我不知道我还能做什么?

我的完整转换代码是:

代码语言:javascript
复制
List<BufferedImage> images = new LinkedList<BufferedImage>();           
System.setProperty("org.jpedal.jai", "true");
PdfDecoder decode_pdf = new PdfDecoder(true);
FontMappings.setFontReplacements();
decode_pdf.openPdfArray(pdf_file);
decode_pdf.setExtractionMode(0, 1f); //do not save images
for (int i = 1; i<= decode_pdf.getPageCount(); i++)
{
  images.add(decode_pdf.getPageAsImage(i));
}   
decode_pdf.closePdfFile();

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-27 22:13:28

我找到了这个问题的答案here

在Tomcat环境中,您必须禁用server.xml中的JreLeakPreventionListener,然后它就可以正常工作了。

票数 0
EN

Stack Overflow用户

发布于 2013-04-23 21:43:21

  1. 为jpedal激活jai

System.setProperty("org.jpedal.jai",“true”);

  • 一个更好的解决方案(比马克·斯蒂芬斯博客中的文章更好)是重新注册提供者,因为这只需要做一次:

IIORegistry注册表= IIORegistry.getDefaultInstance();

Registry.registerServiceProvider(新的com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriterSpi());registry.registerServiceProvider(新的com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderSpi());

当然,JAI库需要在类路径中才能正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15521378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档