Word (.docx) ドキュメントと PDF の 2 つのドキュメントを調整する必要があるシナリオがあります。この 2 つは互いに「同一」であるはずです (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
また、正しく設定した場合、2 つのインスタンスから目的のカウントを取得するにはどうすればよいでしょうか? 前もって感謝します。