我有一个由谷歌浏览器创建的pdf文档。通过PDFBox(Java)解析文本时,我发现页面之间有一个隐藏的文本块。虽然渲染模式是" FILL"但我发现元素不在页面上。问题解决了。
现在,我发现页面上还出现了另一个类似的元素,但坐标不告诉这个。它在跨越第二页的可见边缘内。它的最大值为y2 = 31.195312,最大高度为29.894833(字体大小= 36)。计算出的y1大约为1,仍在页面上。
文本位置obj显示了一些有趣的内部属性,但它们不是公共变量。我所拥有的只是TextPosition对象(https://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/util/TextPosition.html)和周围的上下文。
我可以重现这个问题,但它需要我的特定文件。可以尝试使用分页内部测试,但我还没有找到一个简单的测试。我正在寻找某种边距,但到目前为止,this.getCurrentPage()中的所有框都只显示普通页面高度,并且没有开始位置。另一种可能性是,有另一种寻找坐标的方法,而不是firstTextPos.getY()和firstTextPos.getHeight()。
Mac预览中的PDF:
在页面之间选择文本,并在第二页上列出。如果它在第一页上列出,我能够处理上述问题。
TextPosition对象私有 vars: