API de PDF para .NET Core: Gere e Edite PDFs em C#

IronPDF é uma API de PDF for .NET Core e .NET 10 que gera, converte e edita documentos PDF por meio de código C#. Instale o pacote NuGet , crie uma instância ChromePdfRenderer e gere PDFs a partir de strings HTML, URLs em tempo real ou arquivos existentes em poucas linhas.
A geração de PDFs é um requisito padrão em aplicações .NET Core para faturas, relatórios, contratos e documentos de conformidade. O desafio é encontrar uma biblioteca que renderize HTML com precisão, integre-se perfeitamente com ASP.NET Core e Blazor, produza resultados consistentes no Windows, Linux e macOS e lide com operações avançadas, como assinaturas digitais e proteção por senha, sem exigir ferramentas separadas. Este guia apresenta a API PDF do IronPDF for .NET Core , desde a instalação até as operações de documento mais comuns, cada uma com exemplos de código C# funcionais.
Como começar a usar o IronPDF no .NET Core?
Instale o IronPDF a partir do NuGet usando o Console do Gerenciador de Pacotes ou a CLI do .NET :
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
# Package Manager Console
Install-Package IronPdf
# .NET CLI
dotnet add package IronPdf
Após a instalação, adicione sua chave de licença na inicialização do aplicativo em Program.cs:
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
using IronPdf;
// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronPdf
' Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY"
Está disponível um período de teste gratuito para avaliação, sem necessidade de cartão de crédito. O IronPDF é compatível com .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ e todas as principais versões do .NET Core . A biblioteca funciona no Windows, macOS e Linux sem dependências de tempo de execução adicionais, tornando-a adequada para implantações em contêineres e ambientes de nuvem, incluindo Azure , Docker e AWS.
Para projetos ASP.NET Core , registre os serviços IronPDF em Program.cs antes de compilar o aplicativo e, em seguida, injete ChromePdfRenderer por meio do contêiner de injeção de dependência padrão. O IronPDF integra-se com diversos tipos de projeto ASP.NET Core , incluindo Web API, MVC, Razor Pages e Blazor Server. O pacote NuGet é instalado como uma dependência única, sem exigir bibliotecas de tempo de execução nativas ou executáveis externos, o que mantém seu pipeline de CI e imagens de contêiner simples. Nenhuma configuração adicional é necessária para implantações em Linux ou macOS além do SDK .NET padrão.
Como ChromePdfRenderer é thread-safe, você pode registrá-lo como um singleton e compartilhá-lo entre os manipuladores de requisição. Em cenários de alto volume de processamento, crie um pool de instâncias de renderizador ou use os métodos de renderização assíncrona (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) para evitar o bloqueio de threads de requisição enquanto a geração de PDF está em execução. A página de licenciamento do IronPDF aborda os limites de licenças de implantação e de threads simultâneas para ambientes de produção.
Como gerar PDFs a partir de HTML em C#?
A conversão de HTML para PDF é o uso mais comum de uma API .NET para PDF. O ChromePdfRenderer do IronPDF converte strings HTML, arquivos locais ou URLs em tempo real, preservando estilos CSS, fontes, saída JavaScript e imagens conforme renderizados no Chrome.
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
using IronPdf;
// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>";
var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
Imports IronPdf
' Create the renderer and define HTML content with full CSS support
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<html>
<head>
<style>
body { font-family: Arial; font-size: 14px; margin: 40px; }
h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
table { border-collapse: collapse; width: 100%; margin-top: 16px; }
td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
th { background: #3498db; color: white; }
</style>
</head>
<body>
<h1>Sales Report - Q4 2025</h1>
<p>Generated on: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
<table>
<tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
<tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
<tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
</table>
</body>
</html>"
Dim document = renderer.RenderHtmlAsPdf(html)
document.SaveAs("sales-report.pdf")
Documento PDF de saída

O ChromePdfRenderer retorna um objeto PdfDocument que você pode salvar em um caminho de arquivo, exportar para um byte[] para respostas HTTP ou gravar em um MemoryStream para processamento em memória. O renderizador respeita todas as propriedades CSS, incluindo fontes personalizadas, flexbox, layouts de grade, consultas de mídia e regras @page para controle de margem e tamanho da página. Para modelos HTML armazenados em disco juntamente com arquivos CSS e de imagem, chame RenderHtmlFileAsPdf com o caminho do arquivo em vez de passar uma string embutida. O IronPDF resolve os caminhos relativos dos recursos com base no diretório do arquivo, de modo que folhas de estilo vinculadas e imagens locais aparecem na saída sem configuração adicional.
Para aplicações que precisam capturar páginas web em tempo real, use RenderUrlAsPdfAsync para capturar qualquer URL enquanto executa JavaScript:
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");
// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render a live URL including all JavaScript-rendered content
Dim document = Await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report")
document.SaveAs("monthly-report.pdf")
' Return PDF bytes in an ASP.NET Core controller
Dim pdfBytes As Byte() = document.BinaryData
Return File(pdfBytes, "application/pdf", "report.pdf")
A renderização de URLs aguarda a conclusão do JavaScript antes da captura, o que garante que gráficos, tabelas e visualizações de dados carregados dinamicamente apareçam corretamente no PDF de saída. Você pode configurar as opções de renderização para definir as margens da página, o tamanho do papel, a orientação e o tempo limite de execução do JavaScript . Cookies de autenticação e cabeçalhos HTTP personalizados também podem ser inseridos na solicitação antes da renderização, o que permite capturar páginas que exigem uma sessão autenticada.
Como configurar o layout da página PDF e as opções de renderização?
A propriedade RenderingOptions em ChromePdfRenderer controla as dimensões da página, margens, orientação e comportamento de espera do JavaScript antes que qualquer chamada de renderização seja executada. Defina essas propriedades uma única vez na instância do renderizador e elas serão aplicadas a todos os documentos produzidos por ele.
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);
var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 15
renderer.RenderingOptions.MarginBottom = 15
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
' Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500)
Dim document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>")
document.SaveAs("landscape-report.pdf")
Os valores de tamanho de papel abrangem formatos padrão, incluindo A4, A3, Carta, Ofício e dimensões personalizadas especificadas em milímetros. As propriedades de margem aceitam valores em milímetros e aplicam-se independentemente a cada aresta. A API WaitFor controla o tempo de execução do JavaScript , o que é útil quando seu HTML carrega dados de forma assíncrona antes de renderizar gráficos ou valores de tabelas calculados. Para páginas que utilizam regras CSS @page, o IronPDF respeita essas declarações e as aplica diretamente. Consulte o guia completo de opções de renderização para obter a lista completa de propriedades, incluindo fator de zoom, cor de fundo e seleção da versão em PDF.
Como converter arquivos DOCX e imagens para PDF?
Além do HTML, o IronPDF converte documentos DOCX, formatos de imagem comuns e arquivos Markdown em PDFs. Isso oferece suporte a fluxos de processamento que aceitam múltiplos tipos de entrada.
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
using IronPdf;
// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");
// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
Imports IronPdf
' Convert a Word document to PDF while preserving its formatting
Dim docxPdf = New DocxToPdfRenderer().RenderDocxAsPdf("contract.docx")
docxPdf.SaveAs("contract.pdf")
' Combine multiple images into a single multi-page PDF
Dim images = {"page1.png", "page2.png", "page3.png"}
Dim imagePdf = ImageToPdfConverter.ImageToPdf(images)
imagePdf.SaveAs("scanned-document.pdf")
Exemplo de entrada DOCX vs. saída PDF

O recurso de conversão de DOCX para PDF preserva os estilos de parágrafo, tabelas, cabeçalhos, rodapés, imagens incorporadas e listas do documento Word original. O conversor de imagens para PDF aceita formatos JPEG, PNG, TIFF, BMP e GIF, otimiza automaticamente o tamanho do arquivo de saída e permite combinar várias imagens em um único documento paginado. Ambos os conversores retornam uma instância padrão PdfDocument, permitindo encadeá-los com operações de edição como mesclagem, assinatura ou marca d'água. Para arquivos DOCX gerados pelo Microsoft Word , o conversor lida com estruturas de tabelas complexas e imagens incorporadas, mantendo a hierarquia original de parágrafos e títulos.
Como adicionar assinaturas digitais e campos de formulário?
Os fluxos de trabalho de documentos de produção frequentemente exigem assinaturas criptográficas para autenticidade e campos de formulário interativos para coleta de dados. O IronPDF oferece suporte a assinaturas digitais e formulários PDF através da mesma API.
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
using IronPdf;
using IronPdf.Signing;
// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);
// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";
pdf.SaveAs("signed-agreement.pdf");
Imports IronPdf
Imports IronPdf.Signing
' Load an existing PDF and apply a digital signature using an X.509 certificate
Dim pdf = PdfDocument.FromFile("agreement.pdf")
Dim signature = New PdfSignature("certificate.pfx", "pfx-password")
pdf.Sign(signature)
' Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation"
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd")
pdf.Form.FindFormField("Amount").Value = "$12,500.00"
pdf.SaveAs("signed-agreement.pdf")
Exemplo de assinatura verificada

As assinaturas digitais utilizam certificados X.509 no formato PFX e estão em conformidade com os padrões de assinatura PDF reconhecidos pelo Adobe Acrobat e outros visualizadores de PDF. O painel de assinatura do Acrobat confirma a entidade emissora do certificado, a hora da assinatura e o status de integridade. A API de formulários PDF oferece suporte a campos de texto, caixas de seleção, botões de opção e menus suspensos. Você pode criar modelos de formulário programaticamente, preenchê-los com dados em tempo de execução e ler os valores dos campos enviados nos documentos preenchidos. Esse padrão é útil para gerenciamento de contratos, integração de novos funcionários e fluxos de trabalho automatizados de coleta de dados, onde o mesmo modelo de PDF é reutilizado em diversas transações com diferentes valores de campo.
Para assinaturas baseadas em carimbo de data/hora, passe uma instância PdfSignature configurada com um URI de servidor de carimbo de data/hora para que o horário da assinatura seja certificado por uma terceira parte confiável em vez do relógio do sistema local. O guia de assinatura aborda imagens de assinatura visíveis, múltiplos signatários sequenciais e opções de validação de certificado.
Como editar e manipular documentos PDF existentes?
O IronPDF permite modificar arquivos PDF sem precisar recriá-los a partir do HTML. Adicione cabeçalhos, rodapés, marcas d'água, anotações ou mescle e divida páginas programaticamente.
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
using IronPdf;
var document = PdfDocument.FromFile("report.pdf");
// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
rotation: 30, opacity: 50);
// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});
// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);
document.SaveAs("final-report.pdf");
// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
Imports IronPdf
Dim document = PdfDocument.FromFile("report.pdf")
' Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>", rotation:=30, opacity:=50)
' Add a branded header to every page
document.AddHtmlHeaders(New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
})
' Append supplementary pages from a second document
Dim appendix = PdfDocument.FromFile("appendix.pdf")
document.AppendPdf(appendix)
document.SaveAs("final-report.pdf")
' Export to bytes for HTTP streaming
Dim pdfBytes As Byte() = document.BinaryData
Exemplo de saída

A API de cabeçalhos e rodapés HTML oferece suporte a variáveis de modelo, incluindo {page}, {total-pages} e {date} para conteúdo dinâmico. O método de marca d'água personalizada aceita um fragmento HTML, permitindo aplicar sobreposições estilizadas, rotacionadas e semitransparentes em todas as páginas com uma única chamada. Você também pode dividir PDFs por intervalo de páginas, mesclar vários documentos e extrair imagens e conteúdo de texto incorporados de qualquer PDF. A extração de texto preserva a ordem de leitura entre colunas e tabelas, o que simplifica o processamento subsequente para indexação de pesquisa, migração de conteúdo ou fluxos de trabalho de validação de dados.
Como aplicar proteção por senha e configurações de segurança?
Proteger documentos PDF com senhas e sinalizadores de permissão é um requisito padrão para relatórios financeiros, documentos jurídicos e registros de RH.
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
using IronPdf;
using IronPdf.Security;
var pdf = PdfDocument.FromFile("financial-report.pdf");
// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";
// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SaveAs("protected-report.pdf");
Imports IronPdf
Imports IronPdf.Security
Dim pdf = PdfDocument.FromFile("financial-report.pdf")
' Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password"
pdf.SecuritySettings.OwnerPassword = "admin-password"
' Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SaveAs("protected-report.pdf")
A API de configurações de segurança de PDF aplica criptografia AES de 128 bits ou 256 bits. A configuração UserPassword exige que os leitores insiram a senha ao abrir o arquivo em qualquer visualizador de PDF. A configuração OwnerPassword restringe a modificação programática e as operações em nível de proprietário. Os parâmetros de permissão controlam a qualidade de impressão, a seleção de texto, as anotações e o acesso aos campos do formulário de forma independente. Após aplicar as configurações de segurança, a propriedade BinaryData retorna os bytes do PDF criptografados para armazenamento ou transmissão HTTP. Essas configurações estão em conformidade com o modelo de controle de acesso da especificação PDF, portanto, os documentos protegidos abrem corretamente no Adobe Acrobat, em visualizadores de PDF baseados em navegador e em aplicativos de leitura para dispositivos móveis.
Para remover a proteção de um documento de sua propriedade, carregue o arquivo com a senha do proprietário passada como parâmetro para PdfDocument.FromFile e, em seguida, salve sem aplicar as configurações de segurança. Isso permite o processamento programático de documentos em fluxos de trabalho do lado do servidor, onde arquivos protegidos por senha chegam como entradas e devem ser transformados antes da redistribuição.
Quais são os seus próximos passos?
A API de PDF da IronPDF for .NET Core gerencia todo o ciclo de vida do documento em C#: geração a partir de strings HTML e URLs, conversão de arquivos DOCX e de imagem, configuração de layout de página e opções de renderização, edição de marcas d'água, cabeçalhos e rodapés, aplicação de assinaturas digitais e proteção de documentos com criptografia. Todas as operações utilizam uma API consistente em .NET 8, .NET 9 e .NET 10 no Windows, macOS e Linux.
Inicie um teste gratuito para avaliar o IronPDF com seus próprios documentos. Para outros cenários, explore o guia de opções de renderização de HTML para PDF , a compressão e otimização de PDF e a visão geral completa dos recursos do IronPDF . Analise as opções de licenciamento para implantação em produção.
Perguntas frequentes
O que é a API de PDF do IronPDF for .NET Core?
O IronPDF é uma biblioteca .NET que gera, converte e edita documentos PDF em aplicações C#. Ele é instalado como um único pacote NuGet e suporta .NET 10, .NET 9, .NET 8, e .NET Framework 4.6.2 ou mais recente.
Como você gera um PDF a partir de HTML no .NET Core?
Crie uma instância de ChromePdfRenderer e chame RenderHtmlAsPdf com uma string HTML, ou RenderUrlAsPdfAsync com uma URL. O renderizador converte a saída de HTML, CSS e JavaScript em um objeto PdfDocument que você pode salvar ou transmitir.
Como você configura o tamanho da página e as margens no IronPDF?
Defina propriedades em renderer.RenderingOptions antes de chamar um método de renderização. Use PaperSize para formatos padrão, PaperOrientation para retrato ou paisagem, e MarginTop, MarginBottom, MarginLeft, MarginRight para margens baseadas em milímetros.
O IronPDF pode converter arquivos DOCX em PDF no .NET Core?
Sim. Use DocxToPdfRenderer.RenderDocxAsPdf com o caminho do arquivo. O conversor preserva estilos de parágrafos, tabelas, cabeçalhos, rodapés e imagens incorporadas do documento Word original.
Como você adiciona uma assinatura digital a um PDF no C#?
Carregue o PDF com PdfDocument.FromFile, crie uma PdfSignature com o caminho do certificado PFX e senha, depois chame pdf.Sign(signature). O documento resultante aparece como verificado no Adobe Acrobat e visualizadores de PDF compatíveis.
Como você protege um PDF com senha usando IronPDF?
Defina pdf.SecuritySettings.UserPassword para a senha de abertura e pdf.SecuritySettings.OwnerPassword para a senha de proprietário. Use AllowUserPrinting, AllowUserCopyPasteContent, e flags relacionados para controlar permissões individuais.
Como você retorna um PDF gerado como uma resposta HTTP no ASP.NET Core?
Acesse a propriedade BinaryData na instância do PdfDocument para recuperar o PDF como um array de bytes e, em seguida, retorne-o com File(pdfBytes, 'application/pdf', 'filename.pdf') em uma ação do controlador ASP.NET Core.
O IronPDF funciona no Linux e macOS para aplicativos .NET Core?
Sim. O IronPDF funciona no Windows, macOS e Linux sem dependências de runtime nativas adicionais. Ele suporta implantações containerizadas para Docker, Azure e AWS sem configuração específica de plataforma.
Como você adiciona cabeçalhos e rodapés a um PDF com o IronPDF?
Chame document.AddHtmlHeaders com um objeto HtmlHeaderFooter cuja HtmlFragment contenha a marcação do cabeçalho. Use variáveis de modelo {page}, {total-pages}, e {date} para valores dinâmicos. A mesma API se aplica a rodapés.
O IronPDF é seguro para uso em ASP.NET Core?
O ChromePdfRenderer é seguro para threads e pode ser registrado como um singleton no contêiner de injeção de dependência. Para cargas de trabalho de alto desempenho, use os métodos de renderização assíncronos (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync) para evitar bloquear threads de solicitação.


