python - 从 PDF 中读取字体颜色信息

标签 python pdf

我正在开发一款分析 PDF 文件并基于它们生成 HTML 的软件。已经有很多东西可以做到这一点,所以我知道这是可能的,出于商业原因,我必须自己写一个。

我已经设法从 PDF 中获取所有文本信息、位置和字体,但我很难读出文本的颜色。我目前正在使用 PDFMiner 来分析 PDF,但我开始认为我需要编写自己的 PDFReader,即便如此,我什至无法弄清楚文本的颜色信息保存在文档的哪个位置!我什至阅读了 PDF 规范,但找不到我需要的信息。

我已经搜索过谷歌,没有任何乐趣。

提前致谢!

最佳答案

文本和其他填充图形的颜色是使用内容流对象中的grgk 运算符之一设置的PDF 文件,如 PDF 引用手册中4.5.7 颜色运算符部分所述。

引用手册中的示例 G.3 简单图形示例 显示了这些运算符用于描边和填充某些形状(但不是文本)。

http://www.adobe.com/devnet/pdf/pdf_reference.html

当您自己解析 PDF 文件时,您可以从阅读预告片开始 在包含文件偏移量的文件末尾 交叉引用表。该表包含的文件偏移量 PDF 文件中的每个对象。对象位于带有引用的树结构中 到其他物体。其中一个对象将是 内容流。这在 3.4 文件结构 部分中有描述 和 PDF 引用手册中的 3.6 文档结构

可以自己解析 PDF 文件,但这是 相当多的工作。内容 流可以被压缩,包含对其他对象的引用, 包含评论等,您必须处理所有这些情况。

PDFMiner 软件已经在读取内容流。也许吧 扩展 PDFMiner 来报告颜色会更容易 也是文字?

关于python - 从 PDF 中读取字体颜色信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7581752/

相关文章:

pdf - 语言为 PL(波兰语)时的大 PDF 文件

python - OpenCV-ArUco中tvecs rvecs的基本理解

python - Numpy:将 RGB 平面数组转换为矩阵

python - 如果未检测到任何更改,如何防止 alembic revision --autogenerate 制作修订文件?

pdf - 在哪里可以找到 XFA 规范或 DTD/架构?

java - pdfBox 之后我无法删除文件

python - 从文件中读取以不同方式编写的列表

python - 寻找物体

c# - 如何在 iTextSharp 中将 PDF 转换为文本文件

c# - iTextSharp - 如何获取单词在页面上的位置