Я использую последнюю версию iTextSharp
lib из nuGet (5.5.8), чтобы разобрать текст из pdf-файла. Проблема, с которой я сталкиваюсь, заключается в том, что метод GetTextFromPage
не только возвращает текст со страницы, которую он должен, но также возвращает текст с предыдущей страницы. Вот мой код:Почему GetTextFromPage из iTextSharp возвращает более длинные и длинные строки?
var url = "https://www.oslo.kommune.no/getfile.php/Innhold/Politikk%20og%20administrasjon/Etater%20og%20foretak/Utdanningsetaten/Postjournal%20Utdanningsetaten/UDE03032016.pdf";
var strategy = new SimpleTextExtractionStrategy();
using (var reader = new PdfReader(new Uri(url)))
{
for (var page = 1; page <= reader.NumberOfPages; page++)
{
var textFromPage = PdfTextExtractor.GetTextFromPage(reader, page, strategy);
Console.WriteLine(textFromPage.Length);
}
}
Результат выглядит так, и это не то, что мне нужно. Мне нужен текст, который на самом деле находится на странице:
1106
2248
3468
4835
5167
6431
7563
8860
9962
11216
12399
13640
14690
15760
Любые идеи?
У меня была точно такая же проблема с 5.5.9. Ответ от @mkl был четким и совершенно точным. – TonyG