我正在寻找一种方法来使用itext提取文本以及锚信息。
例如
PDF背景:您可以访问我们的网站XYZ,并执行某些操作。
输出应该是:您可以访问我们的网站,XYZ(www.google.com),并做一些事情。
基本上我正在尝试使用目标链接信息生成文本文件。
此致 Lalit Kumar
答案 0 :(得分:2)
您可以在PDF文件中看到的静态文本使用PDF语法存储在内容流中,如Adobe的成像模型中所述。
您可以在PDF文件中看到的互动功能使用轮播对象系统(COS)存储在所谓的注释词典中的页面内容流之外。
您可能会假设当您看到itextpdf.com之类的内容时,PDF中会出现类似<a href="http://itextpdf.com/">itextpdf.com</a>
的内容。
没有。
会有类似的东西:
/F1 12 Tf
(itextpdf.com )Tj
包含页面/Contents
的内容流中的某个位置。
当您检查页面的/Annots
时,您会发现类似的内容:
<<
/A<<
/S/URI
/URI(http://itextpdf.com)
>>
/Subtype/Link
/C[0 0 1]
/Border[0 0 0]
/Rect[36 803.52 98.03 814.62]
>>
作为PDF文件中的对象。
如果要从文档中提取所有链接和相应的文本,则需要遍历所有页面词典,获取/Annots
,检查哪些注释属于子类型/Link
,获取动作(/A
)和坐标(/Rect
)。
要知道哪个文本与文本对应,您需要使用带有&#34;区域文本的#ext文本解析器类&#34;策略并在/Rect
条目定义的位置提取文本。
如评论中的GPRathour所示,您应该展示您尝试过的内容。如果你的下一个问题是&#34;你可以提供代码样本吗?&#34;你的问题可能会被低估或关闭。如果你研究http://itextpdf.com上的例子,你会发现其中一些会让你非常接近解决方案。