Como criar um visualizador de PDF em ASP.NET Core
Criar um visualizador de PDF em ASP.NET Core não deveria exigir bibliotecas JavaScript complexas ou plugins de terceiros para navegadores. Aplicações web modernas precisam de uma forma confiável de exibir arquivos PDF diretamente no navegador, sejam faturas, relatórios ou documentos PDF interativos. O IronPDF simplifica esse processo aproveitando os recursos de visualização de PDF integrados ao seu navegador, enquanto gera PDFs com qualidade de imagem perfeita no servidor.
Neste artigo, mostraremos como gerar e visualizar documentos PDF em seus projetos ASP.NET Core , ensinando como criar aplicativos visualizadores de PDF capazes de exibir qualquer arquivo PDF.
O que é um visualizador de PDF para ASP.NET Core ?
Um visualizador de PDF para ASP.NET Core permite que os usuários visualizem documentos PDF diretamente em aplicativos da web, sem precisar baixar os arquivos para seus dispositivos. Em vez de lidar com componentes de visualização de documentos baseados em JavaScript, o IronPDF adota uma abordagem surpreendentemente simples: ele gera arquivos PDF de alta qualidade no servidor usando o mecanismo de renderização do Chrome e, em seguida, os disponibiliza com os cabeçalhos corretos para que os navegadores exibam automaticamente os arquivos PDF diretamente no navegador.
Essa abordagem do lado do servidor significa que seu visualizador de PDF ASP.NET Core funciona de forma consistente em todos os navegadores, sem a necessidade de plugins adicionais como o Adobe Acrobat Reader. Como o IronPDF utiliza o mesmo mecanismo do Chrome que alimenta milhões de navegadores, seus documentos PDF são renderizados exatamente como pretendido, preservando estilos CSS, interações JavaScript e layouts complexos. A integração do ASP.NET Core com PDF cuida de tudo, desde a conversão de HTML para PDF até a entrega segura de documentos, com suporte a longo prazo.
Como instalar o IronPDF em sua aplicação web?
A instalação do IronPDF em sua aplicação web .NET Core requer apenas um comando do Gerenciador de Pacotes NuGet . Abra o Console do Gerenciador de Pacotes no Visual Studio e execute:
Install-Package IronPdf
Após a instalação, configure o IronPDF no seu arquivo Program.cs para definir sua chave de licença:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
Imports IronPdf
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Start with a free trial key
Essa configuração simples dá acesso a todas as funcionalidades do visualizador de PDF .NET Core do IronPDF. A biblioteca lida automaticamente com a implantação do mecanismo do Chrome e fornece uma API clara para gerar e exibir arquivos PDF em seus aplicativos ASP.NET Core .
Como criar um visualizador básico de documentos PDF?
Criar seu primeiro visualizador de PDF em ASP.NET Core requer um código mínimo. Aqui está um controlador que converte conteúdo HTML em um documento PDF visualizável:
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult ViewDocument()
{
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var html = @"
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult ViewDocument()
{
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var html = @"
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class PdfController
Inherits Controller
Public Function ViewDocument() As IActionResult
Dim renderer = New ChromePdfRenderer()
' Create PDF from HTML string
Dim html = "
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf")
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
A classe ChromePdfRenderer lida com o processamento de conversão, transformando seu HTML em um documento PDF. Definir o cabeçalho Content-Disposition como "inline" instrui o navegador a exibir o PDF em vez de baixá-lo, criando uma experiência de visualização de PDF perfeita, onde os usuários podem visualizar arquivos PDF diretamente em seu aplicativo web.
Exibir documento PDF no visualizador do navegador

Como exibir arquivos PDF de diferentes fontes?
Seu visualizador de PDF ASP.NET Core pode gerar arquivos PDF a partir de diversas fontes de pacotes. Veja como converter um URL em um PDF visualizável:
public IActionResult ViewFromUrl(string websiteUrl)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
var pdf = renderer.RenderUrlAsPdf(websiteUrl);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewFromUrl(string websiteUrl)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
var pdf = renderer.RenderUrlAsPdf(websiteUrl);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf");
}
Imports IronPdf
Public Function ViewFromUrl(websiteUrl As String) As IActionResult
Dim renderer As New ChromePdfRenderer()
' Configure rendering options
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay = 2000 ' Wait for content to load
Dim pdf = renderer.RenderUrlAsPdf(websiteUrl)
Response.Headers.Add("Content-Disposition", "inline")
Return File(pdf.BinaryData, "application/pdf")
End Function
Saída

Para arquivos PDF já existentes armazenados no servidor, você pode carregá-los e exibi-los facilmente. Este código de exemplo mostra como trabalhar com arquivos na sua pasta wwwroot:
public IActionResult ViewExistingPdf(string fileName)
{
// Load PDF from wwwroot folder
var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
var pdf = PdfDocument.FromFile(pdfPath);
// Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewExistingPdf(string fileName)
{
// Load PDF from wwwroot folder
var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
var pdf = PdfDocument.FromFile(pdfPath);
// Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
return File(pdf.BinaryData, "application/pdf");
}
Public Function ViewExistingPdf(fileName As String) As IActionResult
' Load PDF from wwwroot folder
Dim pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName)
Dim pdf = PdfDocument.FromFile(pdfPath)
' Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>")
Return File(pdf.BinaryData, "application/pdf")
End Function

Essa flexibilidade significa que seu visualizador de PDF pode lidar tanto com conteúdo gerado dinamicamente quanto com documentos PDF existentes armazenados em sua pasta ou banco de dados. O componente se integra perfeitamente à sua arquitetura ASP.NET Core .
Como adicionar recursos avançados de visualização de PDF?
O IronPDF transforma seu visualizador de PDF básico em um poderoso visualizador de documentos com recursos avançados. Adicionar formulários aos seus arquivos PDF permite funcionalidades interativas que os usuários podem preencher diretamente:
public IActionResult CreateFormPdf()
{
var html = @"
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult CreateFormPdf()
{
var html = @"
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
Public Function CreateFormPdf() As IActionResult
Dim html As String = "
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True ' Enable form fields
Dim pdf = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
Saída com formulário preenchível

Quando os usuários abrirem este PDF em seus navegadores, poderão preencher os formulários diretamente, sem a necessidade de ferramentas externas. Você também pode editar arquivos PDF adicionando cabeçalhos, rodapés, números de página ou assinaturas digitais. A abordagem com auxiliares de tag facilita a adição desses recursos:
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
Imports System
' Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
.MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
.MaxHeight = 25
}
Esses recursos transformam seu visualizador de PDF ASP.NET em uma solução completa para gerenciamento de documentos, oferecendo suporte a tudo, desde a simples visualização até operações complexas de edição, incluindo seleção de texto e funcionalidade de impressão. Você pode até trabalhar com outros formatos, como Excel, Word, arquivos DOCX e PowerPoint, por meio dos recursos de conversão do IronPDF.
Conclusão
Criar um visualizador de PDF em ASP.NET Core com o IronPDF elimina a complexidade das soluções baseadas em JavaScript, ao mesmo tempo que oferece manipulação de documentos PDF de nível profissional. Aproveitando os recursos nativos do navegador e o mecanismo de renderização do Chrome, você pode criar, exibir e gerenciar arquivos PDF com apenas algumas linhas de código — sem necessidade de configurações padrão ou configurações complexas.
A combinação da geração no servidor com a visualização baseada em navegador oferece o equilíbrio perfeito entre suporte, desempenho e experiência do usuário para seus aplicativos web. Seja para exibir arquivos PDF, lidar com formulários, editar documentos existentes ou imprimir PDFs, a API intuitiva do IronPDF simplifica a implementação. A biblioteca é atualizada frequentemente para garantir a compatibilidade com as versões mais recentes dos frameworks .NET e ambientes Windows.
Pronto para criar seu próprio visualizador de PDF em seu projeto ASP.NET Core ? Comece com um teste gratuito para encontrar o plano ideal. Precisa de ajuda para começar? Confira este tutorial detalhado ou navegue pela documentação completa para mais exemplos.
Perguntas frequentes
Qual é a finalidade de um visualizador de PDF em ASP.NET Core?
Um visualizador de PDF para ASP.NET Core permite exibir arquivos PDF diretamente no navegador, facilitando a visualização de documentos como faturas, relatórios ou PDFs interativos pelos usuários, sem a necessidade de plugins externos.
Como o IronPDF simplifica a criação de um visualizador de PDF no ASP.NET Core?
O IronPDF simplifica o processo aproveitando os recursos de visualização de PDF integrados ao navegador e gerando PDFs com qualidade de imagem perfeita no servidor, eliminando a necessidade de bibliotecas JavaScript complexas ou plugins de terceiros.
O IronPDF consegue lidar com documentos PDF interativos?
Sim, o IronPDF consegue gerenciar documentos PDF interativos, permitindo que os usuários preencham formulários e interajam com o conteúdo do PDF diretamente no navegador.
Quais são os benefícios de usar o IronPDF para exibir PDFs em aplicações web?
O IronPDF oferece uma maneira confiável e eficiente de exibir PDFs em aplicativos da web, disponibilizando recursos como geração de PDFs no servidor e integração perfeita com aplicativos ASP.NET Core.
É necessário usar plugins de terceiros para navegadores com o IronPDF?
Não, o IronPDF utiliza os recursos de visualização de PDF integrados ao navegador, portanto, não há necessidade de plugins de terceiros para exibir arquivos PDF.
Que tipos de documentos PDF podem ser exibidos usando um visualizador de PDF ASP.NET Core?
Um visualizador de PDF ASP.NET Core pode exibir vários tipos de documentos PDF, incluindo faturas, relatórios e formulários interativos, diretamente no navegador.
O IronPDF suporta a geração de PDFs no servidor?
Sim, o IronPDF suporta a geração de PDFs no servidor, garantindo que os documentos sejam renderizados com precisão e eficiência antes de serem exibidos no navegador.
Como o IronPDF garante a renderização de PDFs com perfeição de pixels?
O IronPDF garante a renderização de PDFs com perfeição de pixels, utilizando algoritmos e técnicas avançadas para reproduzir fielmente a aparência dos documentos gerados no servidor.
Qual linguagem de programação é usada para construir um visualizador de PDF em ASP.NET Core com IronPDF?
O visualizador de PDF ASP.NET Core foi desenvolvido usando C# e o framework ASP.NET Core, aproveitando o IronPDF para processar e exibir PDFs.


