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 .NET per creare file PDF con tag
- Crea un file PDF con tag
- Crea un PDF con tag con elementi nidificati
- Stile della struttura del testo in un PDF con tag
- Illustrare gli elementi della struttura in un PDF con tag
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#.
- Crea un nuovo PDF o caricane uno esistente utilizzando la classe Documento.
- Ottieni il riferimento del TaggedContent del documento in un oggetto ITaggedContent.
- Imposta titolo, intestazione e lingua e aggiungi elementi al PDF utilizzando l’oggetto ITaggedContent.
- Crea un nuovo ParagraphElement usando il metodo ITaggedContent.CreateParagraphElement() e impostane il testo.
- Aggiungi il paragrafo al documento usando il metodo ITaggedContent.RootElement.AppendChild().
- Infine, salva il file PDF utilizzando il metodo Document.Save(String).
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.
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.
- Crea un nuovo PDF o caricane uno esistente utilizzando la classe Documento.
- Ottieni il riferimento del TaggedContent del documento in un oggetto ITaggedContent.
- Imposta titolo, intestazione e lingua e aggiungi elementi al PDF utilizzando l’oggetto ITaggedContent.
- Crea un nuovo ParagraphElement usando il metodo ITaggedContent.CreateParagraphElement() e impostane il testo.
- Usa la classe SpanElement per aggiungere gli elementi nidificati.
- Aggiungi un elemento nidificato al paragrafo usando il metodo ParagraphElement.AppendChild().
- Aggiungi il paragrafo al documento usando il metodo ITaggedContent.RootElement.AppendChild().
- Infine, salva il file PDF utilizzando il metodo Document.Save(String).
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.
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.