我使用此代码使用iTextSharp读取pdf内容.当内容是英语时它工作正常,但是当内容是波斯语或阿拉伯语时它不起作用
结果是这样的:
这里是非英语PDF样本用于测试.
ÙŽÙ>ناÙÙ"بÙÙØ·Ø«ÛŒØ¿ÛŒÙ>Ù~Ø²ØØØ§ÙÙ>ÙØÙ"Ù,Ù>Ù...ØÛÛÙ"بٕس©Karl Seguin foppersian.codeplex. com www.codebetter.com 1 1ÙÙ"ب~طثَÙ>نایؿیÙ>Ù〜
Run Code Online (Sandbox Code Playgroud)همانرب لوصا یسیون مرن دیلوت رتهب Ø±Ø§Ø²ÙØ§
解决办法是什么 ?
public string ReadPdfFile(string fileName)
{
StringBuilder text = new StringBuilder();
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.UTF8.GetBytes(currentText)));
text.Append(currentText);
pdfReader.Close();
}
}
return text.ToString();
}
Run Code Online (Sandbox Code Playgroud)