1

我的一位实习朋友在 2 小时前问我是否可以帮助他避免使用免费的在线软件手动将 462 pdf 文件转换为 .xls。

我想到了一个使用的shell脚本unoconv,但我没有找到如何正确使用它,我不确定是否unoconv可以解决这个问题,因为它主要将文件转换为pdf,而不是相反的东西。

4

1 回答 1

4

从 PDF 转换为任何其他结构化格式并不总是可行的,通常也不推荐。

话虽如此,这看起来确实是一份一次性的工作,而且数量相当少(462)。

如果您可以可靠地从其中的大多数文本中提取文本并且其结构合理,那么它是值得追求的。这是一个尝试在 PDF 样本中获取常规文本输出的问题,您可以可靠地将其解析为表结构。

围绕该目标有很多工具,无论是直接提取还是基于 OCR 的文本提取,只需 google 一下。

我喜欢的一个是 ghostscript 套件中的 pstotext;该-bboxes选项让我得到每个单词的坐标,并让我重新组装结构。尽管它的名字它确实适用于输入 PDF。缺点是它可能有点不稳定,适用于某些 PDF,但不适用于其他 PDF。

如果你走到这一步,那么你很可能需要编写一个 shell 脚本或程序来将其转换为 CSV。您可以直接通过电子表格打开它,也可以寻找将其转换为 XLS 的工具。

PS 如果他还没有,请让实习生询问是否有任何可能的方法来获取用于创建 PDF 的原始数据。这将节省大量时间和精力,并获得更准确的结果。

更新Perl CAM::PDF模块中包含的pstotextis命令的替代方法。更健壮,但只报告文本 (x,y) 位置,而不是边界框。renderpdf.pl

于 2012-12-13T01:18:57.763 回答