Como converter XML para PDF usando C#

Convert XML to PDF in C# and VB.NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

Converta XML para PDF em C# usando transformações XSLT para primeiro converter XML em HTML e, em seguida, renderizar o HTML como PDF com o IronPDF, oferecendo uma solução confiável para esquemas XML complexos.

Converter XML diretamente para PDF em C# requer uma abordagem estratégica. O método mais eficaz utiliza XSLT como modelo de transformação. XML converte para PDF via HTML(5) usando transformações XSLT . Os documentos XSLT definem como o XML de um determinado esquema é convertido em uma representação HTML precisa, seguindo padrões bem estabelecidos. XSLT funciona como um tradutor personalizado de XML para HTML. O mecanismo de renderização Chrome do IronPDF garante uma conversão precisa de HTML para PDF.

Consulte o artigo da Microsoft " Usando a classe XslCompiledTransform " para saber mais sobre a transformação XSLT.

Início rápido: Converter XML para PDF com IronPDF

Converta arquivos XML em PDFs facilmente usando o IronPDF. Com poucas linhas de código, use XSLT para converter dados XML em HTML e renderizá-los como um documento PDF. O IronPDF proporciona uma integração simples, mantendo a formatação e garantindo a compatibilidade entre plataformas. Este processo utiliza os recursos de conversão de HTML para PDF do IronPDF para criar documentos de alta qualidade.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf(
            XslCompiledTransform.Load("template.xslt")
                .Transform(XmlReader.Create("data.xml"), new StringWriter())
                .ToString()
        )
        .SaveAs("output.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como faço para implementar a conversão de XML para PDF em C#?

Para implementar a conversão de XML para PDF em C#, combine a transformação XSLT com a geração de PDF. Primeiro, crie um modelo XSLT que defina como os dados XML devem ser formatados em HTML. Em seguida, use a classe XslCompiledTransform para aplicar essa transformação aos dados XML. Finalmente, renderize o HTML resultante como PDF usando o ChromePdfRenderer do IronPDF.

O processo envolve carregar o modelo XSLT, aplicá-lo à fonte de dados XML e capturar a saída HTML. Passe esse HTML diretamente para o renderizador do IronPDF, que lida com todas as complexidades da criação de um documento PDF formatado corretamente. Para cenários avançados, aplique estilos CSS personalizados para melhorar a apresentação visual da saída em PDF.

Por que usar XSLT para conversão de XML em PDF?

XSLT (Extensible Stylesheet Language Transformations) oferece a abordagem mais flexível e de fácil manutenção para converter XML em PDF. Ao contrário das bibliotecas de conversão direta de XML para PDF, o XSLT permite definir regras de transformação precisas que lidam com esquemas XML complexos e estruturas aninhadas. Essa abordagem oferece controle total sobre a aparência final do documento, mantendo a separação entre dados (XML) e apresentação (XSLT).

O uso do XSLT permite aproveitar tecnologias web existentes, como HTML e CSS, para estilizar a saída em PDF. Utilize ferramentas e técnicas familiares em vez de aprender linguagens proprietárias de formatação de PDF. Além disso, os modelos XSLT são reutilizáveis ​​e facilmente modificados sem alterar o código C#, o que simplifica a manutenção.

Quais são os principais componentes necessários?

Os componentes essenciais para a conversão de XML para PDF incluem o namespace System.Xml para processamento de XML, a classe XslCompiledTransform para transformações XSLT e o IronPDF para renderização de HTML para PDF. Instale o IronPDF via NuGet para acessar os recursos de geração de PDFs.

O modelo XSLT serve como projeto para a transformação, definindo como os elementos XML são mapeados para estruturas HTML. O modelo deve incluir uma estrutura HTML adequada com informações de estilo, seja em linha ou através de CSS. Para layouts complexos, gerencie as fontes e manipule as imagens adequadamente dentro das transformações.

Quando devo escolher esta abordagem em vez de outras alternativas?

A abordagem de transformação XSLT se destaca ao lidar com dados XML estruturados que necessitam de opções de formatação flexíveis. É adequado para gerar relatórios, faturas, catálogos ou documentos onde os dados XML devem ser apresentados em layouts específicos. Esse método funciona bem ao oferecer suporte a vários formatos de saída a partir da mesma fonte XML, criando diferentes modelos XSLT para diferentes requisitos de apresentação.

No entanto, para estruturas XML simples ou conversões ocasionais de documentos, considere alternativas mais simples. Para conversões básicas, analise o XML diretamente e construa o HTML programaticamente. Mas para sistemas de produção que lidam com vários esquemas XML ou que exigem lógica de transformação de fácil manutenção, a abordagem XSLT com IronPDF oferece a solução mais confiável.

A string ou arquivo HTML resultante é renderizado como PDF usando o .NET PDF Generator . Baixe um projeto de exemplo que demonstra as capacidades do IronPDF para converter XML em PDF neste exemplo de conversão de XML para PDF .

Exemplo

// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
...
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
...
' XSLT template that defines the transformation from XML to HTML
Dim xslt As String = "<?xml version='1.0' encoding='UTF-8'?>" & _
"<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" & _
"..."
$vbLabelText   $csharpLabel

Conversão avançada de XML para PDF com opções de renderização personalizadas.

Aplicações de produção frequentemente necessitam de maior controle sobre a saída em PDF. O IronPDF oferece diversas opções de renderização para personalizar o documento final. Este exemplo aprimorado demonstra a aplicação de formatação profissional, cabeçalhos, rodapés e configurações de página:

// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
' Configure advanced rendering options
Dim renderer As New ChromePdfRenderer()

...
$vbLabelText   $csharpLabel

Trabalhando com esquemas XML complexos

Ao lidar com estruturas XML complexas, os modelos XSLT devem gerenciar elementos aninhados, atributos e formatação condicional. Aplique marcas d'água e adicione números de página para aumentar o profissionalismo do documento. Considere usar parâmetros XSLT para tornar os modelos mais flexíveis:

// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
' Create XSLT argument list for dynamic parameters
Dim args As New XsltArgumentList()
...
$vbLabelText   $csharpLabel

Infográfico

Transformação de XML para HTML usando XSLT, mostrando dados de catálogo convertidos para formato tabular.

Perguntas frequentes

Como faço para converter XML em PDF em C#?

Para converter XML em PDF em C#, use transformações XSLT para primeiro converter o XML em HTML e, em seguida, renderize o HTML como PDF com o IronPDF. Carregue seu modelo XSLT usando o XslCompiledTransform, aplique-o aos seus dados XML para gerar o HTML e, em seguida, use o ChromePdfRenderer do IronPDF para criar o documento PDF final.

Por que devo usar XSLT para conversão de XML em PDF?

O XSLT oferece a abordagem mais flexível para a conversão de XML para PDF, pois atua como um tradutor personalizado de XML para HTML. Combinado com o mecanismo de renderização Chrome do IronPDF, esse método garante uma conversão perfeita em termos de pixels, mantendo o controle total sobre a formatação dos dados XML no documento PDF final.

Quais são os passos para implementar a conversão de XML para PDF?

A implementação envolve 5 etapas: 1) Instalar a biblioteca IronPDF C#, 2) Carregar seu modelo XSLT usando o método Load, 3) Transformar XML em HTML usando o método Transform, 4) Renderizar HTML para PDF com as opções de renderização personalizadas do IronPDF e 5) Exportar o documento PDF para o local desejado.

Posso aplicar estilos personalizados à minha conversão de XML para PDF?

Sim, você pode aplicar estilos CSS personalizados para aprimorar a apresentação visual do seu PDF. O IronPDF oferece suporte a estilos CSS responsivos, permitindo que você crie PDFs com formatação profissional a partir de seus dados XML, com controle total sobre fontes, layouts e elementos visuais.

É possível converter XML para PDF com uma única linha de código?

Sim, o IronPDF permite a conversão de XML para PDF em uma única linha por meio do encadeamento de métodos: new IronPDF.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf");

Qual mecanismo de renderização é usado para a conversão de XML para PDF?

O IronPDF utiliza um mecanismo de renderização do Chrome para a conversão de HTML em PDF, garantindo renderização perfeita em pixels e compatibilidade com os padrões web modernos. Esse mecanismo lida com todas as complexidades da criação de documentos PDF formatados corretamente a partir dos seus dados XML transformados.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Analisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente de Programa Principal - Equipe da Comunidade .NET
Jeff também é Gerente de Programa Principal das equipes do .NET e do Visual Studio. Ele é o produtor executivo da série de conferências virtuais .NET Conf e apresenta o "Fritz and Friends", uma transmissão ao vivo para desenvolvedores que vai ao ar duas vezes por semana, onde ele conversa sobre tecnologia e escreve código junto com os espectadores. Jeff cria workshops, apresentações e planeja conteúdo para os maiores eventos de desenvolvedores da Microsoft, incluindo o Microsoft Build, o Microsoft Ignite, a .NET Conf e o Microsoft MVP Summit.
Pronto para começar?
Nuget Downloads 18,332,619 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.