Crea file PDF con tag in C# .NET

Un file PDF con tag è un tipo di PDF che utilizza i tag per definire la struttura logica del contenuto nel documento. Viene utilizzato per migliorare l’esperienza di lettura per coloro che utilizzano tecnologie assistive e lettori di schermo. In un post precedente, abbiamo trattato la creazione di file PDF all’interno di un’applicazione .NET. In questo articolo dimostreremo come creare file PDF con tag a livello di codice in C# .NET.

API C# .NET per creare PDF con tag - Download gratuito

Aspose.PDF for .NET è una robusta API per la generazione e la manipolazione di PDF all’interno delle applicazioni .NET. Utilizzando l’API, puoi creare, elaborare e convertire senza problemi file PDF di layout semplici e complessi. Puoi scaricare i binari dell’API o installarlo utilizzando NuGet.

PM> Install-Package Aspose.PDF

Crea un file PDF con tag in C# .NET

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

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

// Crea documento PDF
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// 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 C#

C# Crea un PDF con tag con elementi nidificati

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 C#.

// Crea documento PDF
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// 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.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = 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.StructureTextState.FontStyle = 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);

// Aggiungi all'elemento radice
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Salva PDF con tag
document.Save("tagged-pdf-nested-elements.pdf");

Lo screenshot seguente mostra il PDF contrassegnato con elementi nidificati.

Crea un PDF con tag con elementi nidificati in C#

Stile della struttura del testo in un PDF con tag in C#

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 .NET fornisce Font, FontSize, FontStyle e ForegroundColor proprietà della classe StructureTextState. L’esempio di codice seguente mostra come applicare lo stile del testo in un PDF con tag in C#.

// Crea documento PDF
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// 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.RootElement.AppendChild(paragraphWithQuotes);

// Imposta lo stile
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Aggiungi testo
paragraphWithQuotes.SetText("Red italic text.");

// Salva PDF con tag
document.Save("tagged-pdf-text-styling.pdf");

C# Illustrare gli elementi della struttura in un PDF con tag

Per illustrare gli elementi della struttura, Aspose.PDF per .NET 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 documento PDF
Document document = new Document();

// Ottieni contenuti per lavorare con PDF con tag
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Imposta titolo e lingua per il documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// Salva PDF con tag
document.Save("tagged-pdf-illustrating-structure.pdf");

API C# per creare PDF con tag: ottieni una licenza gratuita

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

Conclusione

In questo articolo, hai imparato come creare file PDF con tag in C#. 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 .NET PDF utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.

Guarda anche