我在pdf中有一些已被OCR的文本。 OCR将单词的边界框返回给我。 我可以在pdf上绘制边界框({{1}}),一切看起来都是正确的。
但是当我告诉我的fontsize是这些边界框的高度时, 一切都错了。文本看起来比应有的小,与高度不匹配。
我失踪了一些转换。如何确保文本与边界框一样高?
wordRect
答案 0 :(得分:0)
如何确保文本与边界框一样高?
font_size只是一个缩放因子,在大多数情况下会映射到1/72英寸(pt),但并非总是如此。
转型是:
GlyphSpace
- > TextSpace
- > UserSpace
(其中UserSpace
基本上是页面空间,并且是1/72英寸)
glyphs
中的font
在GlyphSpace
中定义,并且有一个字体矩阵映射到TextSpace
。通常,1000个单位映射到测试空间中的1个单位,但并非总是如此。
然后text matrix
(element.SetTextMatrix
),font size
(此处有问题的变量)和一些其他参数,将TextSpace
坐标转换为UserSpace
。< / p>
最后,确切的高度也取决于字形。
此论坛帖子展示了如何从字形数据转到UserSpace。见ProcessElements
https://groups.google.com/d/msg/pdfnet-sdk/eOATUHGFyqU/6tsUF0BHukkJ