我正在研究一种分析PDF文件并根据它们生成HTML的软件。有很多事情已经做到这一点,所以我知道这是可能的,我必须出于商业原因编写我自己的。
我设法从PDF中获取所有文本信息,位置,字体,但我正在努力读出文本的颜色。我目前正在使用PDFMiner来分析PDF,但我开始认为我需要编写自己的PDFReader,即便如此,我也无法弄清楚文档的颜色信息在哪里保存!我甚至阅读了PDF规范但找不到我需要的信息。
我已经搜索谷歌了,没有任何快乐。
提前致谢!
答案 0 :(得分:4)
使用PDF文件中内容流对象中的g
,rg
或k
运算符之一设置文本和其他填充图形的颜色,如< PDF参考手册中的em> 4.5.7 Color Operators 。
参考手册中的示例 G.3简单图形示例显示了这些操作符用于描边和填充某些形状(但不是文本)。
http://www.adobe.com/devnet/pdf/pdf_reference.html
自己解析PDF文件时,首先要阅读预告片 在包含文件偏移量的文件的末尾 交叉引用表。该表包含文件偏移量 PDF文件中的每个对象。对象采用带引用的树结构 到其他对象。其中一个对象是 内容流。这在 3.4文件结构部分中进行了描述 PDF参考手册中的 3.6文档结构。
可以自己解析PDF文件,但确实如此 相当多的工作。内容 流可以被压缩,包含对其他对象的引用, 包含评论等,你必须处理所有这些情况。
PDFMiner软件已在阅读内容流。也许吧 会更容易扩展PDFMiner来报告颜色 文本呢?