このコードを使用して、iTextSharp を使用して pdf コンテンツを読み取ります。コンテンツが英語の場合は正常に機能しますが、コンテンツがペルシア語またはアラビア語の場合は機能しません
。結果は次のよう
になります。テスト用の英語以外の PDF のサンプルは 次の
とおりです。
َٛنا Ùٔب٘طث یؿیٛ٘ زؾا ÙÙ›ÙØÙ” Ù‚Ù›Ù…Ø ÛŒÙ”Ø¨Ù•Ø³ © Karl Seguin foppersian.codeplex. com www.codebetter.com 1 1 Ùٔب٘طث َٛنا یؿیٛ٘
همانرب لوصا یسیون مرن دیلوت رتهب Ø±Ø§Ø²ÙØ§
解決策は何ですか?
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();
}