pdfbox转图片错误

eclipse2011 2011-04-02 10:25:26
我用pdfbox做pdf转jpg图片的时候。 报了如下错误

在加载PDF文件请等待...
org.apache.pdfbox.exceptions.WrappedIOException
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:238)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:862)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:829)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:800)
at com.p2j.P2JChanger.getPageNums(P2JChanger.java:30)
at com.p2j.P2JChanger.excute(P2JChanger.java:55)
at com.p2j.P2J.main(P2J.java:42)
Caused by: java.lang.OutOfMemoryError: Java heap space
at org.apache.pdfbox.io.RandomAccessBuffer.write(RandomAccessBuffer.java:117)
at org.apache.pdfbox.io.RandomAccessFileOutputStream.write(RandomAccessFileOutputStream.java:108)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.FilterOutputStream.close(FilterOutputStream.java:140)
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSStream(BaseParser.java:448)
at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:542)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:180)
... 6 more

在网上查了一下, 好像是要安装patch补丁,补丁内容如下。

Index: src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
===================================================================
--- src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (revision 773978)
+++ src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (working copy)
@@ -351,6 +351,11 @@
byte[] buffer = new byte[ENDSTREAM.length];
int nextIdx = pdfSource.read(buffer) % buffer.length;

+ if(nextIdx < 0) {
+ pdfSource.unread( ENDSTREAM );
+ return;
+ }
+
while(byteRead != -1 ) {
if (cmpCircularBuffer( buffer, (nextIdx-ENDSTREAM.length + buffer.length)%buffer.length, ENDSTREAM )) {
pdfSource.unread( ENDSTREAM );


请问我怎么安装,这个补丁到。 我的pdfbox.jar文件中。来修复这个问题
...全文
375 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
easyroom 2011-04-12
  • 打赏
  • 举报
回复
没用过这个
不过既然jar包要么是可以执行的,你直接双击
要么是引用的,你把它和别的依赖的JAR一样放到Lib里面就好了

679

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧