0

大家好,对不起我的英语水平,但我不是英语/美国人。

我的问题是下一个:我尝试使用示例中发布在本网站上的示例代码(如何使用 pdfbox 获取字体颜色),作者说该代码已尝试但当我尝试时它向我显示此错误:

2013 年 7 月 17 日下午 1:05:28 org.apache.pdfbox.util.PDFStreamEngine processOperator 信息:不支持/禁用操作:BDC 2013 年 7 月 17 日下午 1:05:29 org.apache.pdfbox.util.PDFStreamEngine processOperator 信息:不支持/禁用的操作:EMC DeviceGray org.apache.pdfbox.pdmodel.graphics.color.PDColorState@481958 0.0

我正在提取内容 3 个字母 (RGB) 的 pdf 被绘制:

R:涂成红色 G:涂成绿色 B:涂成黑色

有人可以解释一下,因为这个错误告诉我如何从 pdf 中提取彩色文本?

感谢大家的期货评论

4

1 回答 1

0

这些日志输出的级别仅为 INFO,而不是错误:

jul 17, 2013 1:05:28 PM org.apache.pdfbox.util.PDFStreamEngine processOperator INFO: unsupported/disabled operation: BDC
jul 17, 2013 1:05:29 PM org.apache.pdfbox.util.PDFStreamEngine processOperator INFO: unsupported/disabled operation: EMC 

他们所说的只是在没有注册处理器的页面内容中遇到了某些运营商(BDC、EMC)。但由于这些运算符仅用于分析标记的内容,因此您的任务可以忽略这些运算符。

此后,您已从您引用的代码中输出:

DeviceGray
org.apache.pdfbox.pdmodel.graphics.color.PDColorState@481958
0.0

至少第一行和最后一行与该代码匹配:遇到灰度值为 0 的 DeviceGray 灰色颜色,很可能是黑色B。(可能是你在中间添加了一个额外的输出,例如graphicState.getStrokingColor()?)

因此,没有错误,一切正常。

于 2013-07-18T07:55:58.843 回答