2017-09-13 296 views
0

日本語のPDFから文字列を抽出したい。
しかし、文字化けしてしまいます。
どうすればよいですか、何が間違っていますか? (Nugetから7.0.4)iText 7が文字列を抽出したときにテキストが文字化けする

iText.IO.Util.ResourceUtil.AddToResourceSearch("itext.font_asian.dll"); 
using (PdfReader reader = new PdfReader(pdfPath)) 
using (var doc = new PdfDocument(reader)) 
{ 
    var rect = new Rectangle(100, 100, 800, 800); 

    var filter = new TextRegionEventFilter(rect); 

    var pageCount = doc.GetNumberOfPages(); 

    for (int i = 1; i <= pageCount; i++) 
    { 
     ITextExtractionStrategy strategy = new FilteredTextEventListener(new LocationTextExtractionStrategy(), filter); 
     var page = doc.GetPage(i); 
     var str1 = PdfTextExtractor.GetTextFromPage(page, strategy); 
    } 
} 

のVisual Studio 2015
C#.NETのフレームワーク4.6.1
iText7(Nugetから7.0.4)
iText.fontアジア

PDFファイル:Japanese_PDF.pdf

+0

あるいは、「PDFビューアからテキストをコピー/ペーストすると同じ結果が得られますか?あなたの質問はあまりにも不完全で答えることができません。私たちにPDFを見せてください。フォントにtoUnicodeマップがありますか? (これらの質問があなたが答えるにはあまりにも難しい場合は、PDFを見て自分で確認できるようにする必要があります) –

+0

あなたのコメントをありがとうございます。そして、私の質問は悪いことを申し訳ありません。 PDFファイルはリンクとして書かれていましたが、わかりやすくするために編集しました。 (あなたはそれをダウンロードすることができますか?)コピーアンドペーストについて :私は、Acrobat Readerを表示PDFから文字列を選択し、メモ帳に貼り付けることができます。 ここからコードを調べます。 toUnicodeマップはPdfDocument(PdfPage?)から取得できますか?私もこれを調べます。 – nob

答えて

0

すべてを正しく実行しています。テキスト抽出機能は実際に7.0.4までの一部のCIDフォントに問題がありました。今度は7.0.5-SNAPSHOTで修正され、問題は再現されなくなりました。現在のスナップショットのバージョンと

NuGetパッケージはartifactoryからダウンロードすることができます。 「私は、文字列を見たとき、私は間違ったエンコーディングを使用しています?」のように文字化け

+0

ありがとうございました。 7.0.5-SNAPSHOTで正常に抽出できることが確認されました。 – nob

関連する問題