IRONSOFTWAREHOME

Convert Razor to PDF in Blazor Server with C# PdfDocument

Curtis Chau
Curtis Chau
Updated: 3 de junho de 2026

Converta componentes Razor para PDF no Blazor Server usando o método RenderRazorComponentToPdf do IronPDF. Transforme componentes de interface do usuário em C# em PDFs com o mínimo de código e total personalização de cabeçalhos, rodapés e formatação de página.

Início Rápido: Converter Componente Razor para PDF em Minutos

Converter componentes Razor para PDF em aplicações Blazor Server usando o IronPDF. O método RenderRazorComponentToPdf transforma seus componentes Razor em PDFs com poucas linhas de código. Siga este guia para integrar a conversão de Razor para PDF ao seu projeto com configuração mínima e opções de personalização flexíveis.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie e execute este trecho de código.

    // Install-Package o Blazor IronPDF
    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderRazorComponentToPdf<MyComponent>(new Dictionary<string,object> { {"persons",personsList} })
        .SaveAs("component-to-pdf.pdf");
    C#
  3. 3Implante para testar em seu ambiente de produção.

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

Quais pacotes NuGet eu preciso para a conversão de Razor para PDF?

O pacote IronPdf.Extensions.Blazor estende o pacote principal IronPdf. Ambos os pacotes são necessários para renderizar componentes Razor em documentos PDF em um aplicativo Blazor Server. Esta extensão fornece pontos de integração para aplicativos Blazor Server, permitindo que você converta componentes Razor existentes em PDFs sem grandes alterações de refatoração.

Instalar IronPdf.Extensions.Blazor inclui automaticamente a biblioteca principal IronPdf como uma dependência. O pacote de extensão adiciona métodos como RenderRazorComponentToPdf que entendem o modelo de componente do Blazor e renderizam corretamente componentes com dados vinculados. Para obter o melhor desempenho e os recursos mais recentes, use a versão mais recente de ambos os pacotes. Confira o changelog para atualizações e melhorias.

PM > Install-Package o Blazor IronPDF

Biblioteca NuGet C# para PDF

Instalar com NuGet

Install-Package o Blazor IronPDF

Como faço para renderizar componentes Razor em PDFs no Blazor Server?

É necessário um projeto de aplicativo Blazor Server para converter componentes Razor em PDFs. Os aplicativos Blazor Server são executados no servidor e renderizam atualizações da interface do usuário por meio de uma conexão SignalR, tornando-os adequados para geração de PDFs, onde o processamento no servidor é necessário. Essa arquitetura garante que a renderização de PDFs ocorra no servidor, proporcionando resultados consistentes independentemente do navegador ou dispositivo do cliente.

Antes de começar, certifique-se de ter o SDK do .NET instalado e o Visual Studio 2019 ou posterior com o fluxo de trabalho de desenvolvimento ASP.NET e web. Crie um novo aplicativo Blazor Server através dos modelos de projeto do Visual Studio ou usando o CLI .NET com dotnet new blazorserver. Para obter instruções detalhadas de instalação e requisitos específicos da plataforma, consulte a Visão geral da instalação .

Qual estrutura de classe de modelo devo usar?

Adicione uma classe C# padrão chamada PersonInfo. Esta classe serve como modelo para armazenar informações de pessoas. Insira o seguinte código:

namespace BlazorSample.Data
{
    public class PersonInfo
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

Este modelo representa a estrutura de dados passada para o seu componente Razor e renderizada no PDF. O IronPDF funciona com qualquer modelo de objeto C#, desde POCOs simples até modelos complexos do Entity Framework. Ao projetar modelos para geração de PDFs, considere como os dados serão exibidos no documento final e estruture as propriedades de acordo.

Como faço para implementar o componente Razor para geração de PDF?

Use o método RenderRazorComponentToPdf para converter componentes Razor em PDFs. Acesse esse método instanciando a classe ChromePdfRenderer. O método retorna um objeto PdfDocument para exportação ou modificação posterior.

O PdfDocument retornado oferece suporte a modificações adicionais, incluindo conversão para formatos PDF/A ou PDF/UA. Você pode mesclar ou dividir o documento, girar as páginas e adicionar anotações ou marcadores . Aplique marcas d'água personalizadas conforme necessário.

Adicione um componente Razor chamado Person.razor. Insira o seguinte código:

@page "/Person"
@using BlazorSample.Data;
@using IronPdf;
@using IronPdf.Extensions.Blazor;

<h3>Person</h3>

@code {
    // A parameter to receive a list of persons from the parent component.
    [Parameter]
    public IEnumerable<PersonInfo> persons { get; set; }

    // Dictionary to hold parameters that will be passed to the PDF renderer.
    public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();

    protected override async Task OnInitializedAsync()
    {
        // Initialize the persons list with some sample data.
        persons = new List<PersonInfo>
        {
            new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
            new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
            new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
        };
    }

    private async void PrintToPdf()
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply text footer to the PDF pages.
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };

        Parameters.Add("persons", persons);

        // Render Razor component to PDF and save it.
        PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
        File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
    }
}

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    @foreach (var person in persons)
    {
        <tr>
            <td>@person.Name</td>
            <td>@person.Title</td>
            <td>@person.Description</td>
        </tr>
    }
</table>

<button class="btn btn-primary" @onclick="PrintToPdf">Print to Pdf</button>
Text

Este método oferece acesso a todos os recursos do RenderingOptions. Adicione cabeçalhos e rodapés de texto e HTML , inclua números de página e ajuste as dimensões e o layout da página. RenderingOptions oferece suporte a margens personalizadas, configurações de viewport para designs responsivos, e atrasos na execução de JavaScript para conteúdo dinâmico.

Para layouts complexos ou frameworks CSS como o Bootstrap, explore os recursos de renderização CSS responsiva para garantir que os PDFs sejam exibidos corretamente em diferentes tamanhos de página.

Como adiciono navegação ao meu componente Razor ?

  • Navegue até a "pasta Compartilhada" e abra NavMenu.razor. Adicione a seção que abrirá nosso componente Razor, Person. Nosso componente Person será a segunda opção.
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <nav class="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="Person">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Person
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
    </nav>
</div>
Text

Essa configuração de navegação se integra ao sistema de roteamento do Blazor, permitindo que os usuários acessem a funcionalidade de geração de PDF a partir do menu de navegação principal do seu aplicativo. O componente NavLink garante o destaque adequado da rota ativa.

Como é o processo de geração de PDFs?

Execute o projeto e gere um documento PDF. Clique no botão "Imprimir para PDF". O IronPDF processa seu componente Razor , converte-o em HTML e o renderiza como um PDF usando seu mecanismo de renderização baseado no Chrome. Isso mantém a mesma fidelidade visual dos navegadores modernos.

Visual Studio depurando um aplicativo Blazor com código de geração de PDF usando `ChromePdfRenderer` e componentes Razor

O PDF gerado será salvo no diretório de saída do seu projeto. Personalize o local de salvamento, implemente downloads diretos pelo navegador ou armazene PDFs em armazenamento em nuvem, como o Azure Blob Storage. Para aplicações de produção, implemente tratamento de erros e feedback do usuário para cenários em que a geração de PDF possa falhar ou exceder a duração esperada.

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

Onde posso baixar um exemplo completo e funcional?

Baixe o código completo deste guia como um arquivo compactado. Abra-o no Visual Studio como um projeto de Aplicativo Blazor Server. O exemplo inclui todas as dependências, configurações e código de exemplo para começar imediatamente a converter Razor para PDF em aplicativos Blazor .

Baixe o projeto de exemplo Blazor para conversão de Razor para PDF.

Pronto para ver o que mais você pode fazer? Confira nossa página de tutoriais aqui: Converter PDFs

Para cenários mais avançados, consulte nosso tutorial do Blazor , que aborda padrões de integração adicionais e práticas recomendadas para usar o IronPDF em aplicativos Blazor .

Perguntas frequentes

Qual é a maneira mais rápida de converter um componente Razor em PDF no Blazor Server?

A maneira mais rápida é usando o método RenderRazorComponentToPdf do IronPDF. Com apenas uma linha de código, você pode converter qualquer componente Razor em PDF: var pdf = new IronPdf.ChromePdfRenderer().RenderRazorComponentToPdf(new Dictionary { {"persons",personsList} }).SaveAs("component-to-pdf.pdf");

Quais pacotes NuGet são necessários para a conversão de Razor para PDF no Blazor Server?

Você precisa do pacote IronPdf.Extensions.Blazor, que inclui automaticamente a biblioteca principal do IronPDF como dependência. Instale-o usando o comando: Install-Package IronPdf.Extensions.Blazor

Posso adicionar cabeçalhos e rodapés personalizados ao converter componentes Razor para PDF?

Sim, o IronPDF oferece opções completas de personalização para cabeçalhos, rodapés e formatação de página ao usar o método RenderRazorComponentToPdf para converter seus componentes Razor.

Por que o Blazor Server é recomendado para geração de PDFs a partir de componentes Razor?

Os aplicativos Blazor Server são executados no servidor e renderizam atualizações da interface do usuário por meio de uma conexão SignalR, tornando-os ideais para geração de PDFs. Essa arquitetura garante que a renderização do IronPDF ocorra no servidor, fornecendo resultados consistentes independentemente do navegador ou dispositivo do cliente.

Preciso refatorar meus componentes Razor existentes para convertê-los em PDF?

Não, o pacote IronPdf.Extensions.Blazor permite converter componentes Razor existentes em PDFs sem grandes alterações. A extensão fornece pontos de integração que compreendem o modelo de componentes do Blazor.

Como faço para passar dados para meu componente Razor ao converter para PDF?

Você pode passar dados usando um parâmetro Dictionary no método RenderRazorComponentToPdf. Por exemplo: new Dictionary { {"persons", personsList} } onde "persons" é o nome do parâmetro e personsList são seus dados.

What advantage does using Blazor Server have for PDF generation?

Blazor Server runs on the server, which means that PDF rendering happens server-side, providing consistent rendering results regardless of the client's browser or device.

How can I ensure proper navigation when integrating a Razor component for PDF generation in a Blazor app?

Integrate the Razor component into the Blazor app's navigation system using `NavLink` components. This allows users to access the PDF generation functionality directly from the main navigation menu.

Can IronPDF add headers and footers to the generated PDFs from Razor components?

Yes, with IronPDF, you can add both text and HTML headers and footers, including page numbers, by utilizing the `RenderingOptions` features.

What is required before starting with Razor to PDF conversion in a Blazor Server project?

Ensure that you have the .NET SDK installed, along with Visual Studio 2019 or later with the ASP.NET and web development workload. You can start a new project using Visual Studio's templates or the .NET CLI.

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 bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 20,756,830Versão:2026.7recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.7

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.