这似乎是一个老问题,但我没有找到花半小时寻遍打完一个详尽的答案。提取与路线的位置的所有文本从PDF
我使用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
虽然我想程序才能识别字符串“销售”作为一个独特的TextPosition
,并给我自己的立场。我也尝试玩setSpacingTolerance()
和setAverageCharacterTolerance()
PDFTextStripper
方法,在标准值(分别为FYI分别为0.5和0.3)上设置不同的值,但输出完全没有变化。我哪里错了?提前致谢。
啊,PDF的乐趣。根据创建的内容,“text”可能只是某些位置上的字形集合,所以您必须根据位置进行猜测以找出字词和空格的位置。 – Joey 2012-04-02 12:09:53