解析PDF表格并将其显示为CSV(Java)
我正在尝试解析PDF文件中的表并将其显示为CSV。我在下面附上了PDF格式的样本数据(只有几列)和样本输出。每个列宽都是固定的,比如说公司名称(18个字符)、金额(8个字符)、类型(5个字符)等等。我尝试使用Itext和PDFBox JAR获取每个页面数据并逐行解析,但听起来这不是一个很好的解决方案,因为PDF中的换行符和换页符不合适。如果有其他合适的解决方案,请告诉我。我们想使用任何开源软件来实现这一点解析PDF表格并将其显示为CSV(Java),java,itext,pdfbox,Java,Itext,Pdfbox,我正在尝试解析PDF文件中的表并将其显示为CSV。我在下面附上了PDF格式的样本数据(只有几列)和样本输出。每个列宽都是固定的,比如说公司名称(18个字符)、金额(8个字符)、类型(5个字符)等等。我尝试使用Itext和PDFBox JAR获取每个页面数据并逐行解析,但听起来这不是一个很好的解决方案,因为PDF中的换行符和换页符不合适。如果有其他合适的解决方案,请告诉我。我们想使用任何开源软件来实现这一点 这是一个非常复杂的问题。关于这一点,甚至有多篇硕士论文 一个简单的类比:我有5000块拼图
这是一个非常复杂的问题。关于这一点,甚至有多篇硕士论文 一个简单的类比:我有5000块拼图,它们都是完美的正方形,可以放在任何地方。有些上面有几行,有些上面有文本片段 然而,这并不意味着它不能做到。这只需要工作 一般做法:
解析器应该如何做到这一点?没有你的样本输出,我不知道哪几行应该在一起。。。如果您的pdf正确标记,您可能会很幸运。如果您共享了一个示例pdf文件而不是图像,我们可以在其中查找更多线索。请将您的问题限制为iText或Pdfbox。如果需要,创建两个单独的问题,一个用于iText,一个用于Pdfbox。分享你的pdf。分享你的代码。不要索要pdf库的购物清单,这在StackOverflow上是不允许的。你需要先自己尝试一下,然后在遇到困难时提问。嗨,mkl,谢谢你回答我的问题。由于列数、列宽、单个记录/元组将跨越的最大行数是固定的,所以我认为我们可以解析它。此外,如果公司名称最多跨3行,则“金额”和“卖方”列可能仅跨1行,那么其他2行的“金额”和“类型”列将为空。非常抱歉,我无法发送PDF:(嗨,Amedee Van Gasse,我已经测试了Itext和PDFBox,每个都有自己的局限性。因为我用它们来解决同一个问题,所以我对它们都做了标记。我不是要这里的购物清单,我尝试了两种不可行的解决方案,所以我只想看看是否有更好的方法{示例PDF->HTML/TXT文件->CSV或任何其他更好的PDF解析器}我关于共享PDF的问题仍然有效。mkl也问了这个问题。没有PDF,这是猜测。