我正在尝试使用 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);
Edit:
示例 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& & & & 福克福克福克福克; ; ; ; dk 乌克 dk 乌克 dk 乌克 dk 乌克 % % % %
1-Ⅸ™
3 3 3 3& & & & okMZ 拉 okMZ 拉 okMZ 拉 okMZ 拉[ [ [ [; ; ; ; 克欧克克欧克克克克克克克 % % % %
1- § § § §§§§§§§§§ §§§§§§§§§§§§§§§§
4 4 4 4& & & & Hkkx la Hkkx la Hkkx la Hkkx la[ [ [ [;; ; ; ;k k k k % % % %
不要使用任何类型的编码,因为你不知道什么
编码是pdf文件有的。
。
我认为它会起作用。
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
text=text+currentText;
///do what you want with text
MessageBox.Show(text);
如果仍然不起作用,那么您必须安装特定字体。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)