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

时间:2016-03-26 18:22:33

标签: java excel pdf apache-tika

我想提取PDF文件中存在的数据,并以CSV / Excel表格的形式呈现。我知道这可以使用java中的Tika库来完成。但我确实找到了解决方案如何将数据提取为简单文本,但我想知道如何将其存储在Excel工作表中。

如果某人早些时候做过这类工作,请帮助我。

1 个答案:

答案 0 :(得分:1)

第一部分(和硬部分)是解析原始数据并将其解释为表格。 Apache Tika将为您提供xhtml表示(或使用SAX事件调用您自己的处理程序),但它通常不会为您构建表。从pdf文件来看,我的意思是,因为pdf本身并不是表格格式。

所以,你必须采取Tika制作的段落,拆分它们并将结果细胞传递给某个csv/xls/xlsx写作者。 如果您在pdf中有一些常规表(每个表行一行,清洁单元逻辑分隔等),它可能会有效。但它当然会解析纯文本。

如果我不能工作,你必须采用pdf解析器(如Apache PDFBox)并尝试解释其输出。

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

如果您想要Excel xlsxlsx格式 - 只需使用Apache POI即可。