我想编写一些带有PDF文档的(java)代码,并从所有书签创建命名目标.我认为iText API是最简单的方法,但我之前从未使用过API.
您将如何使用iText API编写此类代码?iText可以自己进行操作现有PDF所需的解析吗?我正在考虑的那种操作是:
打开,
查找书签,
创建目的地,
保存,
关.
或者是否有更好的API?
跟进:我几个月前向iText提交了一个补丁(现已被接受并且是HEAD的一部分),它为iText添加了文本解析功能.PdfBox(下面提到)在阅读使用外部参照流而不是旧的外部参照表格式的较新PDF时遇到了问题.
另一个库是在分析现有的PDF文件非常好的是PDFBOX 它也可以用于修改现有的PDF.仅供参考 - 这是Lucene使用的文本解析器.
我还要提到iText 确实能够解析PDF文件,它在解析每个页面上的文本内容时并不是很好.如果您正在寻找用于存储书签等的PDF更高级别的构造(字典等)...而且您不介意在阅读PDF规范时让您的手有点脏,您可以绝对做你要问的事情(我们自己做了很多).
该PDF规格大,但可读的大部分,你不必担心散装的它(这是对实际网页内容和渲染面向)如果你正在尝试做的是提取书签.