PDF itext TOC генерация - PullRequest
       17

PDF itext TOC генерация

0 голосов
/ 13 апреля 2011

Мне нужно объединить несколько документов PDF в один документ PDF. Кроме того, я должен генерировать оглавление. Оригинальные документы будут содержать текст с определенным стилем (скажем, H1). Этот специальный текст становится частью TOC.

Использовали iText для объединения нескольких файлов PDF. Я не могу найти пример / API при разборе документа , чтобы найти все содержимое в стиле H1 . Генерация TOC является следующей проблемой.

1 Ответ

0 голосов
/ 15 апреля 2011

Ты не.PDF-файлы не имеют стилей.Они имеют «текущее графическое состояние», которое включает в себя:

  • текущую матрицу преобразования (CTM).
  • цвета обводки и заливки
  • обтравочный контур
  • font & size
  • наборы других текстовых состояний (интервал между символами, интервал между словами, начальный, режим визуализации текста ...)
    • Включение отдельной матрицы преобразования текстакоторый сочетается с CTM.

Итак, сначала вы должны отследить все эти вещи (которые iText в основном может сделать для вас).Затем вы должны определить, насколько большой текст «H1», и зафиксировать весь текст с размером экрана такого размера, принимая во внимание CTM, текстовую матрицу и размер шрифта (что iText снова сделает для вас, IIRC).

И просто чтобы сделать жизнь более интересной для таких людей, как вы, вполне возможно, что текст, на который вы смотрите, вовсе не является текстом.Это могут быть пути или растровое изображение ... в этот момент вам нужно OCR, и я не думаю, что вы получите много информации о размере с OCR.

Вам нужно будет написатьTextRenderListener, который определяет окончательный размер данного фрагмента текста (и является ли он частью последнего фрагмента) и отфильтровывает все, что слишком мало.Затем вы создадите свое оглавление на основе найденного текста.

...