【发布时间】:2020-07-01 09:52:00
【问题描述】:
我想从 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
它是英文的,所以我认为编码不会有任何问题。这个问题的原因是什么,我该如何解决?
【问题讨论】:
-
您不需要文本转换。您可以使用 Acrobat 提取文本吗?如果你不能,游戏就结束了。
-
@PauloSoares 你所说的'with acrobat'是什么意思?
-
Adobe Acrobat 阅读器。您可以复制并粘贴在 Adobe Reader 中打开该 pdf 的文本吗?请分享有问题的pdf以供分析。
-
@dariaamir 你解决了这个问题吗?
-
@AdvanTiSS 不幸的是,没有。问题是由该文档中使用的自定义专有字体引起的。我尝试了几个不同的库,但都无法阅读。