Elementos da estrutura de links

Neste guia passo a passo, mostraremos como usar elementos de estrutura de links com Aspose.PDF para .NET. Aspose.PDF é uma biblioteca poderosa que permite criar e manipular documentos PDF de forma programática. Os elementos da estrutura de links permitem adicionar hiperlinks ao seu documento PDF, permitindo que os usuários cliquem nos links e naveguem para recursos online.

Vamos mergulhar no código e aprender como usar elementos de estrutura de links com Aspose.PDF for .NET.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  1. Biblioteca Aspose.PDF para .NET instalada.
  2. Conhecimento básico da linguagem de programação C#.

Passo 1: Configurando o ambiente

Para começar, abra seu ambiente de desenvolvimento C# e crie um novo projeto. Certifique-se de ter adicionado uma referência à biblioteca Aspose.PDF para .NET em seu projeto.

// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENTS DIRECTORY";
string outFile = dataDir + "LinkStructureElements_Output.pdf";
string logFile = dataDir + "46035_log.xml";
string imgFile = dataDir + "google-icon-512.png";

Passo 2: Criando o documento

O primeiro passo é criar um novo documento PDF usando oDocument aula.

// Crie o documento PDF
Document document = new Document();

Etapa 3: Trabalhe com conteúdo marcado

Em seguida, obtemos o conteúdo marcado do documento para trabalhar.

// Obtenha o conteúdo marcado do documento
ITaggedContent taggedContent = document.TaggedContent;

Etapa 4: definir o título e o idioma do documento

Agora podemos definir o título e o idioma do documento.

// Defina o título e o idioma do documento
taggedContent.SetTitle("Example Link Items");
taggedContent.SetLanguage("fr-FR");

Agora vamos adicionar elementos de estrutura de links ao nosso documento. Criaremos diferentes tipos de links, incluindo links de texto simples, links de imagens e links multilinhas.

// Obtenha o elemento da estrutura raiz (elemento da estrutura do documento)
StructureElement rootElement = taggedContent.RootElement;

// Adicione um parágrafo com um hiperlink
ParagraphElement p1 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p1);
LinkElement link1 = taggedContent.CreateLinkElement();
p1.AppendChild(link1);
link1.Hyperlink = new WebHyperlink("http://google.com");
link1.SetText("Google");
link1.AlternateDescriptions = "Link to Google";

// Adicione um parágrafo com um hiperlink contendo rich text
ParagraphElement p2 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p2);
LinkElement link2 = taggedContent.CreateLinkElement();
p2.AppendChild(link2);
link2.Hyperlink = new WebHyperlink("http://google.com");
SpanElement span2 = taggedContent.CreateSpanElement();
span2.SetText("Google");
link2.AppendChild(span2);
link2.AlternateDescriptions = "Link to Google";

// Adicione um parágrafo com um hiperlink contendo texto parcialmente formatado
ParagraphElement p3 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p3);
LinkElement link3 = taggedContent.CreateLinkElement();
p3.AppendChild(link3);
link3.Hyperlink = new WebHyperlink("http://google.com");
SpanElement span31 = taggedContent.CreateSpanElement();
span31.SetText("G");
SpanElement span32 = taggedContent.CreateSpanElement();
span32.SetText("oogle");
link3.AppendChild(span31);
link3.SetText("-");
link3.AppendChild(span32);
link3.AlternateDescriptions = "Link to Google";

// Adicione um parágrafo com um hiperlink multilinha
ParagraphElement p4 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p4);
LinkElement link4 = taggedContent.CreateLinkElement();
p4.AppendChild(link4);
link4.Hyperlink = new WebHyperlink("http://google.com");
link4.SetText("The multiline link: Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google");
link4.AlternateDescriptions = "Link to Google (multiline)";

// Adicione um parágrafo com um hiperlink contendo uma imagem
ParagraphElement p5 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p5);
LinkElement link5 = taggedContent.CreateLinkElement();
p5.AppendChild(link5);
link5.Hyperlink = new WebHyperlink("http://google.com");
FigureElement figure5 = taggedContent.CreateFigureElement();
figure5.SetImage(imgFile, 1200);
figure5.AlternativeText = "Google icon";
StructureAttributes linkLayoutAttributes = link5.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
StructureAttribute placementAttribute = new StructureAttribute(AttributeKey.Placement);
placementAttribute.SetNameValue(AttributeName.Placement_Block);
linkLayoutAttributes.SetAttribute(placementAttribute);
link5.AppendChild(figure5);
link5.AlternateDescriptions = "Link to Google";

Passo 6: Salve o documento PDF marcado

Finalmente, salvamos o documento PDF marcado.

// Salve o documento PDF marcado
document. Save(outFile);

Etapa 7: verifique a conformidade com PDF/UA

Também podemos verificar a conformidade do documento com PDF/UA usando oValidate método doDocument aula.

// Verifique a conformidade com PDF/UA
document = new Document(outFile);
bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);
Console.WriteLine(String.Format("PDF/UA Compliance: {0}", isPdfUaCompliance));

// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string outFile = dataDir + "LinkStructureElements_Output.pdf";
string logFile = dataDir + "46035_log.xml";
string imgFile = dataDir + "google-icon-512.png";

// Documento de criação e obtenção de conteúdo PDF marcado
Document document = new Document(); 
ITaggedContent taggedContent = document.TaggedContent;

// Configurando o título e o idioma natural do documento
taggedContent.SetTitle("Link Elements Example");
taggedContent.SetLanguage("en-US");

// Obtendo o elemento da estrutura raiz (elemento da estrutura do documento)
StructureElement rootElement = taggedContent.RootElement;
ParagraphElement p1 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p1);
LinkElement link1 = taggedContent.CreateLinkElement();
p1.AppendChild(link1);
link1.Hyperlink = new WebHyperlink("http://google.com");
link1.SetText("Google");
link1.AlternateDescriptions = "Link to Google";
ParagraphElement p2 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p2);
LinkElement link2 = taggedContent.CreateLinkElement();
p2.AppendChild(link2);
link2.Hyperlink = new WebHyperlink("http://google.com");
SpanElement span2 = taggedContent.CreateSpanElement();
span2.SetText("Google");
link2.AppendChild(span2);
link2.AlternateDescriptions = "Link to Google";
ParagraphElement p3 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p3);
LinkElement link3 = taggedContent.CreateLinkElement();
p3.AppendChild(link3);
link3.Hyperlink = new WebHyperlink("http://google.com");
SpanElement span31 = taggedContent.CreateSpanElement();
span31.SetText("G");
SpanElement span32 = taggedContent.CreateSpanElement();
span32.SetText("oogle");
link3.AppendChild(span31);
link3.SetText("-");
link3.AppendChild(span32);
link3.AlternateDescriptions = "Link to Google";
ParagraphElement p4 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p4);
LinkElement link4 = taggedContent.CreateLinkElement();
p4.AppendChild(link4);
link4.Hyperlink = new WebHyperlink("http://google.com");
link4.SetText("The multiline link: Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google");
link4.AlternateDescriptions = "Link to Google (multiline)";
ParagraphElement p5 = taggedContent.CreateParagraphElement();
rootElement.AppendChild(p5);
LinkElement link5 = taggedContent.CreateLinkElement();
p5.AppendChild(link5);
link5.Hyperlink = new WebHyperlink("http://google.com");
FigureElement figure5 = taggedContent.CreateFigureElement();
figure5.SetImage(imgFile, 1200);
figure5.AlternativeText = "Google icon";
StructureAttributes linkLayoutAttributes = link5.Attributes.GetAttributes(AttributeOwnerStandard.Layout);
StructureAttribute placementAttribute = new StructureAttribute(AttributeKey.Placement);
placementAttribute.SetNameValue(AttributeName.Placement_Block);
linkLayoutAttributes.SetAttribute(placementAttribute);
link5.AppendChild(figure5);
link5.AlternateDescriptions = "Link to Google";

// Salvar documento PDF marcado
document.Save(outFile);

// Verificando a conformidade com PDF/UA
document = new Document(outFile);
bool isPdfUaCompliance = document.Validate(logFile, PdfFormat.PDF_UA_1);
Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));

Conclusão

Parabéns! Você aprendeu como usar elementos de estrutura de links com Aspose.PDF para .NET. Agora você pode criar hiperlinks em seus documentos PDF, permitindo que os usuários naveguem até recursos online. Experimente e explore mais recursos do Aspose.PDF para criar documentos PDF interativos e enriquecidos.

Perguntas frequentes

R: Os elementos da estrutura de links em um documento PDF são usados para criar hiperlinks que permitem aos usuários navegar para recursos on-line ou locais específicos no documento. Esses elementos melhoram a interatividade, fornecendo links clicáveis que permitem aos usuários acessar conteúdo relacionado ou sites externos.

R: Os elementos da estrutura de links melhoram a experiência do usuário, tornando o documento PDF interativo. Eles fornecem acesso rápido a informações adicionais, conteúdos relacionados, sites externos ou seções específicas do documento, melhorando a navegação e facilitando a recuperação de informações.

R: Sim, você pode criar vários tipos de hiperlinks usando elementos de estrutura de links. Aspose.PDF for .NET permite criar hiperlinks com texto simples, rich text, imagens e descrições de várias linhas, oferecendo versatilidade na forma como você vincula a conteúdo externo ou locais dentro do documento.

R: Para usar elementos de estrutura de links, primeiro você precisa criar um novo documento PDF usando oDocument aula. Em seguida, obtenha o conteúdo marcado usando oTaggedContentpropriedade do documento. A partir daí, você pode criar e personalizar elementos da estrutura de links e adicioná-los ao elemento da estrutura raiz.

R: Você pode criar um hiperlink de texto simples criando umLinkElement e definindo seuHyperlink propriedade para umWebHyperlink com o URL ao qual você deseja vincular. Você também pode definir o texto de exibição do link usando oSetText método.

R: Sim, você pode criar hiperlinks com imagens usando elementos de estrutura de links. Você criaria umLinkElement e depois anexe umFigureElement com uma imagem para ele. Isso permite que você crie um hiperlink baseado em imagem.

R: Aspose.PDF for .NET oferece a capacidade de validar a conformidade do seu documento PDF com o padrão PDF/UA usando oValidate método doDocumentaula. Isso garante que os hiperlinks do documento sejam acessíveis a usuários com deficiência.

R: Descrições alternativas (texto alternativo) para elementos da estrutura de links fornecem descrições textuais dos hiperlinks. Estas descrições são essenciais para a acessibilidade, permitindo aos utilizadores com deficiência visual compreender a finalidade do link e o seu destino.

R: Embora os elementos da estrutura de links se concentrem principalmente na criação de hiperlinks, você pode personalizar ainda mais a aparência e o comportamento dos hiperlinks usando outros recursos oferecidos pelo Aspose.PDF para .NET. Isso inclui a especificação de cores, estilos e ações de link.

R: Os elementos da estrutura de links transformam documentos PDF estáticos em experiências interativas adicionando hiperlinks clicáveis. Essa interatividade melhora o envolvimento do usuário, permite uma navegação perfeita entre conteúdos relacionados e melhora a usabilidade geral do documento.