Criar um visualizador de PDF em ASP.NET Core MVC | Tutorial
Crie um visualizador de PDF ASP.NET Core MVC usando o mecanismo de renderização baseado no Chrome do IronPDF para exibir arquivos PDF diretamente nos navegadores, gerar PDFs dinâmicos a partir de conteúdo HTML e controlar se os usuários visualizam ou baixam os documentos — tudo isso sem plugins ou dependências externas.
Os navegadores modernos incluem um visualizador de PDF integrado que é ativado automaticamente quando um aplicativo da web fornece arquivos PDF com o tipo MIME correto. Isso elimina a necessidade de ferramentas ou plugins de terceiros, permitindo que os usuários visualizem documentos PDF diretamente em seus navegadores. IronPDF , uma biblioteca .NET para PDF com um mecanismo de renderização baseado no Chrome, facilita a geração, renderização e exibição de arquivos PDF em aplicações ASP.NET Core MVC.
!{--010011000100100101000010010100100100000101010010010110010101111101000111010001010101010100010111110101001101010100010000010101001001010100010001010100010001011111010101110100100 101010100010010000101111101010000010100100111101000100010101010100001101010100010111110101010001010010010010010010010100000101001100010111110100001001001100010011110100001101001011--}
Como instalar o IronPDF em um projeto ASP.NET Core MVC?
Antes de criar um visualizador de PDF em ASP.NET Core MVC, você precisa adicionar o IronPDF ao seu projeto. A maneira mais rápida é através do Gerenciador de Pacotes NuGet no Visual Studio, ou via linha de comando usando a CLI do .NET ou o Console do Gerenciador de Pacotes.
Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
Depois que o pacote estiver instalado, adicione o namespace IronPdf aos seus arquivos de controlador e você estará pronto para começar a gerar e servir documentos PDF. O IronPDF é compatível com .NET 8 e .NET 10, portanto, funciona com as versões mais recentes do ASP.NET Core sem qualquer configuração adicional.
Para projetos que exigem instalação offline ou fixação de versão específica, você também pode baixar o pacote NuGet diretamente e adicioná-lo como um feed local. A página de licenciamento do IronPDF aborda as opções de licença de avaliação e de produção, caso você precise delas antes de entrar em operação.
Como os navegadores modernos exibem arquivos PDF?
Navegadores modernos como Chrome, Firefox, Edge e Safari incluem funcionalidade nativa de visualização de PDF. Quando sua aplicação ASP.NET Core retorna um arquivo com o tipo de conteúdo application/pdf, o navegador renderiza o documento PDF embutido sem exigir o Adobe Acrobat ou plugins externos. Este visualizador de PDF integrado oferece suporte à seleção de texto, impressão, controles de zoom, marcadores e navegação de página, criando uma experiência de visualização de documentos que os usuários já conhecem.
Para disponibilizar arquivos existentes de forma segura, a melhor prática é usar o ambiente de hospedagem para localizá-los, em vez de depender de caminhos de diretório que podem mudar entre os ambientes de desenvolvimento e produção. Utilizar um fluxo de arquivos também é mais eficiente em termos de memória do que carregar matrizes de bytes inteiras para documentos grandes.
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
public IActionResult ViewPdf()
{
// Path to an existing PDF file in the wwwroot folder
string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
// Return file for inline browser display
return File(fileBytes, "application/pdf");
}
}
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
public IActionResult ViewPdf()
{
// Path to an existing PDF file in the wwwroot folder
string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
// Return file for inline browser display
return File(fileBytes, "application/pdf");
}
}
Imports Microsoft.AspNetCore.Mvc
Public Class DocumentController
Inherits Controller
Public Function ViewPdf() As IActionResult
' Path to an existing PDF file in the wwwroot folder
Dim path As String = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf")
Dim fileBytes As Byte() = System.IO.File.ReadAllBytes(path)
' Return file for inline browser display
Return File(fileBytes, "application/pdf")
End Function
End Class
Qual é a aparência de um PDF quando exibido no navegador?

O código acima lê um arquivo PDF existente do servidor e o retorna para o navegador. O método File() aceita um array de bytes e um tipo de conteúdo, instruindo o visualizador de documentos do navegador a renderizar o conteúdo embutido. Esta abordagem funciona em todos os navegadores modernos, tanto em desktops quanto em dispositivos móveis, proporcionando uma experiência consistente para todos os usuários.
Para cenários mais avançados, você pode carregar PDFs da memória ou do Armazenamento de Blobs do Azure , o que pode melhorar a escalabilidade e reduzir os requisitos de armazenamento do servidor. A documentação da Microsoft sobre como servir arquivos estáticos no ASP.NET Core aborda as melhores práticas para o tratamento de arquivos em produção.
Como gerar documentos PDF dinamicamente em ASP.NET Core?
Arquivos PDF estáticos são úteis, mas muitas aplicações web exigem documentos gerados dinamicamente sob medida para o usuário ou solicitação atuais. A classe ChromePdfRenderer do IronPDF converte conteúdo HTML em arquivos PDF renderizados profissionalmente usando um mecanismo real de navegador Chromium nos bastidores.
Você pode incluir recursos externos, como CSS para seu tema específico ou JavaScript para gráficos , diretamente na string HTML. O mecanismo de renderização é compatível com os padrões modernos da web, incluindo CSS3, JavaScript ES6+ e fontes da web , de modo que o PDF gerado fica exatamente como o navegador renderizaria a mesma página HTML.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
public IActionResult GenerateReport()
{
var renderer = new ChromePdfRenderer();
// HTML content with CSS styling
string html = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
public IActionResult GenerateReport()
{
var renderer = new ChromePdfRenderer();
// HTML content with CSS styling
string html = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class ReportController
Inherits Controller
Public Function GenerateReport() As IActionResult
Dim renderer As New ChromePdfRenderer()
' HTML content with CSS styling
Dim html As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
Como o conteúdo HTML aparece após a geração do PDF?

Este exemplo demonstra como o IronPDF transforma uma string HTML em um documento PDF . O ChromePdfRenderer usa um mecanismo baseado em Chromium, garantindo renderização CSS precisa e suporte a JavaScript. O PDF gerado mantém toda a formatação definida no HTML, tornando-o ideal para a criação de relatórios , faturas e outros documentos que exigem formatação consistente.
Para exemplos de código adicionais sobre conversão de HTML para PDF , explore a documentação do IronPDF. Você também pode gerar PDFs a partir de visualizações CSHTML Razor , URLs ou até mesmo conteúdo Markdown .
Como controlar a exibição embutida versus o download do arquivo?
Às vezes, os usuários precisam baixar arquivos PDF em vez de visualizá-los no navegador. A maneira como o navegador lida com a resposta depende do cabeçalho Content-Disposition. Compreender essa distinção é importante para proporcionar a experiência adequada em seu aplicativo.
Quando você omite o parâmetro de nome de arquivo no método File(), o ASP.NET Core não define um cabeçalho Content-Disposition, então o navegador usa seu comportamento padrão -- que é tipicamente exibição embutida. Quando você fornece um nome de arquivo como o terceiro parâmetro, o ASP.NET Core adiciona automaticamente Content-Disposition: attachment, solicitando aos usuários que salvem o arquivo em vez disso.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult DisplayInline()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Display PDF inline in browser -- no filename = inline
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult DownloadPdf()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
renderer.RenderingOptions.EnableJavaScript = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Prompt download with specified filename
return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult DisplayInline()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Display PDF inline in browser -- no filename = inline
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult DownloadPdf()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
renderer.RenderingOptions.EnableJavaScript = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Prompt download with specified filename
return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class PdfController
Inherits Controller
Public Function DisplayInline() As IActionResult
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Display PDF inline in browser -- no filename = inline
Return File(pdf.BinaryData, "application/pdf")
End Function
Public Function DownloadPdf() As IActionResult
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter
renderer.RenderingOptions.EnableJavaScript = True
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Prompt download with specified filename
Return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf")
End Function
End Class
Quando você deve usar a exibição embutida em vez do download?

A diferença entre as duas ações do controlador se resume a esse terceiro parâmetro em File(). Essa flexibilidade permite que seu aplicativo suporte ambos os cenários, com base nas necessidades do usuário ou nos requisitos de negócios. Para um controle aprimorado, você também pode definir cabeçalhos HTTP personalizados ou configurar o tamanho e a orientação do papel antes da renderização.
Algumas aplicações combinam ambas as abordagens: um endpoint de pré-visualização que exibe o PDF diretamente no conteúdo e um endpoint de download separado que aciona o salvamento do arquivo. Esse padrão oferece aos usuários visibilidade do documento antes que eles confirmem o download.
Como integrar o Razor Pages com a geração de PDFs?
As Razor Pages no ASP.NET Core MVC oferecem uma abordagem diferente para implementar um visualizador de PDF em .NET . O modelo de página pode gerar e retornar arquivos PDF usando a mesma funcionalidade do IronPDF disponível nos controladores MVC padrão. Esse padrão funciona bem para aplicações que já utilizam Razor Pages, pois mantém a lógica de geração de PDF localizada junto à página que a aciona.
O manipulador OnGet em uma Página Razor atua como uma ação de controlador -- ele recebe a solicitação, realiza o trabalho e retorna um resultado. Retornar um FileResult de um modelo de página é suportado pelo ASP.NET Core e funciona da mesma forma que retornar File() de um controlador.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
public IActionResult OnGet(int id)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string html = $@"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
public IActionResult OnGet(int id)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string html = $@"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Public Class InvoiceModel
Inherits PageModel
Public Function OnGet(id As Integer) As IActionResult
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
' Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document"
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
renderer.RenderingOptions.TextFooter.FontSize = 10
Dim html As String = $"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
Quais opções de renderização estão disponíveis para personalização de PDF?

Este exemplo de Páginas Razor demonstra como o manipulador OnGet gera um PDF a partir de um parâmetro de URL. A propriedade RenderingOptions permite controle granular sobre margens, orientação da página e outras configurações de layout. Você também pode adicionar cabeçalhos e rodapés , configurar números de página ou definir tamanhos de papel personalizados .
Recursos avançados disponíveis através de RenderingOptions incluem marca d'água, compressão de PDF, e assinaturas digitais. Para obter detalhes completos sobre todas as opções disponíveis, consulte a referência de opções de renderização do IronPDF .
Como você lida com a segurança e o controle de acesso a PDFs?
Muitas vezes, as aplicações de produção precisam restringir quem pode visualizar ou modificar um documento PDF. O IronPDF oferece suporte integrado para senhas e permissões de PDF , permitindo criptografar documentos, exigir uma senha para abri-los ou restringir a impressão e a cópia.
Você pode aplicar configurações de segurança a qualquer objeto PdfDocument antes de retorná-lo do seu controlador. Essa abordagem funciona independentemente de o PDF ter sido gerado a partir de HTML, carregado do disco ou recuperado de um banco de dados.
| Recurso de segurança | Propriedade IronPDF | Caso de uso |
|---|---|---|
| Senha do proprietário | `OwnerPassword` | Impedir alterações de permissão não autorizadas |
| Senha do usuário | `UserPassword` | É necessário inserir uma senha para abrir o documento. |
| Desativar impressão | `AllowUserPrinting` | Impedir que os destinatários imprimam o arquivo. |
| Desativar cópia | `AllowUserCopyPasteContent` | Extração de texto em blocos de PDFs |
| Assinatura digital | `PdfSignature` | Verificar a autenticidade do documento |
Para documentos sensíveis, como contratos, demonstrações financeiras ou registros médicos, combinar uma senha de usuário com permissões restritas oferece controle preciso sobre o que os destinatários podem fazer com o arquivo. O modo de conformidade com PDF/A é outra opção a ser considerada para cenários de arquivamento de longo prazo, nos quais a integridade do documento precisa ser preservada por décadas.
Como otimizar o desempenho da geração de PDFs?
A geração de PDFs envolve processamento de CPU e uso de memória, portanto o desempenho é importante em aplicações com alto tráfego de dados. A API de renderização assíncrona do IronPDF permite delegar a criação de PDFs para uma thread em segundo plano sem bloquear o fluxo de requisições. Isso é especialmente útil ao gerar vários PDFs em uma única requisição ou ao processar trabalhos em lote.
Para implantações em produção no Linux ou em contêineres Docker, o IronPDF oferece suporte à execução multiplataforma sem exigir dependências específicas do Windows. O guia de instalação do IronPDF para Linux e a referência de configuração do Docker cobrem as etapas de configuração. Tanto o projeto Mozilla PDF.js quanto os visualizadores nativos do navegador são compatíveis com qualquer PDF produzido IronPDF , oferecendo flexibilidade também na visualização.
Algumas práticas que melhoram a produtividade na produção:
- Reutilize instâncias
ChromePdfRendereronde possível, em vez de criar uma nova por solicitação, já que a inicialização do mecanismo carrega algum custo. - Use métodos assíncronos como
RenderHtmlAsPdfAsyncpara liberar o thread enquanto o motor Chromium renderiza. - Armazene em cache os PDFs gerados usando IMemoryCache ou um cache distribuído quando o mesmo documento for solicitado repetidamente.
- Para documentos muito grandes, considere transmitir a saída em fluxo contínuo em vez de armazenar todo o array de bytes em buffer na memória.
Como funciona a renderização assíncrona na prática?
A API assíncrona espelha a versão síncrona, mas retorna um Task<PdfDocument>. Você aguarda o resultado dentro de uma ação de controlador async, mantendo o pool de threads livre para lidar com outras solicitações enquanto o processo de renderização continua. A mudança da renderização síncrona para a assíncrona em cenários de alta carga normalmente reduz a disputa por threads e melhora os tempos de resposta gerais sob carga simultânea.
Quais são os seus próximos passos?
Criar um visualizador de PDF em ASP.NET Core MVC combina os recursos de exibição nativos do navegador com os recursos de geração do IronPDF. O visualizador de PDF integrado nos navegadores modernos lida com a exibição, impressão e navegação automaticamente quando o seu controlador ASP.NET retorna arquivos com o tipo MIME correto. O IronPDF cuida da geração do documento, convertendo HTML, URLs ou arquivos existentes em documentos PDF bem formatados, com suporte completo para CSS, JavaScript, cabeçalhos, rodapés e configurações de segurança.
Principais funcionalidades abordadas neste guia:
- Servindo arquivos PDF existentes embutidos usando o método
File()com tipo MIMEapplication/pdf - Gerando PDFs dinâmicos a partir de strings HTML usando
ChromePdfRenderer - Controlando a exibição embutida versus o download de arquivos através do cabeçalho
Content-Disposition - Adicionando cabeçalhos, rodapés, margens e configurações de segurança através de
RenderingOptions - Utilizando Razor Pages como alternativa aos controladores MVC para geração de PDFs
- Aplicar proteção por senha e restrições de permissão a documentos confidenciais.
- Melhorando o desempenho com renderização assíncrona e cache de respostas
A partir daqui, você pode explorar fluxos de trabalho mais avançados, como mesclar vários PDFs , criar formulários preenchíveis ou gerar PDFs a partir de visualizações CSHTML Razor . A documentação do IronPDF abrange todos os recursos com exemplos de código funcionais.
Inicie seu teste gratuito para explorar todos os recursos do IronPDF ou adquira uma licença para uso em produção.
Perguntas frequentes
Como posso exibir arquivos PDF em aplicações ASP.NET Core MVC?
Você pode exibir arquivos PDF em aplicações ASP.NET Core MVC usando o IronPDF. Ele permite gerar, renderizar e exibir arquivos PDF diretamente no navegador, utilizando visualizadores de PDF modernos e integrados.
Preciso de plugins de terceiros para visualizar PDFs em um navegador?
Não, os navegadores modernos possuem visualizadores de PDF integrados que são ativados automaticamente ao exibir arquivos PDF com o tipo MIME correto. O IronPDF pode ajudar a garantir que seus PDFs sejam exibidos corretamente.
Qual a vantagem de usar o IronPDF no ASP.NET Core MVC?
IronPDF é uma biblioteca .NET para PDF que simplifica o processo de geração e renderização de documentos PDF em aplicações ASP.NET Core MVC, aumentando a produtividade e otimizando o gerenciamento de PDFs.
O IronPDF funciona com os visualizadores de PDF existentes nos navegadores?
Sim, o IronPDF funciona perfeitamente com os visualizadores de PDF existentes nos navegadores, garantindo que os PDFs sejam fornecidos com o tipo MIME correto para exibição automática no navegador.
O IronPDF é atualizado com frequência?
Sim, o IronPDF é uma biblioteca .NET para PDF que é atualizada frequentemente, oferecendo os recursos e melhorias mais recentes para o processamento de documentos PDF em aplicações ASP.NET Core MVC.
Como o IronPDF lida com a geração de PDFs em aplicações web?
O IronPDF oferece funcionalidades robustas para gerar PDFs a partir de diversos tipos de conteúdo, permitindo que os desenvolvedores criem documentos PDF dinâmicos e interativos em aplicações web.
Qual tipo MIME deve ser usado para servir arquivos PDF?
Para garantir a exibição correta nos navegadores, os arquivos PDF devem ser servidos com o tipo MIME 'application/pdf'. O IronPDF pode auxiliar no gerenciamento eficiente desse aspecto.
Posso personalizar a renderização de PDFs no IronPDF?
Sim, o IronPDF oferece amplas opções de personalização para renderização de PDFs, permitindo que você adapte a saída para atender a requisitos específicos de design e funcionalidade.
O IronPDF é compatível apenas com aplicações ASP.NET Core MVC?
Embora o IronPDF seja excelente para aplicações ASP.NET Core MVC, ele também é versátil e pode ser usado com outras aplicações .NET para lidar com funcionalidades de PDF.


