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

使用iText7+从pdf读取文本;C#,无法识别文本,c#,pdf,itext,C#,Pdf,Itext,我想从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 = pdf

我想从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();
var src=”“;
var pdfDocument=新pdfDocument(新PdfReader(src));
var策略=新位置TextExtractionStrategy();

对于(int i=1;i您不需要进行转换。将代码更改为:

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);
    }
StringBuilder processed=new StringBuilder();

对于(int i=1;我在那里收到相同的文本)����������\N�������������������������\n@dariaamir虽然您的文档存在另一个问题,但您确实应该放弃转换。它看起来只会造成伤害,而不会有任何帮助。或者您可以解释为什么使用它吗?正如其他人所评论的,pdf文件在adobe acrobat reader中打开时是否显示预期的文本?@auburg是的,我可以在acro中看到它bat reader。看来,问题在于此pdf中使用的自定义字体……看看这是否有助于您不需要文本转换。您能用Acrobat提取文本吗?如果不能,游戏就结束了。@Paulosares“with Acrobat”是什么意思?Adobe Acrobat reader。您能复制并粘贴在Adobe reader中打开该pdf的文本吗?请共享有问题的pdf进行分析。@dariaamir您解决了这个问题吗?@AdvanTiSS不幸的是,没有。问题是由该文档中使用的自定义专有字体引起的。我尝试了几个不同的库,但都无法阅读。