Lendo conteúdo em pdf usando o iTextSharp em C #
Eu uso este código para ler conteúdo em pdf usando iTextSharp. funciona bem quando o conteúdo é inglês, mas não funciona quando o conteúdo é persa ou árabe
Resultado é algo assim:
Aqui é um exemplo de PDF que não está em inglês para teste.
ÙŽÙ ›Ù † ا ÙÙ» ØØÙØØØØØØØØÙØØÙØØØÙÙØ ›ÙØØØÙÙØ› ÙØÙ »ÙØÙÙ› Ù… Ø ÙÙ¿ س٠س © Karl Seguin foppersian.codeplex. com www.codebetter.com 1 1 Ù '”Ø Ù Ø Ø Ø Ù Ù› Ù † ا Øؿی٠›Ù
همانرب لوصا یسیون مرن دیلوت رتهب رازÙا
Qual é a solução ?
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();
}