How to Convert HTML String to PDF in C
O IronPDF converte strings HTML em documentos PDF em C# usando um mecanismo de renderização do Chrome, suportando todo o conteúdo HTML5, CSS3 e JavaScript com uma única linha de código para conversões básicas. A biblioteca oferece recursos poderosos para a criação de PDFs , mantendo uma fidelidade de renderização perfeita.
O IronPDF permite que os desenvolvedores criem documentos PDF facilmente em C#, F# e VB .NET for .NET Core e .NET Framework. O IronPDF permite renderizar qualquer string HTML em um PDF, e o processo de renderização utiliza uma versão totalmente funcional do mecanismo Google Chromium. Isso garante que o conteúdo HTML seja exibido exatamente como em um navegador moderno, tornando-o ideal para gerar relatórios, faturas e documentos a partir de conteúdo HTML dinâmico.
Início Rápido: Converter String HTML em PDF em Segundos
Transforme strings HTML em arquivos PDF usando o IronPDF. Este guia demonstra como converter uma string HTML em um documento PDF em C# com o mínimo de código. Ideal para desenvolvedores que precisam integrar recursos de renderização de PDF em seus projetos.
-
Instale IronPDF com o Gerenciador de Pacotes NuGet
PM > Install-Package IronPdf -
Copie e execute este trecho de código.
IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca IronPDF C# do NuGet.
- Instancie o renderizador de PDF e passe a string HTML.
- Configurar o BasePath para recursos externos em PDF
- Configure as opções de renderização para ajustar o PDF de saída.
- Salve e baixe o PDF gerado.
Como faço para converter uma string HTML simples em PDF?
Aqui está um exemplo do IronPDF renderizando uma string HTML em um PDF usando o método RenderHtmlAsPdf. O parâmetro é uma string HTML a ser renderizada como um PDF. Este método faz parte da classe ChromePdfRenderer, que oferece amplo controle sobre as opções de renderização para suas necessidades de geração de PDF.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
O método RenderHtmlAsPdf retorna um objeto PdfDocument, que contém informações do PDF e fornece métodos para manipular o PDF, incluindo mesclar PDFs , adicionar marcas d'água e definir opções de segurança .
using para cenários de alto desempenho. O ChromePdfRenderer é thread-safe e pode ser instanciado uma única vez e reutilizado em várias requisições para melhor desempenho.
Quando uma string HTML é obtida de uma fonte externa e você precisa desativar o acesso ao disco local ou solicitações de origem cruzada, defina IronPdf.Installation.EnableWebSecurity como verdadeiro antes da renderização. Essa é uma configuração global estática, não uma propriedade de instância no renderizador.
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
' Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = True
Para conteúdo HTML complexo que inclui estilos CSS, aprimore suas strings HTML com estilos embutidos ou faça referência a folhas de estilo externas usando o recurso de URLs base e codificação de ativos :
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
Dim styledHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>"
Using styledPdf = renderer.RenderHtmlAsPdf(styledHtml)
styledPdf.SaveAs("styled-output.pdf")
End Using
Qual é a aparência do PDF gerado?
Este é o arquivo gerado pelo código:
O PDF gerado mantém a formatação e o estilo exatos do seu HTML, tornando-o perfeito para gerar relatórios em PDF ou converter conteúdo da web em documentos prontos para impressão.
Como posso incluir recursos externos ao converter HTML para PDF?
Este exemplo mostra o IronPDF carregando um recurso de imagem externo a partir de um BasePath opcional. A configuração da propriedade BaseUrlOrPath fornece o caminho relativo do arquivo ou o contexto da URL para hiperlinks, imagens, CSS e arquivos JavaScript . Isso é essencial ao trabalhar com imagens em PDFs ou quando você precisa consultar recursos externos.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Private myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
Para cenários avançados que envolvam layouts complexos ou conteúdo dinâmico, utilize o suporte do IronPDF para renderização em JavaScript :
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
Imports System
' Example with JavaScript-generated content
Dim jsHtml As String = "
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>"
' Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' milliseconds
Using dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, "C:\site\")
dynamicPdf.SaveAs("dynamic-content.pdf")
End Using
Ao trabalhar com recursos externos, você pode precisar lidar com autenticação ou cabeçalhos especiais. O IronPDF oferece suporte a isso por meio da funcionalidade de cabeçalho de solicitação HTTP , permitindo que você inclua tokens de autorização ou cabeçalhos personalizados ao buscar recursos.
Por que definir o BasePath é importante para recursos externos?
Este é o arquivo gerado pelo código:
Configurar o BasePath corretamente garante que todas as referências relativas no seu HTML sejam resolvidas adequadamente. Sem ele, o IronPDF não consegue localizar recursos externos como imagens, folhas de estilo ou scripts. Isso é particularmente importante quando:
- Converter HTML que faz referência a recursos do sistema de arquivos local
- Trabalhar com sistemas de gerenciamento de conteúdo que usam URLs relativas
- Migrar conteúdo web existente para o formato PDF
- Criação de modelos que utilizam recursos compartilhados
Para recursos baseados na web, use um URL completo como caminho base:
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
' Using a web URL as base path
Dim webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
)
Para obter maior controle sobre o processo de geração de PDFs, explore a extensa documentação do IronPDF sobre margens personalizadas , orientação de página e compressão de PDF para otimizar seus arquivos de saída para diversos casos de uso.
Perguntas frequentes
Como faço para converter uma string HTML simples em PDF usando C#?
Você pode converter uma string HTML em PDF usando a classe ChromePdfRenderer do IronPDF com o método RenderHtmlAsPdf. Basta instanciar o renderizador, passar sua string HTML para o método e salvar o objeto PdfDocument resultante. O IronPDF utiliza um mecanismo de renderização do Chrome para garantir fidelidade perfeita.
Qual mecanismo de renderização é usado na conversão de HTML para PDF?
O IronPDF utiliza uma versão totalmente funcional do mecanismo Google Chromium para renderizar HTML em PDF. Isso garante que seu conteúdo HTML, incluindo HTML5, CSS3 e JavaScript, seja exibido exatamente como seria em um navegador moderno.
Posso converter HTML com estilo CSS para PDF?
Sim, o IronPDF suporta a conversão de HTML com estilos CSS para PDF. Você pode usar estilos embutidos diretamente na sua string HTML ou referenciar folhas de estilo externas usando o recurso de URLs Base e Codificação de Recursos para garantir a renderização correta do conteúdo estilizado.
Qual é a maneira mais rápida de converter HTML para PDF?
A maneira mais rápida é usando o método estático do IronPDF: IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("Seu HTML").SaveAs("output.pdf"). Esta única linha de código converte sua string HTML e a salva como um arquivo PDF.
Como devo lidar com recursos externos ao converter strings HTML?
O IronPDF permite configurar o BasePath para recursos externos no seu PDF. Isso garante que imagens, folhas de estilo e outros recursos referenciados no seu HTML sejam carregados corretamente durante o processo de conversão.
Posso personalizar o formato PDF gerado ao converter de HTML?
Sim, o IronPDF oferece diversas opções de renderização para ajustar com precisão a saída do seu PDF. Você pode controlar o tamanho da página, as margens, os cabeçalhos, os rodapés e muitos outros aspectos do PDF gerado por meio da classe ChromePdfRenderer.
O que posso fazer com o PDF gerado após a conversão?
O objeto PdfDocument do IronPDF oferece diversos métodos para manipulação de PDFs, incluindo a fusão de PDFs, a adição de marcas d'água, a configuração de opções de segurança e muito mais. O PDF convertido pode ser salvo em disco, transmitido por streaming ou processado posteriormente, conforme necessário.
Como lidar com a segurança ao converter HTML de fontes externas?
Ao converter HTML de fontes externas, o IronPDF permite definir a propriedade EnableWebSecurity como true no ChromePdfRenderer. Isso desativa o acesso ao disco local e as solicitações de origem cruzada para maior segurança.

