Twórz oznaczone pliki PDF w Javie

Otagowany plik PDF wykorzystuje znaczniki do zdefiniowania logicznej struktury treści w dokumencie. Ten typ plików PDF poprawia komfort czytania dzięki technologiom wspomagającym i czytnikom ekranu. W poprzednim poście widziałeś, jak programowo tworzyć pliki PDF w aplikacjach Java. W tym artykule dowiesz się, jak programowo tworzyć oznakowane pliki PDF w Javie.

Java API do tworzenia oznaczonych plików PDF

Aby utworzyć oznaczone pliki PDF, użyjemy Aspose.PDF for Java. Jest to jeden z popularnych interfejsów API do generowania i manipulowania plikami PDF. Korzystając z interfejsu API, możesz bezproblemowo tworzyć, przetwarzać i konwertować pliki PDF o prostych i złożonych układach. Możesz pobrać API lub zainstalować je przy użyciu następujących konfiguracji Mavena.

Magazyn:

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

Zależność:

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

Utwórz oznaczony plik PDF w Javie

Aby utworzyć elementy struktury w oznakowanym pliku PDF, Aspose.PDF dla języka Java udostępnia interfejs ITaggedContent. Zobaczmy więc, jak użyć tego interfejsu do utworzenia oznakowanego pliku PDF w Javie.

Poniższy przykładowy kod pokazuje, jak utworzyć oznakowany plik PDF w Javie.

// Utwórz nowy dokument
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ustaw tytuł i język dokumentu
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Dodaj akapit
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);

// Zapisz otagowany plik PDF
document.save("tagged-pdf.pdf");

Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Utwórz oznaczony plik PDF w Javie

Utwórz oznakowany plik PDF z zagnieżdżonymi elementami w Javie

W poprzednim przykładzie utworzyliśmy prosty plik PDF ze znacznikami zawierający akapit. Przyjrzyjmy się teraz, jak dodać zagnieżdżone elementy w oznakowanym pliku PDF. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak dodawać zagnieżdżone elementy w oznakowanym pliku PDF w Javie.

// Utwórz nowy dokument
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ustaw tytuł i język dokumentu
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Utwórz akapit
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(new MarginInfo(10, 5, 10, 5));

// Dodaj element rozpiętości
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.");

// Dołącz do ust
paragraphWithQuotes.appendChild(spanElement1);
paragraphWithQuotes.appendChild(quoteElement);
paragraphWithQuotes.appendChild(spanElement2);

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

// Zapisz otagowany plik PDF
document.save("tagged-pdf.pdf");

Poniższy zrzut ekranu przedstawia oznaczony plik PDF z zagnieżdżonymi elementami.

Utwórz oznakowany plik PDF z zagnieżdżonymi elementami w Javie

Stylizacja struktury tekstu w oznakowanym pliku PDF

Możesz także zastosować stylizację do tekstu w oznakowanym pliku PDF, ustawiając styl czcionki, rodzinę, rozmiar itp. W tym celu Aspose.PDF dla języka Java umożliwia ustawienie czcionki, rozmiaru czcionki, stylu czcionki i koloru pierwszego planu za pomocą StructureTextState klasa. Poniższy przykładowy kod pokazuje, jak zastosować stylizację tekstu w oznakowanym pliku PDF w Javie.

// Utwórz nowy dokument
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ustaw tytuł i język dokumentu
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Utwórz akapit
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// Zestaw stylizacji
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// Dodaj tekst
paragraphWithQuotes.setText("Red italic text.");

// Zapisz otagowany plik PDF
document.save("tagged-pdf.pdf");

Ilustrowanie elementów struktury w oznakowanym pliku PDF w Javie

Aby zilustrować elementy struktury, Aspose.PDF dla Javy udostępnia klasę IllustrationElement. Poniższy przykład kodu pokazuje, jak używać tej klasy do ilustrowania elementów struktury w oznakowanym pliku PDF.

// Utwórz nowy dokument
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ustaw tytuł i język dokumentu
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Utwórz element ilustracji
IllustrationElement figure1 = taggedContent.createFigureElement();
taggedContent.getRootElement().appendChild(figure1);
figure1.setAlternativeText( "Figure One");
figure1.setTitle("Image 1");
figure1.setTag("Fig1");
figure1.setImage("aspose_pdf.png");

// Zapisz otagowany plik PDF
document.save("tagged-pdf.pdf");

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.PDF dla Javy bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć oznakowane pliki PDF w Javie. Ponadto wiesz, jak programowo tworzyć elementy zagnieżdżone, stosować stylizację do tekstu i ilustrować elementy struktury w oznakowanym pliku PDF. Ponadto możesz dowiedzieć się więcej o Java PDF API, korzystając z dokumentacji. W przypadku jakichkolwiek pytań lub wątpliwości możesz skontaktować się z nami za pośrednictwem naszego forum.

Zobacz też