这似乎是一个老问题,但是在花了半个小时搜索整个 SO 之后,我没有找到详尽的答案。
我正在使用 PDFBox,我想从 PDF 文件中提取所有文本以及每个字符串的坐标。我正在使用他们的PrintTextLocations
示例(http://pdfbox.apache.org/apidocs/org/apache/pdfbox/examples/util/PrintTextLocations.html),但是对于我正在使用的pdf类型(电子票)程序无法识别字符串,分别打印每个字符。输出是一个字符串列表(每个代表一个TextPosition
对象),如下所示:
String[414.93896,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.0] s
String[418.93896,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.447998] a
String[423.38696,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=1.776001] l
String[425.16296,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.447998] e
虽然我希望程序将字符串“sale”识别为唯一的TextPosition
并给我它的位置。我还尝试使用setSpacingTolerance()
andsetAverageCharacterTolerance()
PDFTextStripper
方法,在标准值之上和之下设置不同的值(仅供参考,分别为 0.5 和 0.3),但输出根本没有改变。我哪里错了?提前致谢。