

Apache Tika で、Javaを使い、

PDFを読み込んだ時に、  
PDFをビューワーで開てみた時には、  
⇒ 「(1)風林火山用DB」 と表示される。（太字、アンダーバー付き）

が、Tikaで取り込むと、下記事例の様に、  
⇒ 「(1)(1)(1)(1)風風風風林火林火林火林火山山山山用用用用DBDBDBDB」

文章内が同じ文字が連続などの現象となります。

そこで、先日、下記Tikaのコマンドを使う用に言われたのですが、  
config.setSuppressDuplicateOverlappingText(true);  
それを、parserと関連付ける方法がわかりません。  
（日本のサイトでは事例がないようなので、海外のサイトをさがしていますがみつかっていません。）

どのように、コーディングしなおせばよいでしょうか？

[code]

    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() + "]");
    
[/code]


CC BY-SA 3.0
2016-09-15T00:52:41.533
28890
2017-02-14T04:10:37.570
17129
question
java
Apache Tikaで読み込んだPDF文章内が同じ文字が連続などの現象

[code]

    context.set(PDFParserConfig.class, new PDFParserConfig());
    
[/code]

↓

[code]

    context.set(PDFParserConfig.class, config);
    
[/code]

ではないのですか？

[code]

    try {
    // 構文を解析するプログラムをパーサ呼ぶが、それを実行。
    parser.parse(new FileInputStream(document), handler, metadata, new ParseContext());
    
[/code]

これも

[code]

    try {
    // 構文を解析するプログラムをパーサ呼ぶが、それを実行。
    parser.parse(new FileInputStream(document), handler, metadata, context);
    
[/code]

じゃないですか？

いろいろ設定したものが使用されていませんが・・・。


CC BY-SA 3.0
2016-09-21T07:41:53.030
29024
2016-09-21T07:49:56.793
2016-09-21T07:49:56.793
13291
13291
28890
answer