Como exportar um PDF em C# | IronPDF

Como Exportar e Salvar PDFs no IronPDF C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF exporta um PdfDocument renderizado para PDF em C# através de SaveAs para disco, as propriedades Stream e BinaryData para memória, e SaveAsPdfA, SaveAsPdfUA, e SaveAsRevision para saída de arquivamento, acessível e versionada. Cada método recebe um documento que você já renderizou e o escreve no destino que sua aplicação precisa, seja um caminho de arquivo, um buffer na memória ou uma resposta HTTP.

Este guia percorre cada alvo de exportação, desde uma linha de código para salvar um arquivo até servir um PDF diretamente no navegador, e os métodos que produzem saída com conformidade etiquetada.

Início Rápido: Exportar HTML para PDF em C#

Renderizar HTML e escrever o resultado no disco em uma única instrução. A chamada RenderHtmlAsPdf retorna um PdfDocument, e SaveAs o persiste.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>HelloPDF</h1>").SaveAs("myExportedFile.pdf");
  3. Implante para testar em seu ambiente de produção.

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

    arrow pointer


Quais são as opções para salvar PDFs?

O IronPDF salva um PdfDocument em quatro tipos de destino: um arquivo no disco, um MemoryStream na memória, um byte[] bruto, e um arquivo etiquetado com conformidade para arquivamento, acessibilidade ou revisão incremental. As seções abaixo cobrem cada alvo com um exemplo testado, começando pelo salvamento de arquivo mais simples e terminando com os métodos de exportação especializados.

Como salvar um PDF no disco

Use o método SaveAs para escrever um PdfDocument em um caminho de arquivo. Esta é a rota direta para aplicativos de desktop ou qualquer processo de servidor que mantém PDFs no sistema de arquivos.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-2.cs
// Complete example for saving PDF to disk
using IronPdf;

// Initialize the Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Create HTML content with styling
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
        .content { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Invoice #12345</h1>
    <div class='content'>
        <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
        <p>Thank you for your business!</p>
    </div>
</body>
</html>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save to disk with standard method
pdf.SaveAs("invoice_12345.pdf");

// Save with password protection for sensitive documents
pdf.Password = "secure123";
pdf.SaveAs("protected_invoice_12345.pdf");
Imports IronPdf

' Initialize the Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()

' Create HTML content with styling
Dim htmlContent As String = "
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
        .content { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Invoice #12345</h1>
    <div class='content'>
        <p>Date: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>
        <p>Thank you for your business!</p>
    </div>
</body>
</html>"

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

' Save to disk with standard method
pdf.SaveAs("invoice_12345.pdf")

' Save with password protection for sensitive documents
pdf.Password = "secure123"
pdf.SaveAs("protected_invoice_12345.pdf")
$vbLabelText   $csharpLabel

O mesmo exemplo também define a propriedade Password antes de um segundo salvamento, que criptografa o arquivo para que não possa ser aberto sem essa senha. Para um controle mais fino sobre o que um destinatário pode fazer com o arquivo, veja o guia sobre permissões e senhas de PDF.

Saída

Como salvar um PDF em um MemoryStream

A propriedade Stream retorna o documento como um System.IO.MemoryStream. Use-o quando precisar entregar o PDF para outro método, carregá-lo, ou enviá-lo por e-mail sem antes escrever um arquivo temporário. Saiba mais sobre trabalhar com streams de memória PDF.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-3.cs
// Example: Save PDF to MemoryStream
using IronPdf;
using System.IO;

var renderer = new ChromePdfRenderer();

// Render HTML content
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales figures...</p>");

// Get the PDF as a MemoryStream
MemoryStream stream = pdf.Stream;

// Example: Upload to cloud storage or database
// UploadToCloudStorage(stream);

// Example: Email as attachment without saving to disk
// EmailService.SendWithAttachment(stream, "report.pdf");

// Remember to dispose of the stream when done
stream.Dispose();
Imports IronPdf
Imports System.IO

' Example: Save PDF to MemoryStream
Dim renderer As New ChromePdfRenderer()

' Render HTML content
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales figures...</p>")

' Get the PDF as a MemoryStream
Dim stream As MemoryStream = pdf.Stream

' Example: Upload to cloud storage or database
' UploadToCloudStorage(stream)

' Example: Email as attachment without saving to disk
' EmailService.SendWithAttachment(stream, "report.pdf")

' Remember to dispose of the stream when done
stream.Dispose()
$vbLabelText   $csharpLabel

Saída

Como salvar dados binários

A propriedade BinaryData retorna o documento como um byte[]. Um array de bytes é adequado para colunas de banco de dados, entradas de cache e APIs que aceitam bytes brutos em vez de um stream.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-4.cs
// Example: Convert PDF to binary data
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options for better quality
renderer.RenderingOptions = new ChromePdfRenderOptions()
{
    MarginTop = 20,
    MarginBottom = 20,
    MarginLeft = 10,
    MarginRight = 10,
    PaperSize = IronPdf.Rendering.PdfPaperSize.A4
};

// Render content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Contract Document</h1>");

// Get binary data
byte[] binaryData = pdf.BinaryData;

// Example: Store in database
// database.StorePdfDocument(documentId, binaryData);

// Example: Send via API
// apiClient.UploadDocument(binaryData);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure rendering options for better quality
renderer.RenderingOptions = New ChromePdfRenderOptions() With {
    .MarginTop = 20,
    .MarginBottom = 20,
    .MarginLeft = 10,
    .MarginRight = 10,
    .PaperSize = IronPdf.Rendering.PdfPaperSize.A4
}

' Render content to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Contract Document</h1>")

' Get binary data
Dim binaryData As Byte() = pdf.BinaryData

' Example: Store in database
' database.StorePdfDocument(documentId, binaryData)

' Example: Send via API
' apiClient.UploadDocument(binaryData)
$vbLabelText   $csharpLabel

Quando precisar da direção inversa, carregando bytes de volta em um documento editável, o guia sobre converter PDFs para um MemoryStream aborda isso.

Saída

Como sirvo um PDF de um servidor web para o navegador?

Para retornar um PDF via HTTP, você envia os bytes como uma resposta de arquivo, não como HTML. Ambos Stream e BinaryData se encaixam diretamente nos tipos de resultado de arquivo que o ASP.NET fornece, para que o controlador renderize um documento e o retorne sem nunca tocar no disco.

Como exporto um PDF no MVC?

No ASP.NET Core MVC, envolva o Stream em um FileStreamResult para solicitar um download, ou passe BinaryData para File para exibir o PDF inline. As duas ações abaixo mostram ambos. Isso se combina naturalmente com a renderização de visões CSHTML para PDF.

// MVC controller methods for PDF export
public IActionResult DownloadInvoice(int invoiceId)
{
    // Generate your HTML content
    string htmlContent = GenerateInvoiceHtml(invoiceId);

    // Render the PDF with IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Take the PDF stream and rewind it
    MemoryStream stream = pdf.Stream;
    stream.Position = 0;

    // Returning a FileStreamResult prompts a download in the browser
    return new FileStreamResult(stream, "application/pdf")
    {
        FileDownloadName = $"invoice_{invoiceId}.pdf"
    };
}

public IActionResult ViewInvoice(int invoiceId)
{
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId));

    // Returning BinaryData with no filename displays the PDF inline
    return File(pdf.BinaryData, "application/pdf");
}
// MVC controller methods for PDF export
public IActionResult DownloadInvoice(int invoiceId)
{
    // Generate your HTML content
    string htmlContent = GenerateInvoiceHtml(invoiceId);

    // Render the PDF with IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Take the PDF stream and rewind it
    MemoryStream stream = pdf.Stream;
    stream.Position = 0;

    // Returning a FileStreamResult prompts a download in the browser
    return new FileStreamResult(stream, "application/pdf")
    {
        FileDownloadName = $"invoice_{invoiceId}.pdf"
    };
}

public IActionResult ViewInvoice(int invoiceId)
{
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId));

    // Returning BinaryData with no filename displays the PDF inline
    return File(pdf.BinaryData, "application/pdf");
}
Imports System.IO
Imports Microsoft.AspNetCore.Mvc

' MVC controller methods for PDF export
Public Class InvoiceController
    Inherits Controller

    Public Function DownloadInvoice(invoiceId As Integer) As IActionResult
        ' Generate your HTML content
        Dim htmlContent As String = GenerateInvoiceHtml(invoiceId)

        ' Render the PDF with IronPDF
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

        ' Take the PDF stream and rewind it
        Dim stream As MemoryStream = pdf.Stream
        stream.Position = 0

        ' Returning a FileStreamResult prompts a download in the browser
        Return New FileStreamResult(stream, "application/pdf") With {
            .FileDownloadName = $"invoice_{invoiceId}.pdf"
        }
    End Function

    Public Function ViewInvoice(invoiceId As Integer) As IActionResult
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId))

        ' Returning BinaryData with no filename displays the PDF inline
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    Private Function GenerateInvoiceHtml(invoiceId As Integer) As String
        ' Placeholder for the method that generates HTML content
        Return String.Empty
    End Function
End Class
$vbLabelText   $csharpLabel

Como exporto um PDF no ASP.NET WebForms?

Aplicações tradicionais ASP.NET WebForms escrevem os bytes através do objeto Response em vez disso. Configure as opções de renderização uma vez, puxe BinaryData e transmita-o para o cliente.

// ASP.NET WebForms PDF export
protected void ExportButton_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions()
    {
        PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        PrintHtmlBackgrounds = true,
        CreatePdfFormsFromHtml = true
    };

    // Render from custom HTML
    PdfDocument MyPdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml());

    // Retrieve the PDF bytes
    byte[] Binary = MyPdfDocument.BinaryData;

    // Write the bytes to the response as a download
    Response.Clear();
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition",
        "attachment; filename=report_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf");
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
    Response.Flush();
    Response.End();
}
// ASP.NET WebForms PDF export
protected void ExportButton_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions()
    {
        PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        PrintHtmlBackgrounds = true,
        CreatePdfFormsFromHtml = true
    };

    // Render from custom HTML
    PdfDocument MyPdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml());

    // Retrieve the PDF bytes
    byte[] Binary = MyPdfDocument.BinaryData;

    // Write the bytes to the response as a download
    Response.Clear();
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition",
        "attachment; filename=report_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf");
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
    Response.Flush();
    Response.End();
}
' ASP.NET WebForms PDF export
Protected Sub ExportButton_Click(sender As Object, e As EventArgs)
    Dim renderer As New ChromePdfRenderer()

    ' Configure rendering options
    renderer.RenderingOptions = New ChromePdfRenderOptions() With {
        .PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        .PrintHtmlBackgrounds = True,
        .CreatePdfFormsFromHtml = True
    }

    ' Render from custom HTML
    Dim MyPdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml())

    ' Retrieve the PDF bytes
    Dim Binary As Byte() = MyPdfDocument.BinaryData

    ' Write the bytes to the response as a download
    Response.Clear()
    Response.ContentType = "application/octet-stream"
    Response.AddHeader("Content-Disposition", "attachment; filename=report_" & DateTime.Now.ToString("yyyyMMdd") & ".pdf")
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length)
    Response.Flush()
    Response.End()
End Sub
$vbLabelText   $csharpLabel
Icon Quote related to Como exporto um PDF no ASP.NET WebForms?

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 related to Como exporto um PDF no ASP.NET WebForms?

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso
Icon Quote related to Como exporto um PDF no ASP.NET WebForms?

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 related to Como exporto um PDF no ASP.NET WebForms?

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso
Icon Quote related to Como exporto um PDF no ASP.NET WebForms?

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 related to Como exporto um PDF no ASP.NET WebForms?

David Jones

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

Veja o estudo de caso

Como exporto PDF/A, PDF/UA, e revisões?

Além dos alvos de salvamento geral, IronPDF escreve três formatos específicos de conformidade. SaveAsPdfA produz um arquivo de arquivamento, SaveAsPdfUA produz um arquivo acessível etiquetado e SaveAsRevision anexa uma revisão incremental a um documento existente.

Como salvar um arquivo PDF/A para arquivo

SaveAsPdfA escreve um arquivo autossuficiente que atende ao padrão ISO PDF/A para armazenamento de longo prazo, incorporando as fontes e dados de cor que um leitor precisa anos depois. O argumento PdfAVersions seleciona o nível de conformidade, como PdfA3b.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-pdfa.cs
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render the document you want to archive
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Archived Document</h1>");

// Save as a PDF/A-3b file for long-term archiving.
// PdfAVersions controls the conformance level (PdfA1b, PdfA2b, PdfA3b, PdfA4, and others).
pdf.SaveAsPdfA("archive-pdfa.pdf", IronPdf.PdfAVersions.PdfA3b);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render the document you want to archive
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Archived Document</h1>")

' Save as a PDF/A-3b file for long-term archiving.
' PdfAVersions controls the conformance level (PdfA1b, PdfA2b, PdfA3b, PdfA4, and others).
pdf.SaveAsPdfA("archive-pdfa.pdf", IronPdf.PdfAVersions.PdfA3b)
$vbLabelText   $csharpLabel

Saída

Como salvar um arquivo PDF/UA acessível

SaveAsPdfUA escreve um PDF etiquetado que atende ao padrão de acessibilidade PDF/UA, no qual leitores de tela confiam para navegar pelo documento. O terceiro argumento define o idioma do documento para que a tecnologia assistiva o leia com a voz correta.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-pdfua.cs
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render content that should be tagged for assistive technology
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Accessible Document</h1><p>Tagged for screen readers.</p>");

// Save as a PDF/UA-1 file. The last argument sets the document's primary
// language, which screen readers use to choose the correct voice.
pdf.SaveAsPdfUA("accessible-pdfua.pdf", IronPdf.PdfUAVersions.PdfUA1, IronPdf.NaturalLanguages.English_UnitedKingdom);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render content that should be tagged for assistive technology
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Accessible Document</h1><p>Tagged for screen readers.</p>")

' Save as a PDF/UA-1 file. The last argument sets the document's primary
' language, which screen readers use to choose the correct voice.
pdf.SaveAsPdfUA("accessible-pdfua.pdf", IronPdf.PdfUAVersions.PdfUA1, IronPdf.NaturalLanguages.English_UnitedKingdom)
$vbLabelText   $csharpLabel

Saída

Como salvar uma revisão incremental

SaveAsRevision anexa mudanças a um arquivo em vez de reescrevê-lo, assim, revisões anteriores, incluindo quaisquer assinaturas digitais, permanecem intactas. O documento deve ser aberto com ChangeTrackingModes.EnableChangeTracking para que o salvamento incremental funcione.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-revision.cs
using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Create and save the original revision of the document
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Versioned Document</h1>");
pdf.SaveAs("revision-base.pdf");

// Re-open with change tracking enabled so the next save appends a revision
// instead of rewriting the file. This preserves earlier signed revisions.
PdfDocument loaded = PdfDocument.FromFile("revision-base.pdf", null, null, ChangeTrackingModes.EnableChangeTracking);

// Write an incremental revision on top of the existing bytes
loaded.SaveAsRevision("revision-v2.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Dim renderer As New ChromePdfRenderer()

' Create and save the original revision of the document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Versioned Document</h1>")
pdf.SaveAs("revision-base.pdf")

' Re-open with change tracking enabled so the next save appends a revision
' instead of rewriting the file. This preserves earlier signed revisions.
Dim loaded As PdfDocument = PdfDocument.FromFile("revision-base.pdf", Nothing, Nothing, ChangeTrackingModes.EnableChangeTracking)

' Write an incremental revision on top of the existing bytes
loaded.SaveAsRevision("revision-v2.pdf")
$vbLabelText   $csharpLabel

Saída

Como exporto um PDF de forma assíncrona?

A renderização bloqueia o thread chamador até que o motor Chromium termine. Em uma requisição web ou uma interface de usuário de desktop, chame RenderHtmlAsPdfAsync em vez disso e aguarde, então salve o documento retornado com o mesmo método SaveAs. Isso mantém o thread livre enquanto a renderização é concluída.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-async.cs
using IronPdf;
using System.Threading.Tasks;

var renderer = new ChromePdfRenderer();

// Render off the calling thread so a web request or UI stays responsive
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async Generated PDF</h1>");

// SaveAs writes the finished document to disk once the render completes
pdf.SaveAs("async-render.pdf");
Imports IronPdf
Imports System.Threading.Tasks

Dim renderer As New ChromePdfRenderer()

' Render off the calling thread so a web request or UI stays responsive
Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync("<h1>Async Generated PDF</h1>")

' SaveAs writes the finished document to disk once the render completes
pdf.SaveAs("async-render.pdf")
$vbLabelText   $csharpLabel

Saída

Conclusão

IronPDF exporta um PdfDocument renderizado para disco, memória, uma resposta HTTP ou um arquivo etiquetado com conformidade, cada um através de um único método no documento que você já construiu. Escolha o alvo que corresponde aonde os bytes precisam ir, e aplique SaveAsPdfA, SaveAsPdfUA, ou SaveAsRevision quando a saída precisa atender a um padrão de arquivamento, acessibilidade ou versionamento.

A partir daqui, mantenha os bytes fora do disco totalmente com o fluxo de trabalho stream de memória PDF, ou bloqueie um arquivo salvo usando permissões de PDF e senhas.

Perguntas frequentes

Como faço para exportar conteúdo HTML para PDF em C#?

Você pode exportar HTML para PDF em C# usando a classe ChromePdfRenderer do IronPDF. Basta criar uma instância do renderizador, usar o método RenderHtmlAsPdf() para converter seu conteúdo HTML e, em seguida, salvá-lo usando o método SaveAs(). O IronPDF facilita a conversão de strings HTML, arquivos ou URLs diretamente em documentos PDF.

Quais são os diferentes métodos para salvar um PDF usando C#?

O IronPDF oferece vários métodos para salvar PDFs: SaveAs() para salvar em disco, Stream para disponibilizar PDFs em aplicações web sem criar arquivos temporários e BinaryData para obter o PDF como um array de bytes. Cada método do IronPDF atende a diferentes casos de uso, desde o simples armazenamento de arquivos até a distribuição dinâmica via web.

Posso salvar um PDF na memória em vez de no disco?

Sim, o IronPDF permite salvar PDFs na memória usando System.IO.MemoryStream. Isso é útil para aplicações web onde você deseja disponibilizar PDFs diretamente aos usuários sem criar arquivos temporários no servidor. Você pode usar a propriedade Stream ou converter o PDF em dados binários.

Como faço para adicionar proteção por senha ao salvar um PDF?

O IronPDF permite a proteção por senha definindo a propriedade Password no objeto PdfDocument antes de salvar. Basta atribuir uma senha a pdf.Password e usar SaveAs() para criar um arquivo PDF protegido que exige a senha para ser aberto.

Posso disponibilizar um PDF diretamente nos navegadores da web sem salvá-lo no disco?

Sim, o IronPDF permite que você forneça PDFs diretamente para navegadores da web como dados binários. Você pode usar a propriedade BinaryData para obter o PDF como uma matriz de bytes e fornecê-lo através do fluxo de resposta do seu aplicativo web, eliminando a necessidade de armazenamento temporário de arquivos.

Qual a maneira mais simples de converter e salvar HTML como PDF em uma única linha?

O IronPDF oferece uma solução de uma linha: `new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Seu HTML").SaveAs("output.pdf").` Isso cria um renderizador, converte o HTML em PDF e o salva em disco em uma única instrução.

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 ...

Leia mais
Analisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente de Programa Principal - Equipe da Comunidade .NET
Jeff também é Gerente de Programa Principal das equipes do .NET e do Visual Studio. Ele é o produtor executivo da série de conferências virtuais .NET Conf e apresenta o "Fritz and Friends", uma transmissão ao vivo para desenvolvedores que vai ao ar duas vezes por semana, onde ele conversa sobre tecnologia e escreve código junto com os espectadores. Jeff cria workshops, apresentações e planeja conteúdo para os maiores eventos de desenvolvedores da Microsoft, incluindo o Microsoft Build, o Microsoft Ignite, a .NET Conf e o Microsoft MVP Summit.
Pronto para começar?
Nuget Downloads 19,936,792 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.