用java实现pdf文件内容读取及解析时如何解压缩stream到endstream之间的压缩数据
第一步直接读取pdf中的内容,得到格式如下内容:%PDF-1.4%〕抛80obj<</Length150/Filter/FlateDecode>>streamx淢尰?E...
第一步直接读取pdf中的内容,得到格式如下内容:
%PDF-1.4
%〕抛
8 0 obj
<</Length 150/Filter/FlateDecode>>stream
x淢尰?E鲈吴v滥"??%Cオ
?$h轱7@剱[鏫咛哺psW磺5侬疚T鱬郧x曔!.?q?t衰?[糔C镂o{c鏄?艪D崘k囿鯜D葧鬕c聝nGwl汹k?輙3|禽娫[塉弁埏挪?怄4?
endstream
endobj
可以看到stream与endstream之间的内容为乱码,这是一串经过压缩的数据,现在的问题是如何将这一串数据解压缩?我试过用java.util.zip中的类来解压缩,但总是报异常:
java.util.zip.ZipException: incorrect header check
好像第一步还需对stream到endstream中的内容进行处理,然后才能解压缩,但是始终不知如何操作。有没有类似经验的人给支个招? 展开
%PDF-1.4
%〕抛
8 0 obj
<</Length 150/Filter/FlateDecode>>stream
x淢尰?E鲈吴v滥"??%Cオ
?$h轱7@剱[鏫咛哺psW磺5侬疚T鱬郧x曔!.?q?t衰?[糔C镂o{c鏄?艪D崘k囿鯜D葧鬕c聝nGwl汹k?輙3|禽娫[塉弁埏挪?怄4?
endstream
endobj
可以看到stream与endstream之间的内容为乱码,这是一串经过压缩的数据,现在的问题是如何将这一串数据解压缩?我试过用java.util.zip中的类来解压缩,但总是报异常:
java.util.zip.ZipException: incorrect header check
好像第一步还需对stream到endstream中的内容进行处理,然后才能解压缩,但是始终不知如何操作。有没有类似经验的人给支个招? 展开
展开全部
下载PDFStreamdumper可以解析一部分的stream部分,你试试看。
我现在正在做这方面的解析论文,等完全解析后根你分享。
我现在正在做这方面的解析论文,等完全解析后根你分享。
追问
终于有回答的靠谱的人了。这个我已经实现了,通过Java提供的类直接解析,但是不是所有的都能成功解析,可能算法没完全实现也可能是文档加密原因。另外我也已经放弃自己实现抽取PDF内容了,虽然最终自己实现的可以成功抽取一些PDF的内容,但是不是所有文档都可以。最终选择通过对PDFBox进行代码修改来满足自己的需求。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用什么方式读取获得的stream
更多追问追答
追问
string或byte[]存储
追答
我的意思是你用的什么类库对dbf文件进行解析的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询