1

PDFドキュメントを解析する必要があります.PDFファイルを解析するためのJavaプログラムがあります.(PDFを解析するとき、PDFのそれらの段落のフォント情報を使用しました.PDFをテキストファイルに変換すると、テキストに変換しませんフォント情報が失われるので、直接、Apache PDFBox を使用してフォント情報を含む PDF を解析しています。次のコードを使用して PDF ファイルを読み込みます

String inputFile = "/home/Desktop/CTT/bcreg20130702a.pdf";
File input = new File(inputFile);
pd = PDDocument.load(input);

PDFドキュメントを解析するためのmap-reduceプログラムを作成する必要があります.mapreduceプログラムのmap()関数への入力としてPDFファイルを直接使用することはできません。WholeFileInputFormat を使用してドキュメント全体を単一の分割として渡しましたが、BytesWritable(値) とファイル名(キー) が得られます。

そのPDFのSequenceFileFormatもあります。

この SequenceFileFormat または WholeFileInputFormat で PDFBox を使用するにはどうすればよいですか? また、フォント情報も保持する必要があります。フォント情報がないと、PDFを解析できません。

4

3 に答える 3

1

独自のカスタム InputFormat(WholeFileInputFormat) を使用しているとのことで、BytesWritable の代わりに PDDocument オブジェクトを Map の値として使用し、pdf のコンテンツ全体を WholeFileRecordReader(custome Reader) の nextKeyValue() で PDDocument にロードします。また、pdf 全体がロードされるように、ur isSplitable() が false を返すことを確認してください。

于 2013-09-13T05:13:37.970 に答える
-2

Map-Reduce には、HDFS からの入力パスが必要です。そのため、ローカル ファイルを HDFS (java API を使用) のパス/フォルダーにアップロードし、それを Map-Reduce への入力として使用できます。

于 2013-09-11T09:14:13.013 に答える