Um arquivo marcado PDF é um tipo de PDF que usa marcas para definir a estrutura lógica do conteúdo do documento. Ele é usado para aprimorar a experiência de leitura para quem usa tecnologias assistivas e leitores de tela. Em um post anterior, abordamos a criação de arquivos PDF em um aplicativo .NET. Neste artigo, demonstraremos como criar arquivos PDF marcados programaticamente em C# .NET.
- API .NET para criar arquivos PDF marcados
- Criar um arquivo PDF marcado
- Criar um PDF marcado com elementos aninhados
- Estilizando a estrutura de texto em um PDF marcado
- Ilustrando elementos de estrutura em um PDF marcado
API C# .NET para criar PDF marcado - download gratuito
Aspose.PDF for .NET é uma API robusta para geração e manipulação de PDF dentro dos aplicativos .NET. Usando a API, você pode criar, processar e converter facilmente arquivos PDF de layouts simples e complexos. Você pode baixar os binários da API ou instalá-la usando NuGet.
PM> Install-Package Aspose.PDF
Criar um arquivo PDF marcado em C# .NET
Para criar elementos de estrutura em um PDF marcado, o Aspose.PDF para .NET fornece a interface ITaggedContent. Então vamos ver como usar essa interface para criar um arquivo PDF marcado em C#.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência do TaggedContent do documento em um objeto ITaggedContent.
- Defina o título, o cabeçalho e o idioma e adicione elementos ao PDF usando o objeto ITaggedContent.
- Crie um novo ParagraphElement usando o método ITaggedContent.CreateParagraphElement() e defina seu texto.
- Adicione o parágrafo ao documento usando o método ITaggedContent.RootElement.AppendChild().
- Finalmente, salve o arquivo PDF usando o método Document.Save(String).
O exemplo de código a seguir mostra como criar um PDF marcado em C#.
// Criar documento PDF
Document document = new Document();
// Obtenha conteúdo para trabalhar com PDF marcado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// Definir título e idioma para o documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// Adicionar cabeçalho
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// Adicionar parágrafo
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);
// Salvar PDF marcado
document.Save("tagged-pdf.pdf");
A seguir está a saída do exemplo de código acima.
C# Criar um PDF marcado com elementos aninhados
No exemplo anterior, criamos um PDF com tags simples que contém um parágrafo. Vamos agora dar uma olhada em como adicionar elementos aninhados em um PDF marcado. A seguir estão as etapas para realizar esta operação.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência do TaggedContent do documento em um objeto ITaggedContent.
- Defina o título, o cabeçalho e o idioma e adicione elementos ao PDF usando o objeto ITaggedContent.
- Crie um novo ParagraphElement usando o método ITaggedContent.CreateParagraphElement() e defina seu texto.
- Use a classe SpanElement para adicionar os elementos aninhados.
- Adicione um elemento aninhado ao parágrafo usando o método ParagraphElement.AppendChild().
- Adicione o parágrafo ao documento usando o método ITaggedContent.RootElement.AppendChild().
- Finalmente, salve o arquivo PDF usando o método Document.Save(String).
O exemplo de código a seguir mostra como adicionar elementos aninhados em um PDF marcado em C#.
// Criar documento PDF
Document document = new Document();
// Obtenha conteúdo para trabalhar com PDF marcado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// Definir título e idioma para o documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// Adicionar cabeçalho
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// Criar parágrafo
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);
// Adicionar elemento de intervalo
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.");
// Anexar ao parágrafo
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);
// Adicionar ao elemento raiz
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);
// Salvar PDF marcado
document.Save("tagged-pdf-nested-elements.pdf");
A captura de tela a seguir mostra o PDF marcado com elementos aninhados.
Estilizando a estrutura de texto em um PDF marcado em C#
Você também pode aplicar estilo ao texto em um PDF marcado, definindo o estilo da fonte, família, tamanho, etc. Para isso, o Aspose.PDF para .NET fornece Font, FontSize, FontStyle e propriedades ForegroundColor da classe StructureTextState. O exemplo de código a seguir mostra como aplicar estilo de texto em um PDF marcado em C#.
// Criar documento PDF
Document document = new Document();
// Obtenha conteúdo para trabalhar com PDF marcado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// Definir título e idioma para o documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// Adicionar cabeçalho
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// Criar parágrafo
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);
// Definir estilo
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
// Adicione texto
paragraphWithQuotes.SetText("Red italic text.");
// Salvar PDF marcado
document.Save("tagged-pdf-text-styling.pdf");
C# ilustrando elementos de estrutura em um PDF marcado
Para ilustrar os elementos da estrutura, o Aspose.PDF para .NET fornece a classe IllustrationElement. O exemplo de código a seguir mostra como usar essa classe para ilustrar os elementos de estrutura em um PDF marcado.
// Criar documento PDF
Document document = new Document();
// Obtenha conteúdo para trabalhar com PDF marcado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// Definir título e idioma para o 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");
// Salvar PDF marcado
document.Save("tagged-pdf-illustrating-structure.pdf");
API C# para criar PDF marcado - Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para .NET sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como criar arquivos PDF marcados em C#. Além disso, você viu como criar elementos aninhados, aplicar estilo ao texto e ilustrar elementos de estrutura em um PDF marcado programaticamente. Além disso, você pode explorar mais sobre a API .NET PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.