Cómo empezar a utilizar la biblioteca PDF IronPDF C
IronPDF se ocupa del difícil problema de añadir la generación de PDF a su aplicación, y automatiza la conversión de documentos formateados en un PDF.
- Convierta formularios web, páginas HTML locales y otras páginas web a PDF con .NET
- Permita a los usuarios descargar documentos, enviarlos por correo electrónico o almacenarlos en la nube.
- Elaborar facturas, presupuestos, informes, contratos y otros documentos.
- Trabajar con ASP.NET, ASP.NET Core, formularios web, MVC, Web APIs en .NET Framework y .NET Core.
Primer paso
1. Instale la librería IronPDF C# en su proyecto
Instalar con NuGet
Install-Package IronPdf
1.1. Instalar con NuGet Package Manager
Instale IronPDF en Visual Studio o en la línea de comandos con el gestor de paquetes NuGet. En Visual Studio, navegue a la consola con:
- Herramientas ->
- Gestor de paquetes NuGet ->
- Consola del gestor de paquetes
Install-Package IronPdf
Y echa un vistazo a IronPDF en NuGet para obtener más información sobre las actualizaciones de versión y la instalación.
Hay otros Paquetes NuGet de IronPdf disponibles para despliegues específicos en Linux, Mac, Azure y AWS, que están documentados en nuestro Guía de instalación avanzada de NuGet para IronPDF .
1.2. Descarga directa de la DLL
También puede descargar directamente la DLL.
Aquí encontrará otros paquetes zip DLL IronPDF disponibles para plataformas específicas:
- Windows
- Linux
Recuerde añadir esta declaración al principio de cualquier archivo de clase cs que utilice IronPDF:
usando IronPdf;
1.3. Instalación y despliegue de la biblioteca
Para más detalles, consulte la guía sobre cómo instalar y desplegar la librería IronPDF C# Library.
1.4A Opcional: Implantación de Linux
Implantación de IronPDF en Linux está bien documentado y es una opción popular para implementaciones en la nube como Azure.
Apoyamos oficialmente: Ubuntu, Debian, CentOS, Fedora y Amazon Linux 2.
1.4B Opcional: Despliegue Docker
Despliegue de IronPDF en Docker está bien documentada.
Soportamos oficialmente Docker para: Windows, Ubuntu, Debian, CentOS y Amazon Linux 2 y proporcionamos archivos Docker de trabajo.
1.4C Opcional: Despliegue en Azure
- Soporte oficial para Azure WebApps, Azure WebJobs, Azure Functions y Azure Docker instances y Azure VMs.
- Lea el IronPDF Guía de configuración de Azure y Azure Function.
1.4D Opcional: Implementación de Amazon AWS
- A tutorial y soporte para Amazon AWS Lambda está incluido.
1.4E Opcional: compatibilidad con macOS
- Asistencia oficial para la implantación y el desarrollo de macOS con Rider y "Visual Studio para Mac".
Tutoriales
Aplicar clave de licencia
Incluya este código al inicio de su aplicación, antes de utilizar IronPDF. Este enfoque es universalmente eficaz y fácil de aplicar.
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Si prefiere no aplicar la clave de licencia mediante código en línea, visite la página 'Claves de licencia de IronPDFpara explorar métodos alternativos.
2. Convertir cadena HTML a PDF
IronPDF puede convertir texto HTML en PDF con bastante facilidad. Este ejemplo ilustra la capacidad. Utilice esta opción cuando sólo necesite añadir texto sencillo a su documento PDF.
- Crear una nueva aplicación de consola .NET Core
- Instalar el paquete NuGet
- Importar el espacio de nombres
IronPdf
con la palabra claveusing
. - Crear un nuevo renderizador
ChromePdfRenderer
. - Llama a
RenderHtmlAsPdf
y luego aSaveAs
en el resultado.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-1.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
3. Convertir archivo HTML a PDF
Puede convertir archivos HTML con imágenes, CSS, formularios, hipervínculos y JavaScript en un documento PDF. Utilice este método cuando tenga acceso al documento fuente localmente.
Este ejemplo llama a RenderHtmlFileAsPdf
, que devuelve una variable llamada PDF.
Llame a SaveAs
para guardar la salida en un archivo PDF.
El ejemplo asume que hay un archivo HTML en la carpeta Assets.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-2.cs
using IronPdf;
// Create a PDF from an existing HTML using C#
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Assets/MyHTML.html");
pdf.SaveAs("MyPdf.pdf");
Imports IronPdf
' Create a PDF from an existing HTML using C#
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Assets/MyHTML.html")
pdf.SaveAs("MyPdf.pdf")
4. Convertir URL existente en PDF
Convierta páginas web existentes en archivos PDF con unas pocas líneas de código C# o VB.NET. Utilice esta opción cuando necesite convertir a PDF un sitio web que ya tenga un documento bien formateado.
Llama a RenderUrlAsPdf
para descargar el contenido de la página web y poder llamar a SaveAs
para exportar el contenido localmente.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-3.cs
using IronPdf;
// Create a PDF from any existing web page
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf
' Create a PDF from any existing web page
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")
5. Formularios web ASP.NET a PDF
Renderice formularios web ASP.NET como PDF en lugar de HTML con una sola línea de código. Coloque la línea de código en el método Page_Load
del código de la página.
- Crear una nueva aplicación ASP.NET WebForms o abrir una existente
- Instalar el paquete NuGet
- Importar el espacio de nombres
IronPdf
con la palabra claveusing
. - Abra el código fuente de la página que desea convertir a PDF. Por ejemplo,
Default.aspx.cs
. - Llamar a
RenderThisPageAsPdf
en AspxToPdf
:path=/static-assets/pdf/content-code-examples/get-started/get-started-4.cs
using IronPdf;
using System;
using System.Web.UI;
namespace WebApplication
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
}
}
}
Imports IronPdf
Imports System
Imports System.Web.UI
Namespace WebApplication
Partial Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
6. Enrutar vista ASP MVC a PDF
Dirija al usuario a un documento PDF con el framework ASP MVC. Utilice esta opción cuando cree una nueva aplicación ASP MVC o añada un controlador MVC existente a una aplicación.
Inicie el asistente para nuevos proyectos en Visual Studio y seleccione Aplicación Web ASP.NET (.NET Framework) -> MVC. O abra un proyecto MVC existente. Abra el archivo HomeController
en la carpeta Controllers y reemplace el método Index, o añada un nuevo controlador.
Este es un ejemplo de cómo debería ser el código:
:path=/static-assets/pdf/content-code-examples/get-started/get-started-5.cs
using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
using var PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
Imports IronPdf
Imports System
Imports System.Web.Mvc
Namespace WebApplication8.Controllers
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Dim PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
End Function
Public Function About() As ActionResult
ViewBag.Message = "Your application description page."
Return View()
End Function
Public Function Contact() As ActionResult
ViewBag.Message = "Your contact page."
Return View()
End Function
End Class
End Namespace
7. Añadir encabezados y pies de página
La propiedad RenderingOptions
permite crear encabezados y pies de página para cada página del documento. Accede a estas opciones en el objeto ChromePdfRenderer
. Este ejemplo funciona dentro de una aplicación de consola .NET Core.
Utilice estas propiedades de plantilla para construir el contenido.
{página} {total-páginas} {url} {fecha} {tiempo} {html-title} & {título pdf}
:path=/static-assets/pdf/content-code-examples/get-started/get-started-6.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.FirstPageNumber = 1;
// Header options
renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.CenterText = "{url}";
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Helvetica;
renderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Arial;
renderer.RenderingOptions.TextFooter.FontSize = 10;
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.FirstPageNumber = 1
' Header options
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.CenterText = "{url}"
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Helvetica
renderer.RenderingOptions.TextHeader.FontSize = 12
' Footer options
renderer.RenderingOptions.TextFooter.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Arial
renderer.RenderingOptions.TextFooter.FontSize = 10
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
7.1. Añadir encabezados y pies de página con HTML
Como en el caso anterior, este ejemplo funciona en una aplicación de consola .NET Core. Especifica HTML con la propiedad HtmlFragment
.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-7.cs
using IronPdf;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Build a footer using html to style the text
// mergeable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 30,
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
// Build a header using an image asset
// Note the use of BaseUrl to set a relative path to the assets
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 30,
HtmlFragment = "<img src='logo.jpg'>",
BaseUrl = new Uri(@"C:\assets\images").AbsoluteUri
};
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf
Imports System
Private renderer As New ChromePdfRenderer()
' Build a footer using html to style the text
' mergeable fields are:
' {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.MaxHeight = 30,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
' Build a header using an image asset
' Note the use of BaseUrl to set a relative path to the assets
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.MaxHeight = 30,
.HtmlFragment = "<img src='logo.jpg'>",
.BaseUrl = (New Uri("C:\assets\images")).AbsoluteUri
}
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
8. Cifrar PDF con contraseña
Establezca la propiedad Contraseña
de un documento PDF para cifrarlo y obligar al usuario a introducir la contraseña correcta para ver el documento. Este ejemplo funciona en una aplicación .NET Core Console
:path=/static-assets/pdf/content-code-examples/get-started/get-started-8.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.Password = "strong!@#pass&^%word";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.Password = "strong!@#pass&^%word"
pdf.SaveAs("secured.pdf")
9. Fusionar y dividir documentos PDF
Utilice el método Merge
para unir varios documentos PDF, o CopyPages
para dividir un número de páginas de un documento existente. Incluya PDFs en su proyecto como Contenido para acceder a ellos por nombre de archivo.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-9.cs
using IronPdf;
using System.Collections.Generic;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
List<PdfDocument> pdfs = new List<PdfDocument>();
pdfs.Add(PdfDocument.FromFile("A.pdf"));
pdfs.Add(PdfDocument.FromFile("B.pdf"));
pdfs.Add(PdfDocument.FromFile("C.pdf"));
PdfDocument mergedPdfDocument = PdfDocument.Merge(pdfs);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
foreach (PdfDocument pdfDocument in pdfs)
{
pdfDocument.Dispose();
}
Imports IronPdf
Imports System.Collections.Generic
Private renderer As New ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Private pdfs As New List(Of PdfDocument)()
pdfs.Add(PdfDocument.FromFile("A.pdf"))
pdfs.Add(PdfDocument.FromFile("B.pdf"))
pdfs.Add(PdfDocument.FromFile("C.pdf"))
Dim mergedPdfDocument As PdfDocument = PdfDocument.Merge(pdfs)
mergedPdfDocument.SaveAs("merged.pdf")
' Add a cover page
mergedPdfDocument.PrependPdf(renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf")
For Each pdfDocument As PdfDocument In pdfs
pdfDocument.Dispose()
Next pdfDocument
10. Extraer imágenes de documentos PDF
Esta función requiere un paquete NuGet adicional. Instalar System.Drawing.Common
. Utilice el método ExtractAllText
para obtener texto y el método ExtractAllImages
para obtener imágenes.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-10.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("A.pdf");
// Get all text
string allText = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the images and text by page
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
string pageText = pdf.ExtractTextFromPage(index);
var pageImages = pdf.ExtractImagesFromPage(index);
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("A.pdf")
' Get all text
Private allText As String = pdf.ExtractAllText()
' Get all Images
Private allImages = pdf.ExtractAllImages()
' Or even find the images and text by page
For index = 0 To pdf.PageCount - 1
Dim pageNumber As Integer = index + 1
Dim pageText As String = pdf.ExtractTextFromPage(index)
Dim pageImages = pdf.ExtractImagesFromPage(index)
Next index
11. Activar JavaScript
:path=/static-assets/pdf/content-code-examples/get-started/get-started-11.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(500);
renderer.RenderingOptions = new ChromePdfRenderOptions()
{
EnableJavaScript = true,
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
12. OCR PDF y extracción de texto
En muchos casos se puede extraer directamente el texto incrustado de los PDF:
:path=/static-assets/pdf/content-code-examples/get-started/get-started-12.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("Invoice.pdf", "password");
// Get all text
string text = pdf.ExtractAllText();
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("Invoice.pdf", "password")
' Get all text
Private text As String = pdf.ExtractAllText()
Si no funciona, es probable que el texto esté incrustado en una imagen:
Utilice la biblioteca IronOCR para escanear documentos en busca de texto visual que no sea texto plano.
Necesitará instalar el paquete NuGet IronOcr
. Más información escanear PDF con IronOCR.
:path=/static-assets/pdf/content-code-examples/get-started/get-started-13.cs
using IronOcr;
using System;
IronTesseract ocr = new IronTesseract();
using (OcrInput Input = new OcrInput())
{
// OCR entire document
Input.LoadPdf("Invoice.pdf", Password: "password");
// Use filters to increase image quality
Input.Deskew();
Input.DeNoise();
OcrResult Result = ocr.Read(Input);
Console.WriteLine(Result.Text);
var Barcodes = Result.Barcodes;
string Text = Result.Text;
}
Imports IronOcr
Imports System
Private ocr As New IronTesseract()
Using Input As New OcrInput()
' OCR entire document
Input.LoadPdf("Invoice.pdf", Password:= "password")
' Use filters to increase image quality
Input.Deskew()
Input.DeNoise()
Dim Result As OcrResult = ocr.Read(Input)
Console.WriteLine(Result.Text)
Dim Barcodes = Result.Barcodes
Dim Text As String = Result.Text
End Using
13. Utilizar más opciones de renderizado
He aquí algunas opciones de renderizado más detalladas
:path=/static-assets/pdf/content-code-examples/get-started/get-started-14.cs
using IronPdf;
using System.Text;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.SetCustomPaperSizeInInches(12.5, 20);
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
renderer.RenderingOptions.Title = "My PDF Document Name";
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(50);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.FitToPaperMode = IronPdf.Engines.Chrome.FitToPaperModes.Automatic;
renderer.RenderingOptions.InputEncoding = Encoding.UTF8;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Change margins (millimeters)
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
// Use 2 if a cover page will be appended
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderHtmlFileAsPdf("my-content.html").SaveAs("my-content.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
14. Descargar la hoja de trucos de C# en PDF
Hemos compilado este tutorial como un documento PDF fácil de leer y compartir que explica en su totalidad cómo crear y editar PDF en C# y VB.NET utilizando la biblioteca IronPDF.
Puede descargarlo y utilizarlo como guía de desarrollo para sus proyectos .NET, o imprimirlo como un práctico compañero para el desarrollo de IronPDF. Esto ahorra tiempo y esfuerzo a la hora de empezar a añadir funciones PDF a cualquier proyecto .NET.
15. Más información
Para obtener más información sobre la conversión de HTML a PDF en aplicaciones C# o VB.NET, lea la detallada Tutorial de HTML a PDF en C#. El tutorial explica claramente la configuración avanzada de PDF con plantillas HTML, CSS, imágenes y JavaScript.
Si está interesado en saber cómo convertir dinámicamente páginas ASPX en aplicaciones ASP.NET en archivos PDF, consulte el documento completo Tutorial de ASPX a PDF.
Un completo Referencia API IronPDF para desarrolladores .NET.
16. Solicitar licencia
IronPDF requiere una clave de licencia para su uso. Para obtener más información sobre cómo aplicar la clave de licencia, visite la página Claves de licencia de IronPDF página.
Acceso rápido a tutoriales
Ver la referencia de la API
Explore la Referencia de la API para IronPDF, que describe los detalles de todas las características, espacios de nombres, clases, métodos, campos y enums de IronPDF.
Ver la referencia de la API