#pdf #itext #pdfbox #tagging #pdf-manipulation
#PDF #itext #pdfbox #манипулирование pdf #помеченный-pdf
Вопрос:
У меня есть pdf, который выглядит следующим образом. Я бы хотел пометить абзац как ‘paragraph’. Я много искал об этом, и есть способы создать помеченный PDF-файл с нуля или преобразовать содержимое html в помеченный pdf, но у меня не было успеха в пометке существующего pdf.
С учетом координат я могу пометить содержимое в pdf. В этом примере я хочу пометить абзац как тег paragraph. Спасибо.
**A sample pdf**
1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonum- my nibh euismod ncidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci taon ullamcorper
sus- cipit lobors nisl ut aliquip ex ea commodo consequat.
Ответ №1:
PDF не является WYSIWYG-форматом.
Компьютерная программа может видеть это не потому, что вы видите абзац.
Фактически, PDF без тегов может выглядеть следующим образом (псевдо-pdf-код):
перейдите в папку 10 700
установите активный шрифт на Times New Roman
установите размер шрифта на 12
установите черный цвет
нарисуйте глиф «H»
перейдите к координате 10 680
нарисуйте глифы «Lorem»
Как вы можете видеть из примера, в инструкциях не обязательно выводить текст в порядке чтения.
Итак, первая задача, с которой вы сталкиваетесь, — определить абзацы. Я работал в iText, я разговаривал с разными людьми в Adobe. Способность распознавать структуру в документе PDF без тегов считается непростой задачей.
Как только у вас будет эта структура (до уровня «эти глифы составляют строку» и «эти строки составляют абзац» и т.д.), Это вопрос создания StructureTree
Но поскольку этот вариант использования (переназначение PDF-файла) никогда не считался возможным, iText (или любая другая библиотека PDF, насколько мне известно) на самом деле не предназначена для того, чтобы позволить вам (легко) это сделать.
Сам тег является частью отдельной структуры данных внутри PDF. Теги могут иметь дочерние элементы (например, для указания «этот абзац содержит эти строки»). Сам тег будет ссылаться на объекты (группы инструкций), которые являются его частью.
Итак, у вас может быть:
- эти инструкции (для отображения строки текста) составляют слово и формируют объект
- эти объекты word объединяются (с помощью тега) в объект line
- несколько тегов строк объединяются в объект paragraph
Для более глубокого понимания я рекомендую прочитать спецификацию PDF.
Комментарии:
1. Спасибо тебе, @Joris. Используя другие методы, я нашел координаты абзаца. Но я борюсь с применением этих тегов. Итак, что такое теги для PDF. являются ли они символами или операторами рисования?