Создание PDF-файлов с тегами в Java

Файл PDF с тегами использует теги для определения логической структуры содержимого документа. Этот тип PDF улучшает процесс чтения с помощью вспомогательных технологий и средств чтения с экрана. В предыдущем посте вы видели, как программно создавать PDF-файлы в приложениях Java. В этой статье вы узнаете, как программно создавать PDF-файлы с тегами на Java.

API Java для создания PDF-файлов с тегами

Для создания файлов PDF с тегами мы будем использовать Aspose.PDF for Java. Это один из популярных API для создания и обработки PDF-файлов. Используя API, вы можете легко создавать, обрабатывать и преобразовывать PDF-файлы с простыми и сложными макетами. Вы можете скачать API или установить его, используя следующие конфигурации Maven.

Репозиторий:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Зависимость:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Создайте файл PDF с тегами в Java

Для создания элементов структуры в файле PDF с тегами Aspose.PDF для Java предоставляет интерфейс ITaggedContent. Итак, давайте посмотрим, как использовать этот интерфейс для создания файла PDF с тегами в Java.

В следующем примере кода показано, как создать PDF-файл с тегами на Java.

// Создать новый документ
Document document = new Document();

// Получить контент для работы с PDF с тегами
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Установить заголовок и язык для документа
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Добавить абзац
ParagraphElement paragraphElement = taggedContent.createParagraphElement();
paragraphElement.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.appendChild(mainHeader);
rootElement.appendChild(paragraphElement);

// Сохранить помеченный PDF
document.save("tagged-pdf.pdf");

Ниже приведен вывод приведенного выше примера кода.

Создайте файл PDF с тегами в Java

Создайте PDF-файл с тегами с вложенными элементами в Java

В предыдущем примере мы создали простой PDF-файл с тегами, содержащий абзац. Теперь давайте посмотрим, как добавить вложенные элементы в файл PDF с тегами. Ниже приведены шаги для выполнения этой операции.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на TaggedContent документа в объект ITaggedContent.
  • Задайте заголовок, заголовок и язык, а также добавьте элементы в PDF-файл с помощью объекта ITaggedContent.
  • Создайте новый элемент ParagraphElement с помощью метода ITaggedContent.createParagraphElement() и задайте его текст.
  • Используйте класс SpanElement для добавления вложенных элементов.
  • Добавьте в абзац вложенный элемент, используя метод ParagraphElement.appendChild().
  • Добавьте абзац в документ, используя метод ITaggedContent.getRootElement().appendChild().
  • Наконец, сохраните файл PDF, используя метод Document.save(String).

В следующем примере кода показано, как добавить вложенные элементы в размеченный PDF-файл на Java.

// Создать новый документ
Document document = new Document();

// Получить контент для работы с PDF с тегами
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Установить заголовок и язык для документа
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Создать абзац
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(new MarginInfo(10, 5, 10, 5));

// Добавить элемент пролета
SpanElement spanElement1 = taggedContent.createSpanElement();
spanElement1.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.createQuoteElement();
quoteElement.setText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.getStructureTextState().setFontStyle(FontStyles.Bold | FontStyles.Italic);
SpanElement spanElement2 = taggedContent.createSpanElement();
spanElement2.setText(" Sed non consectetur elit.");

// Добавить к абзацу
paragraphWithQuotes.appendChild(spanElement1);
paragraphWithQuotes.appendChild(quoteElement);
paragraphWithQuotes.appendChild(spanElement2);

rootElement.appendChild(mainHeader);
rootElement.appendChild(paragraphWithQuotes);

// Сохранить помеченный PDF
document.save("tagged-pdf.pdf");

На следующем снимке экрана показан размеченный PDF-файл с вложенными элементами.

Создайте PDF-файл с тегами с вложенными элементами в Java

Стилизация структуры текста в файле PDF с тегами

Вы также можете применить стиль к тексту в PDF с тегами, установив стиль шрифта, семейство, размер и т. д. Для этого Aspose.PDF для Java позволяет вам установить шрифт, размер шрифта, стиль шрифта и цвет переднего плана, используя StructureTextState класс. В следующем примере кода показано, как применить стиль текста в размеченном PDF-файле на Java.

// Создать новый документ
Document document = new Document();

// Получить контент для работы с PDF с тегами
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Установить заголовок и язык для документа
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Добавить заголовок
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Создать абзац
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// Установить стиль
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// Добавить текст
paragraphWithQuotes.setText("Red italic text.");

// Сохранить помеченный PDF
document.save("tagged-pdf.pdf");

Иллюстрирование элементов структуры в файле PDF с тегами в Java

Чтобы проиллюстрировать элементы структуры, Aspose.PDF для Java предоставляет класс IllustrationElement. В следующем примере кода показано, как использовать этот класс для иллюстрации элементов структуры в PDF-файле с тегами.

// Создать новый документ
Document document = new Document();

// Получить контент для работы с PDF с тегами
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Установить заголовок и язык для документа
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Создать элемент иллюстрации
IllustrationElement figure1 = taggedContent.createFigureElement();
taggedContent.getRootElement().appendChild(figure1);
figure1.setAlternativeText( "Figure One");
figure1.setTitle("Image 1");
figure1.setTag("Fig1");
figure1.setImage("aspose_pdf.png");

// Сохранить помеченный PDF
document.save("tagged-pdf.pdf");

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как создавать PDF-файлы с тегами в Java. Кроме того, вы увидели, как программно создавать вложенные элементы, применять стили к тексту и иллюстрировать элементы структуры в размеченном PDF-файле. Кроме того, вы можете узнать больше о Java PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также