Apache Tikaで読み込んだPDF文章内が同じ文字が連続などの現象
Apache Tika で、Javaを使い、
PDFを読み込んだ時に、
PDFをビューワーで開てみた時には、
⇒ 「(1)風林火山用DB」 と表示される。(太字、アンダーバー付き)
が、Tikaで取り込むと、下記事例の様に、
⇒ 「(1)(1)(1)(1)風風風風林火林火林火林火山山山山用用用用DBDBDBDB」
文章内が同じ文字が連続などの現象となります。
そこで、先日、下記Tikaのコマンドを使う用に言われたのですが、
config.setSuppressDuplicateOverlappingText(true);
それを、parserと関連付ける方法がわかりません。
(日本のサイトでは事例がないようなので、海外のサイトをさがしていますがみつかっていません。)
どのように、コーディングしなおせばよいでしょうか?
File document = new File(strFile_path);
Parser parser = new AutoDetectParser();
//PDFParser parser = new PDFParser();
ContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
Metadata metadata = new Metadata();
PDFParserConfig config = new PDFParserConfig();
// 太字などを文字を重ねることで表現している場合における重複文字を無視するかどうか
config.setSuppressDuplicateOverlappingText(true);
// テキスト下線などを無視するかどうか
config.setExtractAnnotationText(false);
ParseContext context = new ParseContext();
context.set(PDFParserConfig.class, new PDFParserConfig());
try {
// 構文を解析するプログラムをパーサ呼ぶが、それを実行。
parser.parse(new FileInputStream(document), handler, metadata, new ParseContext());
}
catch (FileNotFoundException e) {
:
}
:
catch (Exception e) {
}
// PDFの文章を表示
System.out.println("handler :[" + handler.toString() + "]");