Crea file PDF con tag in Java

Un file PDF con tag utilizza i tag per definire la struttura logica del contenuto nel documento. Questo tipo di PDF migliora l’esperienza di lettura utilizzando tecnologie assistive e lettori di schermo. Nel post precedente, hai visto come creare file PDF in modo programmatico in applicazioni Java. In questo articolo imparerai come creare file PDF con tag in modo programmatico in Java.

API Java per creare file PDF con tag

Per creare i file PDF contrassegnati, utilizzeremo Aspose.PDF per Java. È una delle API popolari per la generazione e la manipolazione di PDF. Utilizzando l’API, puoi creare, elaborare e convertire senza problemi file PDF di layout semplici e complessi. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

Archivio:

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

Dipendenza:

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

Crea un file PDF con tag in Java

Per creare elementi di struttura in un PDF con tag, Aspose.PDF per Java fornisce l’interfaccia ITaggedContent. Vediamo quindi come utilizzare questa interfaccia per creare un file PDF con tag in Java.

L’esempio di codice seguente mostra come creare un PDF con tag in Java.

// Crea un nuovo documento
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Imposta titolo e lingua per il documento
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Aggiungi intestazione
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Aggiungi paragrafo
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);

// Salva PDF con tag
document.save("tagged-pdf.pdf");

Di seguito è riportato l’output dell’esempio di codice precedente.

Crea un file PDF con tag in Java

Crea un PDF con tag con elementi nidificati in Java

Nell’esempio precedente, abbiamo creato un semplice PDF con tag che contiene un paragrafo. Diamo ora un’occhiata a come aggiungere elementi nidificati in un PDF con tag. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come aggiungere elementi nidificati in un PDF con tag in Java.

// Crea un nuovo documento
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Imposta titolo e lingua per il documento
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Aggiungi intestazione
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

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

// Aggiungi elemento 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.");

// Aggiungi al paragrafo
paragraphWithQuotes.appendChild(spanElement1);
paragraphWithQuotes.appendChild(quoteElement);
paragraphWithQuotes.appendChild(spanElement2);

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

// Salva PDF con tag
document.save("tagged-pdf.pdf");

Lo screenshot seguente mostra il PDF contrassegnato con elementi nidificati.

Crea un PDF con tag con elementi nidificati in Java

Stile della struttura del testo in un PDF con tag

Puoi anche applicare uno stile al testo in un PDF con tag impostando lo stile del carattere, la famiglia, la dimensione, ecc. Per questo, Aspose.PDF per Java ti consente di impostare il carattere, la dimensione del carattere, lo stile del carattere e il colore di primo piano usando StructureTextState classe. L’esempio di codice seguente mostra come applicare lo stile del testo in un PDF con tag in Java.

// Crea un nuovo documento
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Imposta titolo e lingua per il documento
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// Aggiungi intestazione
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// Crea paragrafo
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// Imposta lo stile
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// Aggiungi testo
paragraphWithQuotes.setText("Red italic text.");

// Salva PDF con tag
document.save("tagged-pdf.pdf");

Illustrare gli elementi della struttura in un PDF con tag in Java

Per illustrare gli elementi della struttura, Aspose.PDF per Java fornisce la classe IllustrationElement. L’esempio di codice seguente mostra come usare questa classe per illustrare gli elementi della struttura in un PDF con tag.

// Crea un nuovo documento
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// Imposta titolo e lingua per il documento
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

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

// Salva PDF con tag
document.save("tagged-pdf.pdf");

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.PDF per Java senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come creare file PDF con tag in Java. Inoltre, hai visto come creare elementi nidificati, applicare uno stile al testo e illustrare gli elementi della struttura in un PDF con tag a livello di codice. Inoltre, puoi esplorare di più sull’API Java PDF utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.

Guarda anche