我有一个场景,我需要协调两个文档,一个 Word (.docx) 文档以及一个 PDF。两者应该是“相同的”(PDF 只是 DOCX 文件的 PDF 版本);意味着它们应该包含相同的文本、内容等。
具体来说,我需要确保两个文档包含相同数量的段落。所以我需要阅读 DOCX,获取段落数,然后阅读 PDF 并获取其段落数。如果两个数字相同,那么我在做生意。
看起来 Apache Tika(我对 1.3 感兴趣)是适合这里工作的工具。我在这个源文件中看到 Tika 支持段落计数的概念,但试图弄清楚如何从两个文档中获取计数。这是我最好的尝试,但我对连接一些最后的点感到窒息:
InputStream docxStream = new FileInputStream("some-doc.docx");
InputStream pdfStream = new FileInputStream("some-doc.pdf");
ContentHandler handler = new DefaultContentHandler();
Metadata docxMeta = new Metadata();
Metadata pdfMeta = new Metadata();
Parser parser = new OfficeParser();
ParseContext pc = new ParseContext();
parser.parse(docxStream, handler, docxMeta, pc);
parser.parse(pdfStream, handler, pdfMeta, pc);
docxStream.close();
pdfStream.close();
int docxParagraphCount = docxMeta.getXXX(???);
int pdfParagraphCount = pdfMeta.getXXX(???);
if(docxParagraphCount == pdfParagraphCount)
setInBusiness(myself, true);
所以我问:我是否正确设置了这个,还是我离基地很远?如果偏离基地,请给我一些帮助,让我回到正轨。如果我设置正确,那么如何从两个Metadata
实例中获得所需的计数?提前致谢。