байтовый массив pdf, чтение первой строки - PullRequest
0 голосов
/ 08 ноября 2010

У меня есть pdf-байтовый массив, и мне было интересно, есть ли простой способ прочитать первую строку текста в переменную?

Спасибо, rod

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Проверьте «SimpleTextParser» и остальную часть пакета com.itextpdf.text.pdf.parser (или как там его называют в C # -ville).

Обратите внимание, что «Первая строка текста»очень скользкая концепция в PDF.Глифы нарисованы в определенных координатах.Если у данного скопления глифов есть общая линия, они визуально находятся на одной линии.Если заданная общая базовая линия является ближайшей к верхней части страницы, она является «первой».

О, и страница может поворачиваться, бросая все в особый вид ада, называемый «математикой матриц»..

Нет особого требования записывать текст в формате PDF в логическом порядке.Можно было пройти и написать все «а», затем «б» и так далее.Не чертовски вероятно (или эффективно), но совершенно законно.Что вероятно, так это то, что весь текст в данном шрифте нарисован, за ним следует весь текст в следующем шрифте и так далее.Если в первой строке текста написано несколько разных шрифтов (полужирный, курсив и т. Д.), Вам может оказаться сложнее, чем можно было бы найти нужную строку текста.Программа может легко перебирать шрифты в алфавитном порядке или сохранять их в хэш-карте ... не зависит от логического порядка, совпадающего с "порядком прорисовки".Рано или поздно (вероятно, рано) вас ждет грубый шок.

Я предлагаю вам прочитать или прочитать FAQ по iText.Ваш вопрос выдает уровень невежества, который легко вылечить с небольшим усилием с вашей стороны.Если ничего другого, то свободно доступные главы из iText In Action (и его изобилия образцов) должны оказаться светящимися.

0 голосов
/ 08 ноября 2010
byte[] pdf;
BufferedReader in = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(pdf)));
String firstLine = in.readLine();
in.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...