如何使用Tika或任何其他库从PDF文件中提取数据并以CSV / Excel格式存储

我想提取PDF文件中存在的数据,并以CSV / Excel表单的格式显示。我知道这可以在java.But中使用Tika库来完成,我确实find了如何提取数据作为简单的文本,但我想知道如何将其存储在Excel表格中。

如果有人早些时候做过这种types的工作,那么请帮助我。

第一部分(也是最难的部分)是parsing原始数据并将其解释为表格。 Apache Tika会给你xhtml表示(或者用SAX事件调用你自己的处理程序),但是它通常不会为你构build表。 从pdf文件来说,我的意思是,由于pdf本身不是表格格式。

所以,你必须采取Tika生产的段落,将它们分开,并将结果单元格传递给一些csv/xls/xlsx写入器。 它可能工作,如果你有你的一些常规表格pdf(每行表格一行,干净的单元格逻辑分隔等)。 但是,它看起来像parsing纯文本,当然。

如果我不工作,你将不得不采取PDFparsing器(如Apache PDFBox ),并尝试解释其输出。

第二部分(输出)很简单。 如果csv/ssv/tsv适合你 – 使用你的首选库来生成它(我可以推荐Apache commons-csv )。 但考虑到MS Excel需要UTF-8和UTF-16 csv的BOM才能理解该文件不是单字节编码(如CP-1252等)。

如果您需要Excel xlsxlsx格式 – 只需使用Apache POI编写即可。