3

我正在尝试使用 iTextSharp 阅读 PDF 文件。问题是当尝试阅读非英语的 PDF 文件(例如印地语或阿拉伯语)时,它没有得到正确的单词。

我想知道,我应该在我的系统上安装印地语或阿拉伯语字体还是需要对编码做一些事情?

ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);

编辑:

示例 PDF 作为图像:

在此处输入图像描述

提取文本:

uxj ikfydk ifj"kn fuokZpd ukekoyh& 2011 i`"B la[;k % 1 1 1 1& & & ftys dk uke ftys dk uke ftys dk uke ftys dk uke % % % % 0701-ò¶âã£ûæ– 2 2 2 2& & & & fudk fudk fudk fudk; ; ; ; dk uke dk uke dk uke dk uke % % % % 1-¢âî™ 3 3 3 3& & & & okMZ la okMZ la okMZ la okMZ la[ [ [ [; ; ; ;ko uke ko uke ko uke ko uke % % % % 1-¯â“¯â™®â£û¶âû §âîºâã®â£û¶âû Õô¯âû®â£û¶âû 4 4 4 4& & & & Hkkx la Hkkx la Hkkx la Hkkx la[ [ [ [; ; ; ;kkkk % % % %

4

1 回答 1

0

不要使用任何类型的编码,因为你不知道 pdf 文件有什么编码。

. 我认为它会起作用。

ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
text=text+currentText;

///do what you want with text
MessageBox.Show(text);

如果仍然无法正常工作,那么您必须安装特定的字体。

于 2012-06-05T17:27:13.373 回答