Я использую следующий код для извлечения текста из первой страницы файлов PDF с помощью iTextSharp:
public static string ExtractTextFromPDFFirstPage(string fileName)
{
string text = null;
using (var pdfReader = new PdfReader(fileName))
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
text = PdfTextExtractor.GetTextFromPage(pdfReader,1,strategy);
text = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text)));
}
return text;
}
Это работает достаточно хорошо для многих PDF, но не для некоторых других.
Рабочий PDF: http://data.hexagosoft.com/LFBO.pdf
Не работает PDF: http://data.hexagosoft.com/LFBP.pdf
Эти два PDF-файла кажутся очень похожими, но один работает, а другой нет. Я предполагаю, что тот факт, что их теги производителя не совпадают, является подсказкой. Еще одна подсказка заключается в том, что эта функция работает для любой другой страницы PDF без диаграммы.
Я также пытался с помощью ghostscipt, но безуспешно.
Строка Encoding также кажется бесполезной.
Как я могу извлечь текст первой страницы нерабочего PDF-файла, используя iTextSharp?
Спасибо
text = Encoding.UTF8.GetString...
, потому что она не делает того, что вы думаете. Подробнее см. здесь. - person Chris Haas   schedule 28.01.2016