C# Exportar a PDF [Tutorial de ejemplo de código]

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

IronPDF es un Biblioteca PDF C# que le permite utilizar C# para guardar su HTML como PDF. También permite a los desarrolladores de C# / VB editar documentos PDF mediante programación.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Opciones para guardar PDF

Cómo guardar PDF en disco

Utiliza el PdfDocument.SaveAs para guardar el PDF en el disco.

Verás que este método permite añadir protección por contraseña. Consulta los siguientes artículos para obtener más información sobre la firma digital de PDF exportados: 'Firmar digitalmente un documento PDF.'

Cómo guardar un archivo PDF en MemoryStream en C# (System.IO.MemoryStream)

En IronPdf.PdfDocument.Stream guarda el PDF en la memoria utilizando un System.IO.MemoryStream

Cómo guardar en datos binarios

En IronPdf.PdfDocument.BinaryData exporta el documento PDF como datos binarios en memoria.

Esto muestra el PDF como un ByteArray, que se expresa en C# como byte [].

Cómo servir desde un servidor web a un navegador

Para servir un PDF a la web, tenemos que enviarlo como datos binarios en lugar de HTML.

Exportación de PDF MVC

// Send MyPdfDocument.Stream to this method
return new FileStreamResult(stream, "application/pdf")
{
    FileDownloadName = "file.pdf"
};
// Send MyPdfDocument.Stream to this method
return new FileStreamResult(stream, "application/pdf")
{
    FileDownloadName = "file.pdf"
};
' Send MyPdfDocument.Stream to this method
Return New FileStreamResult(stream, "application/pdf") With {.FileDownloadName = "file.pdf"}
VB   C#

Exportación de PDF ASP.NET

byte [] Binary = MyPdfDocument.BinaryData;
Response.Clear();
Response.ContentType = "application/octet-stream";
Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
Response.Flush();      
byte [] Binary = MyPdfDocument.BinaryData;
Response.Clear();
Response.ContentType = "application/octet-stream";
Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
Response.Flush();      
Dim Binary() As Byte = MyPdfDocument.BinaryData
Response.Clear()
Response.ContentType = "application/octet-stream"
Context.Response.OutputStream.Write(Binary, 0, Binary.Length)
Response.Flush()
VB   C#