使用iText7 + C#从pdf读取文本,无法识别文本

问题描述 投票:0回答:1

我想从pdf文档中读取数据。我使用iText7:

var src = "<file location>";
var pdfDocument = new PdfDocument(new PdfReader(src));
var strategy = new LocationTextExtractionStrategy();
for (int i = 1; i <= pdfDocument.GetNumberOfPages(); ++i)
{
     var page = pdfDocument.GetPage(i);
     string text = PdfTextExtractor.GetTextFromPage(page, strategy);
     string processed = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text)));
}
pdfDocument.Close();

它可以,但是不能识别字母。所有文字看起来像

“����������\n������������������������\ n ��������������������\ n

这是英文,所以我认为编码不会有任何问题。此问题的原因是什么,如何解决?

c# pdf itext
1个回答
0
投票

您不需要进行转换。将代码更改为:

StringBuilder processed = new StringBuilder();

    for (int i = 1; i <= pdfDocument.GetNumberOfPages(); ++i)
    {
         var page = pdfDocument.GetPage(i);
         string text = PdfTextExtractor.GetTextFromPage(page, strategy);
         processed.Append(text);
    }
© www.soinside.com 2019 - 2024. All rights reserved.