当iText 7提取字符串时,文本会出现乱码

时间:2017-09-13 02:24:37

标签: c# pdf itext7

我想从日文PDF中提取字符串 然而,它出现了乱码 我怎么能这样做,或者我做错了什么?

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-asian(来自Nuget的7.0.4)

PDF文件: Japanese_PDF.pdf

1 个答案:

答案 0 :(得分:0)

你正在做的一切正确。在7.0.4之前,文本提取功能确实存在一些CID字体的问题。现在在7.0.5-SNAPSHOT中,这已得到修复,问题不再重现。

可以从artifactory下载具有当前快照版本的NuGet包。