Проверьте «SimpleTextParser» и остальную часть пакета com.itextpdf.text.pdf.parser (или как там его называют в C # -ville).
Обратите внимание, что «Первая строка текста»очень скользкая концепция в PDF.Глифы нарисованы в определенных координатах.Если у данного скопления глифов есть общая линия, они визуально находятся на одной линии.Если заданная общая базовая линия является ближайшей к верхней части страницы, она является «первой».
О, и страница может поворачиваться, бросая все в особый вид ада, называемый «математикой матриц»..
Нет особого требования записывать текст в формате PDF в логическом порядке.Можно было пройти и написать все «а», затем «б» и так далее.Не чертовски вероятно (или эффективно), но совершенно законно.Что вероятно, так это то, что весь текст в данном шрифте нарисован, за ним следует весь текст в следующем шрифте и так далее.Если в первой строке текста написано несколько разных шрифтов (полужирный, курсив и т. Д.), Вам может оказаться сложнее, чем можно было бы найти нужную строку текста.Программа может легко перебирать шрифты в алфавитном порядке или сохранять их в хэш-карте ... не зависит от логического порядка, совпадающего с "порядком прорисовки".Рано или поздно (вероятно, рано) вас ждет грубый шок.
Я предлагаю вам прочитать или прочитать FAQ по iText.Ваш вопрос выдает уровень невежества, который легко вылечить с небольшим усилием с вашей стороны.Если ничего другого, то свободно доступные главы из iText In Action (и его изобилия образцов) должны оказаться светящимися.