我想提取PDF文件中存在的数据,并以CSV / Excel表格的形式呈现。我知道这可以使用java中的Tika库来完成。但我确实找到了解决方案如何将数据提取为简单文本,但我想知道如何将其存储在Excel工作表中。
如果某人早些时候做过这类工作,请帮助我。
答案 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 xls
或xlsx
格式 - 只需使用Apache POI即可。