|
|
1
16
从PDF文件中提取内容可能会有点复杂。我每天都做这件事,我想我能给你指出正确的方向。
它的工作方式是从目录开始,解析页面树。一旦识别了页面对象,就可以分析其内容和资源。资源字典包含页面使用的字体列表。每个CID字体对象都包含一个ToUnicode流,这是一个cmap(字符映射),它建立字形索引与其Unicode值之间的关系。例如:
这意味着glyph 01是Unicode U+0044,glyph 02是U+0061,依此类推。您必须使用这个查找表将glyph id转换回Unicode。
页面内容本身有两个重要的运算符。这个
另一个有趣的操作符是文本显示(通常
当然,我把这个过程过于简单化了,因为有几十种不同的标准编码、自定义编码(differential或ToUnicode),我们甚至没有接触过阿拉伯语、印地语、垂直日语字体、Type3字体等。有时文本根本无法提取,因为它是故意弄乱的。 |