Adicionar hiperlinks e marcadores dinamicamente usando C#

Hiperlinks e marcadores são úteis para os usuários navegarem rapidamente pelo conteúdo relevante. Quando clicamos em um hiperlink, ele abre a URL no navegador ou navega para o local do marcador especificado no documento. Neste artigo, aprenderemos como adicionar hiperlinks e indicadores a relatórios dinamicamente usando C#.

Os seguintes tópicos serão abordados neste artigo:

Para adicionar hiperlinks e marcadores a relatórios dinamicamente, usaremos a API GroupDocs.Assembly for .NET. Ele permite que você crie aplicativos poderosos de automação de documentos e geração de relatórios. Ele busca dados da fonte de dados de acordo com o documento de modelo definido, monta-o e gera relatórios no formato de saída especificado. Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package GroupDocs.Assembly

Podemos inserir hiperlinks em relatórios dinamicamente usando tags de link. Podemos usar a tag de link no documento de modelo conforme mostrado abaixo:

<<link [uri_expression][display_text_expression]>>

A uriexpression define o URI para um hiperlink, enquanto a displaytextexpression define o texto a ser exibido para o hiperlink.

Podemos inserir hiperlinks para relatórios dinamicamente seguindo as etapas abaixo:

  1. Crie uma instância da classe DocumentAssembler.
  2. Chame o método AssembleDocument() para montar o documento. Ele usa o caminho do modelo do documento de origem, o caminho do documento de destino e a fonte de dados como argumentos.

O exemplo de código a seguir mostra como adicionar hiperlinks dinamicamente usando C#.

// Este exemplo de código demonstra como adicionar hiperlinks dinamicamente.
// Configurando a fonte 
const string strDocumentTemplate = @"D:\Files\Assembly\Insertinghyperlink.docx";

// Configurando o destino 
const string strDocumentReport = @"D:\Files\Assembly\Insertinghyperlink_out.docx";

// Configurando a expressão Uri
const string uriExpression = "https://www.groupdocs.com/";

// Configurando a expressão de texto de exibição
const string displayTextExpression = "GroupDocs";

// Instanciar a classe DocumentAssembler
DocumentAssembler assembler = new DocumentAssembler();

// Monte o documento 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(uriExpression, "uriExpression"),
    new DataSourceInfo(displayTextExpression, "displayTextExpression"));
Adicione hiperlinks dinamicamente usando C#.

Adicione hiperlinks dinamicamente usando C#.

Adicionar favoritos dinamicamente usando C#

Podemos inserir marcadores em relatórios dinamicamente usando tags de marcadores. Podemos usar a marca de favoritos no documento de modelo, conforme mostrado abaixo:

<<bookmark [bookmark_expression]>>
bookmarked_content
<</bookmark>>

A expressão bookmark define o nome de um marcador a ser inserido.

Podemos inserir marcadores em relatórios dinamicamente seguindo as etapas abaixo:

  1. Crie uma instância da classe DocumentAssembler.
  2. Chame o método AssembleDocument() para montar o documento. Ele usa o caminho do modelo do documento de origem, o caminho do documento de destino e a fonte de dados como argumentos.

O exemplo de código a seguir mostra como adicionar indicadores dinamicamente usando C#.

// Este exemplo de código demonstra como adicionar marcadores dinamicamente.
// Configurando a fonte 
const string strDocumentTemplate = @"D:\Files\Assembly\Insertingbookmark.xlsx";

// Configurando o destino 
const string strDocumentReport = @"D:\Files\Assembly\Insertingbookmark_out.xlsx";

// Configurando a expressão Uri
const String bookmark_expression = "gd_bookmark";

// Configurando a expressão de texto de exibição
const String displayTextExpression = "GroupDocs";

// Instanciar a classe DocumentAssembler
DocumentAssembler assembler = new DocumentAssembler();

// Monte o documento 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(bookmark_expression, "bookmark_expression"),
    new DataSourceInfo(displayTextExpression, "displayTextExpression"));

Também podemos vincular marcadores a hiperlinks em um documento seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o mesmo valor para uriExpression e bookmarkexpression conforme mostrado abaixo:

const string bookmark_expression = "gd_bookmark";
const String uriExpression = "gd_bookmark";

O exemplo de código a seguir mostra como inserir um indicador como um hiperlink usando C#.

// Este exemplo de código demonstra como adicionar um marcador como um hiperlink.
// Configurando a fonte 
const string strDocumentTemplate = @"D:\Files\Assembly\input.docx";

// Configurando o destino 
const string strDocumentReport = @"D:\Files\Assembly\output.docx";

// Configurando a expressão Uri
const string bookmark_expression = "gd_bookmark";

// Configurando a expressão de texto de exibição
const string displayTextExpression = "GroupDocs";

// Configurando a expressão Uri
const String uriExpression = "gd_bookmark";

// Configurando a expressão de texto de exibição
const String uriTextExpression = "GroupDocs";

// Instanciar a classe DocumentAssembler
DocumentAssembler assembler = new DocumentAssembler();

// Monte o documento 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
                           new DataSourceInfo(uriExpression, "uriExpression"), 
                           new DataSourceInfo(uriTextExpression, "uriTextExpression"),
                           new DataSourceInfo(bookmark_expression, "bookmark_expression"),
                           new DataSourceInfo(displayTextExpression, "displayTextExpression"));
Insira o marcador como hiperlink usando C#.

Insira o marcador como hiperlink usando C#.

Obtenha uma licença gratuita

Experimente a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como:

  • inserir hiperlinks e marcadores para relatórios dinamicamente usando C#;
  • adicionar um hiperlink a um marcador dinamicamente.

Além disso, você pode aprender mais sobre GroupDcos.Assembly para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também