![]() |
1
3
我只是事先警告你,你可能对此感到失望。IText并不是真正打算用作解析器。它更适合创造 完全新的 PDF文档,但你可以随便看看。 首先,使用IText,您将无法修改现有的PDF文档。你什么 可以 不过,要做的是用您想要的附加功能制作一个副本。(如果有人更了解, 拜托 让我知道,这让我发疯。) 您将要做的是从源文件的输入流创建一个pdfrider对象。然后为您的目的地创建一个pdfcopy对象(它只是一个扩展的pdfwritter,使从现有源获取数据更加方便)。 据我所知,书签根本无法从IText获取。可能需要另一个图书馆。我想 jpedal 可能具有提取它们的能力(它可以将它们作为XML文档获取,然后您可能需要对其进行解析以获得所需的内容)。但是,您可以将它们添加到java.util.list中,并将该列表设置为pdfcopy上的大纲。书签本身就是带有一组特定键的哈希图。我不确定所有的值都是什么,但它们包括“标题”、“操作”(似乎是您指定这是一个命名目标的位置,尽管我不知道该值是什么)和“uri”(如果这是一个外部链接,则使用这个值--我怀疑这将指定您链接到的命名目标的名称)。同样,这些细节也很难找到。 然后迭代读卡器的页面,将每个页面导入到pdfcopy。 this page 也许会帮助你。 对不起,我对你没什么帮助。祝你好运。 另外,如果有人知道更好的工具是GPL或BSD许可的,我很想听听。 |
![]() |
2
5
接下来:几个月前我向IText提交了一个补丁(它现在已经被接受,是head的一部分),它为IText添加了文本解析功能。PDFBOX(以下提到)已经(有?)读取使用外部参照流而不是旧的外部参照表格式的较新PDF时出现问题。 另一个图书馆 是 非常擅长分析现有的PDF文件是 PdfBox 它还可以用于修改现有的PDF。仅供参考-这是Lucene使用的文本解析器。 我还要提一下 做 有能力解析一个PDF文件,它只是不擅长解析每个页面上的文本内容。如果要访问用于存储书签等的PDF高级结构(字典等…)。你不介意在阅读PDF规范时弄脏你的手,你完全可以按照你的要求去做(我们自己做了很多)。 这个 PDF Spec 很大,但大部分内容都是可读的,如果您只想提取书签,那么您不必担心其中的大部分内容(面向实际页面内容和呈现)。 |
![]() |
qouify · 将PDF转换为具有透明度的PNG 4 月前 |
![]() |
Yoko · 试图用Javascript在表格中发送多个PDF块 5 月前 |
|
SrinivasR · 有没有办法检查pdf文件中的颜色空间 10 月前 |
![]() |
Luka · 如何使更新的文本以粗体显示(Python) 10 月前 |
![]() |
David_E · 根据另一张图纸中的特定值创建循环并保存PDF 1 年前 |