Створюйте PDF-файли з тегами в Java

Файл PDF із тегами використовує теги для визначення логічної структури вмісту документа. Цей тип PDF покращує читання за допомогою допоміжних технологій і програм зчитування з екрана. У попередній публікації ви бачили, як програмно створювати файли PDF у програмах Java. У цій статті ви дізнаєтеся, як програмно створювати PDF-файли з тегами в Java.

Java API для створення тегованих файлів 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 for 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));

// Додати елемент span
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 for 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 for 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
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 for Java без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створювати PDF-файли з тегами в Java. Крім того, ви бачили, як програмно створювати вкладені елементи, застосовувати стилі до тексту та проілюструвати структурні елементи в PDF-файлі з тегами. Крім того, ви можете дізнатися більше про Java PDF API за допомогою документації. Якщо у вас виникнуть запитання чи запити, ви можете зв’язатися з нами через наш форум.

Дивись також