1
16
从PDF文件中提取内容可能会有点复杂。我每天都做这件事,我想我能给你指出正确的方向。
它的工作方式是从目录开始,解析页面树。一旦识别了页面对象,就可以分析其内容和资源。资源字典包含页面使用的字体列表。每个CID字体对象都包含一个ToUnicode流,这是一个cmap(字符映射),它建立字形索引与其Unicode值之间的关系。例如:
这意味着glyph 01是Unicode U+0044,glyph 02是U+0061,依此类推。您必须使用这个查找表将glyph id转换回Unicode。
页面内容本身有两个重要的运算符。这个
另一个有趣的操作符是文本显示(通常
当然,我把这个过程过于简单化了,因为有几十种不同的标准编码、自定义编码(differential或ToUnicode),我们甚至没有接触过阿拉伯语、印地语、垂直日语字体、Type3字体等。有时文本根本无法提取,因为它是故意弄乱的。 |
batman · 如何用特定模式grep特定行及其子网行? 2 年前 |
Jensen Holm · 在非常大的字符串中查找链接时遇到问题 2 年前 |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
user10717742 · 用java编写的自定义文件解析器需要改进 2 年前 |
Muhsin Muhammed · 向文件中的行添加引号和逗号 2 年前 |
Felkru · 添加字符串会在Javascript中返回空字符串 2 年前 |
Mustard Tiger · 熊猫解析文本列 2 年前 |