IRONSOFTWAREHOME
VIDEOS

Cómo generar archivos PDF en .NET Core usando IronPDF

Curtis Chau
Curtis Chau
Updated: 19 de julio de 2026

La migración de PDFPrinting.NET a IronPDF amplía las capacidades de PDF de una biblioteca de sólo impresión a una solución integral que gestiona el ciclo de vida completo de PDF, incluida la creación, manipulación, extracción, seguridad e impresión. Esta guía proporciona una ruta de migración completa, paso a paso, que conserva los flujos de trabajo de impresión existentes al tiempo que añade capacidades de generación de PDF, conversión de HTML y soporte multiplataforma.

Para los equipos de desarrollo en España, la transición desde PDFPrinting.NET tiene una motivación regulatoria directa. El marco normativo de facturación electrónica —VeriFactu (Real Decreto-Ley 15/2025), TicketBAI en el País Vasco y la Ley Crea y Crece— exige que el software de facturación genere activamente documentos PDF con funcionalidades que van mucho más allá de la simple impresión: inserción de la leyenda obligatoria VERI*FACTU o Factura verificable en la sede electrónica de la AEAT, firma digital PAdES conforme a eIDAS, y encadenamiento de registros mediante huella. PDFPrinting.NET, al limitarse a la impresión silenciosa, no puede satisfacer estos requisitos. IronPDF, como componente dentro de software de facturación certificado, sí puede.

Por qué migrar de PDFPrinting.NET a IronPDF

Entendiendo PDFPrinting.NET

PDFPrinting.NET destaca como una solución especializada que ofrece una sencillez y eficacia sin precedentes en la impresión silenciosa de PDF. PDFPrinting.NET, que opera principalmente en el ecosistema Windows, es una biblioteca comercial diseñada específicamente para desarrolladores que necesitan integrar funciones de impresión PDF en sus aplicaciones. Como herramienta dedicada exclusivamente a la impresión silenciosa y robusta de PDF, PDFPrinting.NET encuentra su nicho en la simplificación de la tarea, a menudo compleja, de imprimir documentos mediante programación sin intervención del usuario.

Una de las ventajas más significativas de PDFPrinting.NET es su capacidad para imprimir documentos de forma silenciosa. Se prescinde de las habituales ventanas de diálogo de impresión, lo que facilita procesos de flujo de trabajo totalmente automatizados, algo crucial para aplicaciones que exigen una interacción mínima del usuario.

La limitación de la impresión

Una limitación notable de PDFPrinting.NET es que sólo aborda el aspecto de impresión del procesamiento de PDF. No puede crear, modificar ni manipular documentos PDF, lo que limita su utilidad para los desarrolladores que necesiten soluciones para el ciclo de vida completo de los documentos PDF:

  1. Solo impresión: no se pueden crear, editar ni manipular documentos PDF.

  2. Solo Windows: vinculado a la infraestructura de impresión de Windows, sin compatibilidad con Linux/MacOS. La dependencia de la infraestructura de impresión de Windows restringe su aplicabilidad a entornos exclusivamente Windows, lo que limita la usabilidad multiplataforma.

  3. No se genera PDF: no se pueden convertir HTML, URL ni datos a PDF.

  4. Sin manipulación de documentos: no se pueden fusionar, dividir, agregar marcas de agua ni proteger archivos PDF.

  5. Sin extracción de texto: no se puede leer ni extraer contenido de archivos PDF.

  6. Sin manejo de formularios: no se pueden rellenar ni aplanar formularios PDF.

Comparación entre PDFPrinting.NET e IronPDF

CaracterísticaPDFPrinting.NETIronPDF
Funcionalidad principalImpresión silenciosa de PDFManejo del ciclo completo (crear, editar, imprimir)
Soporte de PlataformaSólo para WindowsPlataforma cruzada
Capacidad de creación/manipulación de PDFNo
Conversión de HTML a PDFNo
Adecuación para flujos de trabajo automatizadosAltaAlta
Dependencias adicionalesSe basa en impresoras WindowsMotor interno del navegador para la renderización
Impresión silenciosa
Extracción de textoNo soportadoSe admite
LicenciasComercialComercial

IronPDF presenta una solución más completa al abordar el ciclo de vida completo de la gestión de PDF. Facilita la creación, edición, conversión e impresión de documentos PDF, ofreciendo a los desarrolladores un conjunto completo de funciones a través de una API unificada. A diferencia de PDFPrinting.NET,IronPDFse puede implementar en diferentes plataformas, lo que lo convierte en una opción versátil para aplicaciones que funcionan en diversos entornos.

Para los equipos que planifican la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDF proporciona una solución PDF completa que funciona en entornos Windows, Linux y macOS.


Antes de empezar

Prerrequisitos

  1. Entorno .NET : .NET Framework 4.6.2+ o .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Acceso a NuGet : Capacidad para instalar paquetes NuGet
  3. Licencia de IronPDF: Obtenga su clave de licencia en IronPDF

Cambios en el paquete NuGet

# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuración de licencias

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Identificar el uso de PDFPrinting.NET

# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .

# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .
SHELL

Referencia completa de la API

Cambios en el espacio de nombres

// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;

Asignaciones de clases principales

PDFPrinting.NETIronPDF
PDFPrinterPdfDocument
HtmlToPdfConverterChromePdfRenderer
WebPageToPdfConverterChromePdfRenderer
Propiedades de configuración de impresiónPrintSettings

Métodos de impresión

PDFPrinting.NETIronPDF
printer.Print(filePath)pdf.Print()
printer.Print(path, printerName)pdf.Print(printerName)
printer.PrinterName = "..."pdf.Print("...")
printer.GetPrintDocument(path)pdf.GetPrintDocument()
printer.Copies = nprintSettings.NumberOfCopies = n
printer.Duplex = trueprintSettings.DuplexMode = Duplex.Vertical
printer.CollatePages = trueprintSettings.Collate = true

Nuevas funciones no disponibles en PDFPrinting.NET

Características de IronPDFDescripción
renderer.RenderHtmlAsPdf(html)Conversión de HTML a PDF
renderer.RenderUrlAsPdf(url)Conversión de URL a PDF
PdfDocument.Merge(pdfs)Combinar varios PDF
pdf.ApplyWatermark(html)Añadir marcas de agua
pdf.SecuritySettings.UserPasswordProtección mediante contraseña
pdf.ExtractAllText()Extracción de texto

Ejemplos de migración de código

Ejemplo 1: Conversión de HTML a PDF

Antes (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}

PDFPrinting .NET utiliza HtmlToPdfConverter con ConvertHtmlToPdf(html, outputPath) que combina la representación y el guardado en una sola llamada.IronPDF usa ChromePdfRenderer con RenderHtmlAsPdf() que devuelve un objeto PdfDocument que luego guarda con SaveAs(). Esta separación ofrece más flexibilidad: se puede manipular el PDF (añadir marcas de agua, combinar con otros documentos, añadir seguridad) antes de guardarlo.

IronPDF ofrece funciones como la conversión de HTML a PDF, que permite a los desarrolladores convertir contenido web en PDF, aprovechando las modernas tecnologías web para la creación de documentos. Al aprovechar internamente los motores de los navegadores,IronPDFreproduce con precisión el estilo y la representación de los documentos web en PDF. Consulte la documentación HTML a PDF para ver ejemplos completos.

Ejemplo 2: Conversión de URL a PDF

Antes (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new WebPageToPdfConverter();
        string url = "https://www.example.com";
        converter.Convert(url, "webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}

PDFPrinting .NET utiliza WebPageToPdfConverter con Convert(url, outputPath).IronPDF utiliza la misma clase ChromePdfRenderer con el método RenderUrlAsPdf(). Tenga en cuenta que IronPDFutiliza una única clase de renderizador tanto para cadenas HTML como para URL, lo que simplifica su código cuando necesita ambas capacidades. Más información en nuestros tutoriales.

Ejemplo 3: Encabezados y pies de página

Antes (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.HeaderText = "Company Report";
        converter.FooterText = "Page {page} of {total}";
        string html = "<html><body><h1>Document Content</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Company Report</div>"
        };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        };
        string html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}

PDFPrinting .NET utiliza propiedades de cadena simples HeaderText y FooterText con marcadores de posición {page} y {total}.IronPDF utiliza objetos HtmlHeaderFooter con una propiedad HtmlFragment que acepta HTML completo, lo que permite un estilo enriquecido con CSS. Tenga en cuenta el cambio de sintaxis del marcador de posición: PDFPrinting .NET usa {total} mientras que IronPDF usa {total-pages}.


Notas de migración críticas

Cambio en la sintaxis de los marcadores

Los marcadores de posición de encabezado/pie de página difieren según las bibliotecas:

// PDFPrinting.NET placeholders
"Page {page} of {total}"

//IronPDFplaceholders
"Page {page} of {total-pages}"

Patrón de carga e impresión

PDFPrinting.NET pasa las rutas de los archivos directamente;IronPDF carga primero:

// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");

// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();

Migración de la configuración de impresión

PDFPrinting.NET utiliza propiedades;IronPDF utiliza un objeto de configuración:

// PDFPrinting.NET: Properties on printer object
printer.Copies = 2;
printer.Duplex = true;

// IronPDF: Settings object
var settings = new PrintSettings
{
    NumberOfCopies = 2,
    DuplexMode = System.Drawing.Printing.Duplex.Vertical
};
pdf.Print(settings);

Cabeceras HTML frente a cabeceras de texto

// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";

// IronPDF: HTML completowith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};

Nuevas capacidades tras la migración

Tras migrar a IronPDF, obtendrá funciones que PDFPrinting.NET no puede ofrecer:

Fusión de PDF

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");

Marcas de agua

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");

Protección con contraseña

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";

Extracción de texto

string text = pdf.ExtractAllText();

Flujo de trabajo "Generar y luego imprimir"

Con IronPDF, puede generar archivos PDF e imprimirlos en un solo flujo de trabajo:

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");

Impresión multiplataforma

PDFPrinting.NET es exclusivo de Windows.IronPDFes multiplataforma:

Ventanas

pdf.Print("HP LaserJet");

Linux

// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet");  // CUPS uses underscores instead of spaces

macOS

pdf.Print("HP LaserJet");

Resumen comparativo de características

CaracterísticaPDFPrinting.NETIronPDF
Impresión silenciosa
Ajustes de impresión
HTML a PDF
URL a PDF
Encabezados/pies de páginaBásicoHTML completo
Fusionar PDF
Dividir PDF
Marcas de agua
Extracción de Texto
Protección por contraseña
Multiplataforma

Cumplimiento normativo en España: impresión PDF ya no es suficiente

La arquitectura de PDFPrinting.NET —diseñada exclusivamente para imprimir documentos mediante la infraestructura de impresión de Windows— resulta insuficiente en el contexto del marco normativo español de facturación electrónica. A continuación se detallan las implicaciones regulatorias más relevantes para los ISVs de software de gestión en España.

VeriFactu: generación, no impresión

VeriFactu (Real Decreto-Ley 15/2025) exige que el software de facturación genere registros de facturación con huella (hash encadenado) y que los documentos PDF incorporen la leyenda VERI*FACTU (con asterisco) o Factura verificable en la sede electrónica de la AEAT. Las sanciones para proveedores de software no conforme alcanzan hasta 150.000 € anuales según la AEAT. PDFPrinting.NET no puede satisfacer estos requisitos: no genera contenido PDF, solo imprime documentos ya existentes. IronPDF, en cambio, permite construir el documento completo con la leyenda obligatoria integrada y procesarlo dentro de pipelines de facturación certificados.

TicketBAI y firma digital

Los ISVs que distribuyen software de facturación en Bizkaia, Gipuzkoa o Araba deben cumplir con TicketBAI, que requiere documentos firmados digitalmente mediante XAdES y encadenados. IronPDF proporciona capacidades de firma digital (PAdES) conformes con eIDAS y la FNMT (Fábrica Nacional de Moneda y Timbre) como autoridad de certificación española, lo que permite integrar la generación de facturas firmadas en un flujo unificado.

Crea y Crece y la factura electrónica B2B

La Ley Crea y Crece establece la obligatoriedad de la factura electrónica B2B para empresas con facturación superior a 8 millones de euros a partir de 2027, y para todas las demás a partir de 2028. El formato requerido (Facturae XML con CIUS-ES conforme a EN 16931) debe poder generarse y enviarse mediante la plataforma FACe. IronPDF permite generar facturas en PDF/A-3 con Facturae XML embebido, cubriendo tanto los requisitos de archivo como de intercambio electrónico.

LOPDGDD y el procesamiento local

El procesamiento de documentos de facturación —que contienen datos personales de clientes— está sujeto a la LOPDGDD, supervisada por la AEPD. El procesamiento local con IronPDF, sin enviar datos a servidores externos ni depender de la infraestructura de impresión de Windows, simplifica la base legal y el registro de actividades de tratamiento exigido por el RGPD/LOPDGDD.


Lista de comprobación de la migración

Pre-Migración

  • Inventario de todo el uso de PDFPrinting .NET en el código base
  • Documentar todos los nombres de impresoras utilizados actualmente
  • Tenga en cuenta todas las configuraciones de configuración de impresión
  • Identificar si se necesita soporte multiplataforma
  • Planifique el almacenamiento de la clave de licencia de IronPDF(se recomiendan variables de entorno)
  • Pruebe primero con la licencia de prueba de IronPDF

Cambios en el paquete

  • Eliminar el paquete NuGet PDFPrinting.NET
  • Instalar IronPdf el paquete NuGet : dotnet add package IronPdf

Cambios de código

  • Actualizar las importaciones de espacios de nombres
  • Reemplace HtmlToPdfConverter con ChromePdfRenderer
  • Reemplace WebPageToPdfConverter con ChromePdfRenderer
  • Reemplace ConvertHtmlToPdf(html, path) con RenderHtmlAsPdf(html).SaveAs(path)
  • Reemplace Convert(url, path) con RenderUrlAsPdf(url).SaveAs(path)
  • Actualizar encabezado/pie de página de FooterText a HtmlFooter
  • Actualizar la sintaxis del marcador de posición ({total}{total-pages})
  • Convertir llamadas de impresión en un patrón de cargar y luego imprimir
  • Actualizar la configuración de impresión al objeto PrintSettings

Posmigración

  • Prueba de impresión en todas las plataformas de destino
  • Verificar la representación del encabezado/pie de página
  • Considere agregar generación de PDF para documentos dinámicos
  • Agregue nuevas capacidades (fusión, marcas de agua, seguridad) según sea necesario

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta