gpt4 book ai didi

java - 从 PDF 中提取所有带有字符串位置的文本

转载 作者:搜寻专家 更新时间:2023-11-01 02:51:44 28 4
gpt4 key购买 nike

这似乎是一个老问题,但我花了半个小时在 SO 上搜索后没有找到详尽的答案。

我正在使用 PDFBox,我想从 PDF 文件中提取所有文本以及每个字符串的坐标。我正在使用他们的 PrintTextLocations 示例 ( http://pdfbox.apache.org/apidocs/org/apache/pdfbox/examples/util/PrintTextLocations.html ) 但对于我正在使用的 pdf 类型 (E-Tickets),程序无法识别字符串,分别打印每个字符。输出是一个字符串列表(每个字符串代表一个 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()setAverageCharacterTolerance() PDFTextStripper 方法,在标准值之上和之下设置不同的值(仅供引用分别为 0.5 和 0.3),但输出根本没有改变。我哪里错了?提前致谢。

最佳答案

正如 Joey 所说,PDF 只是一组指令,告诉您应该在何处打印某个字符。

为了提取单词或行,您必须执行一些数据分割:研究字符的边界框应该让您识别那些在同一行上的字符,然后识别哪些字符构成单词。

关于java - 从 PDF 中提取所有带有字符串位置的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975036/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com