我有一个pdf,如下所示。我想将段落标记为“段落”。我已经对此进行了大量搜索,并且有一些方法可以从头开始创建标记的pdf,或者将html内容转换为标记的pdf,但是我没有成功标记现有的pdf。
鉴于坐标,我可以用pdf标记内容。在此示例中,我想将段落标记为段落标记。谢谢。
**A sample pdf**
1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonum- my nibh euismod ncidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci taon ullamcorper
sus- cipit lobors nisl ut aliquip ex ea commodo consequat.
PDF不是WYSIWYG格式。 这不是因为您看到计算机程序能够看到它的段落。
实际上,未标记的PDF可能看起来像这样(伪pdf代码):
去位置10,700 将活动字体设置为Times New Roman 将fontsize设置为12 将颜色设置为黑色 绘制字形'H' 去协调10,680 绘制字形'Lorem'
从示例中可以看出,指令不需要按阅读顺序绘制文本。
因此,您面临的第一个挑战是识别段落。我在iText工作,我和Adobe的各个人交谈过。能够识别未标记的PDF文档中的结构并不是一个容易的问题。
一旦你有了这个结构(到'这些字形构成一条线的水平'和'这些线组成一个段'等),这是一个创建StructureTree
的问题
但是因为这个用例(重新标记PDF)从未被认为是可能的,所以iText(或我所知的任何其他PDF库)并不是真的旨在让你(轻松地)做到这一点。
标签本身是PDF内单独数据结构的一部分。标签可以有子项(例如,表示'此段包含这些行')。标签本身将引用作为其一部分的对象(指令组)。
所以你可能有:
为了全面了解,我建议您阅读PDF规范。