Skapa taggade PDF-filer i Java

En taggad PDF-fil använder taggar för att definiera den logiska strukturen för innehållet i dokumentet. Den här typen av PDF förbättrar läsupplevelsen med hjälp av hjälpmedel och skärmläsare. I föregående inlägg har du sett hur du skapar PDF-filer programmatiskt i Java-applikationer. I den här artikeln kommer du att lära dig hur du skapar taggade PDF-filer programmatiskt i Java.

Java API för att skapa taggade PDF-filer

För att skapa de taggade PDF-filerna kommer vi att använda Aspose.PDF for Java. Det är en av de populära API:erna för PDF-generering och -manipulation. Med hjälp av API:et kan du sömlöst skapa, bearbeta och konvertera PDF-filer med enkla och komplexa layouter. Du kan ladda ner API:t eller installera det med hjälp av följande Maven-konfigurationer.

Förvar:

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

Beroende:

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

Skapa en taggad PDF-fil i Java

För att skapa strukturelement i en taggad PDF tillhandahåller Aspose.PDF för Java gränssnittet ITaggedContent. Så låt oss se hur man använder det här gränssnittet för att skapa en taggad PDF-fil i Java.

Följande kodexempel visar hur man skapar en taggad PDF i Java.

// Skapa ett nytt dokument
Document document = new Document();

// Skaffa innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ställ in titel och språk för dokumentet
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Lägg till stycke
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);

// Spara taggad PDF
document.save("tagged-pdf.pdf");

Följande är resultatet av ovanstående kodexempel.

Skapa en taggad PDF-fil i Java

Skapa en taggad PDF med Nested Elements i Java

I det föregående exemplet skapade vi en enkel taggad PDF som innehåller ett stycke. Låt oss nu ta en titt på hur man lägger till kapslade element i en taggad PDF. Följande är stegen för att utföra denna operation.

Följande kodexempel visar hur man lägger till kapslade element i en taggad PDF i Java.

// Skapa ett nytt dokument
Document document = new Document();

// Skaffa innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ställ in titel och språk för dokumentet
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Skapa stycke
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(new MarginInfo(10, 5, 10, 5));

// Lägg till span element
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.");

// Bifoga till paragraf
paragraphWithQuotes.appendChild(spanElement1);
paragraphWithQuotes.appendChild(quoteElement);
paragraphWithQuotes.appendChild(spanElement2);

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

// Spara taggad PDF
document.save("tagged-pdf.pdf");

Följande skärmdump visar den taggade PDF-filen med kapslade element.

Skapa en taggad PDF med Nested Elements i Java

Styla textstruktur i en taggad PDF

Du kan också tillämpa stil på texten i en taggad PDF genom att ställa in teckensnitt, familj, storlek, etc. För detta låter Aspose.PDF för Java dig ställa in teckensnitt, teckenstorlek, teckensnittsstil och förgrundsfärg med StructureTextState klass. Följande kodexempel visar hur man använder textstil i en taggad PDF i Java.

// Skapa ett nytt dokument
Document document = new Document();

// Skaffa innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ställ in titel och språk för dokumentet
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Skapa stycke
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// Ställ in styling
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// Lägg till text
paragraphWithQuotes.setText("Red italic text.");

// Spara taggad PDF
document.save("tagged-pdf.pdf");

Illustrera strukturelement i en taggad PDF i Java

För att illustrera strukturelementen tillhandahåller Aspose.PDF för Java klass IllustrationElement. Följande kodexempel visar hur man använder den här klassen för att illustrera strukturelementen i en taggad PDF.

// Skapa ett nytt dokument
Document document = new Document();

// Skaffa innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Ställ in titel och språk för dokumentet
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Skapa 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");

// Spara taggad PDF
document.save("tagged-pdf.pdf");

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att använda Aspose.PDF för Java utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du skapar taggade PDF-filer i Java. Dessutom har du sett hur du skapar kapslade element, tillämpar stil på text och illustrerar strukturelement i en taggad PDF-fil programmatiskt. Dessutom kan du utforska mer om Java PDF API med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.

Se även