【发布时间】:2021-10-25 05:17:57
【问题描述】:
我已经测试了in this thread 提供的代码。它可以找到包含在图像边界框中的所有文本元素。但是,您如何区分图片背后的文字和图片上方的文字呢?
【问题讨论】:
-
你检查过this older answer吗?它为忽略位图图像覆盖的文本的文本提取提供了概念验证。
-
是的,我必须移植它,将
context.processSubStream替换为context.showForm。不幸的是,它并没有带来预期的结果。也许我没有提到OperatorProcessor.getName()的正确值。应该是什么价值?我知道您使用了"Do",但它对我不起作用。 -
对不起,我重新检查了我的代码,做了一些清理工作,现在可以了!!!!谢谢@mkl!将更新的移植代码粘贴到下面的答案中。
-
“我不得不移植它” - 是的,考虑到那个答案的年代,它很可能是一个 PDFBox 1.x 的答案。 - “现在可以了!!!!” - 太好了!
-
@mkl 该代码适用于带有
pdPage.getCropBox().getLowerLeftY() == 0和getLowerLeftX() == 0的PDF 页面。对此old thread comment 的任何帮助将不胜感激:For a generic solution you have to change this test to something that checks whether the 1x1 square transformed by the Matrix ctm = getGraphicsState().getCurrentTransformationMatrix() overlaps the character box ...