Cómo migrar de PDFPrinting.NET a IronPDF en C#
Migrar de PDFPrinting.NET a IronPDF: Guía completa de migración a C
La migración de PDFPrinting.NET aIronPDFamplí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.
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:
Sólo impresión: No se pueden crear, editar ni manipular documentos PDF.
Sólo 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.
Sin generación de PDF: No se puede convertir HTML, URL o datos a PDF.
Sin manipulación de documentos: No se pueden fusionar, dividir, poner marcas de agua ni proteger PDF.
Sin extracción de texto: No se puede leer ni extraer contenido de PDF.
- Sin manejo de formularios: No puede rellenar ni aplanar formularios PDF.
Comparación entre PDFPrinting.NET e IronPDF
| Característica | PDFPrinting.NET | IronPDF |
|---|---|---|
| Funcionalidad principal | Impresión silenciosa de PDF | Manejo del ciclo completo (crear, editar, imprimir) |
| Soporte de Plataforma | Sólo para Windows | Plataforma cruzada |
| Capacidad de creación/manipulación de PDF | No | Sí |
| Conversión de HTML a PDF | No | Sí |
| Adecuación para flujos de trabajo automatizados | Alta | Alta |
| Dependencias adicionales | Se basa en impresoras Windows | Motor interno del navegador para la renderización |
| Impresión silenciosa | Sí | Sí |
| Extracción de texto | No soportado | Soporte completo |
| Licencias | Comercial | Comercial |
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,IronPDFproporciona una solución PDF completa que funciona en entornos Windows, Linux y macOS.
Antes de empezar
Prerrequisitos
- <Entorno .NET: .NET Framework 4.6.2+ o .NET Core 3.1+ / .NET 5/6/7/8/9+
- Acceso a NuGet: Capacidad para instalar paquetes NuGet
- Licencia IronPDF: Obtenga su clave de licencia en ironpdf.com
Cambios en el paquete NuGet
# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET
# Install IronPDF
dotnet add package IronPdf# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET
# Install IronPDF
dotnet add package IronPdfConfiguración de licencias
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IRON VB CONVERTER ERROR developers@ironsoftware.comIdentificar 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" .# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .
# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .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;// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;IRON VB CONVERTER ERROR developers@ironsoftware.comCore Class Mappings
| PDFPrinting.NET | IronPDF | Notas |
|---|---|---|
| <código>PDFPrinter</código | Documento PDF | Objeto PDF principal |
| <código>HtmlToPdfConverter</código | <código>ChromePdfRenderer</código | Generación de PDF |
| <código>WebPageToPdfConverter</código | <código>ChromePdfRenderer</código | Conversión de URL |
| Propiedades de configuración de impresión | <código>Configuración de impresión</código | Configuración de impresión |
Métodos de impresión
| PDFPrinting.NET | IronPDF | Notas |
|---|---|---|
printer.Print(filePath) | pdf.Print() | Imprimir en la impresora predeterminada |
| <código>printer.Print(ruta, printerName)</código | <código>pdf.Print(printerName)</código | Imprimir en una impresora específica |
| <código>printer.PrinterName = "..."</código | <código>pdf.Print("...")</código | Especificar impresora |
| <código>printer.GetPrintDocument(path)</código | <código>pdf.GetPrintDocument()</código | Obtener PrintDocument |
impresora.Copias = n | printSettings.NumberOfCopies = n | Número de copias |
printer.Duplex = true | printSettings.DuplexMode = Duplex.Vertical | Impresión a doble cara |
printer.CollatePages = true | printSettings.Collate = true | Clasificación |
Nuevas funciones no disponibles en PDFPrinting.NET
| Características de IronPDF | Descripción |
|---|---|
renderer.RenderHtmlAsPdf(html) | Conversión de HTML a PDF |
| <código>renderer.RenderUrlAsPdf(url)</código | Conversión de URL a PDF |
| <código>PdfDocument.Merge(pdfs)</código | Combinar varios PDF |
| <código>pdf.ApplyWatermark(html)</código | Añadir marcas de agua |
| <código>pdf.SecuritySettings.UserPassword</código | Protección mediante contraseña |
| <código>pdf.ExtractAllText()</código | 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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comDespué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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.NET utiliza <código>HtmlToPdfConverter</códigocon ConvertHtmlToPdf(html, outputPath) que combina la renderización y el guardado en una sola llamada.IronPDFutiliza <código>ChromePdfRenderer</códigocon RenderHtmlAsPdf() que devuelve un objeto Documento PDFque luego se 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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comDespué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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.NET utiliza <código>WebPageToPdfConverter</códigocon Convert(url, outputPath).IronPDFutiliza la misma clase <código>ChromePdfRenderer</códigocon el método RenderUrlAsPdf(). Tenga en cuenta queIronPDFutiliza 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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comDespué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");
}
}// 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");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comPDFPrinting.NET utiliza propiedades de cadena simples HeaderText y FooterText con marcadores de posición {page} y {total}.IronPDFutiliza objetos HtmlHeaderFooter con una propiedad HtmlFragment que acepta HTML completo, lo que permite un estilo enriquecido con CSS. Observe el cambio de sintaxis del marcador de posición: PDFPrinting.NET utiliza {total} mientras queIronPDFutiliza {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}"// PDFPrinting.NET placeholders
"Page {page} of {total}"
//IronPDFplaceholders
"Page {page} of {total-pages}"IRON VB CONVERTER ERROR developers@ironsoftware.comPatrón de carga e impresión
PDFPrinting.NET pasa las rutas de los archivos directamente;IronPDFcarga primero:
// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");
// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");
// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();IRON VB CONVERTER ERROR developers@ironsoftware.comMigración de la configuración de impresión
PDFPrinting.NET utiliza propiedades;IronPDFutiliza 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);// 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);IRON VB CONVERTER ERROR developers@ironsoftware.comCabeceras 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>"
};// 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>"
};IRON VB CONVERTER ERROR developers@ironsoftware.comNuevas 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");var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.comMarcas de agua
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");IRON VB CONVERTER ERROR developers@ironsoftware.comProtección con contraseña
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";IRON VB CONVERTER ERROR developers@ironsoftware.comExtracción de texto
string text = pdf.ExtractAllText();string text = pdf.ExtractAllText();Dim text As String = 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");var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");IRON VB CONVERTER ERROR developers@ironsoftware.comImpresión multiplataforma
PDFPrinting.NET es exclusivo de Windows.IronPDFes multiplataforma:
Ventanas
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");IRON VB CONVERTER ERROR developers@ironsoftware.comLinux
// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spaces// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spacesIRON VB CONVERTER ERROR developers@ironsoftware.commacOS
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");IRON VB CONVERTER ERROR developers@ironsoftware.comResumen comparativo de características
| Característica | PDFPrinting.NET | IronPDF |
|---|---|---|
| Impresión silenciosa | ✓ | ✓ |
| Ajustes de impresión | ✓ | ✓ |
| HTML a PDF | ✗ | ✓ |
| URL a PDF | ✗ | ✓ |
| Encabezados/pies de página | Básico | HTML completo |
| Fusionar PDF | ✗ | ✓ |
| Dividir PDF | ✗ | ✓ |
| Marcas de agua | ✗ | ✓ |
| Extracción de Texto | ✗ | ✓ |
| Protección por contraseña | ✗ | ✓ |
| Multiplataforma | ✗ | ✓ |
Lista de comprobación de la migración
Pre-Migración
- [ ] Inventario de todos los usos de PDFPrinting.NET en el código base
- [ ] Documentar todos los nombres de impresoras utilizados actualmente
- [ ] Tenga en cuenta todas las configuraciones de impresión
- [ ] Identificar si se necesita soporte multiplataforma
- [ ] Planificar el almacenamiento de la clave de licencia deIronPDF(se recomiendan variables de entorno)
- [ ] Pruebe primero con la licencia de prueba de IronPDF
Cambios en el paquete
- [ ] Eliminar el paquete NuGet
PDFPrinting.NET - [Instale el paquete NuGet
IronPdf:dotnet add package IronPdf
Cambios de código
- [ ] Actualizar las importaciones de espacios de nombres
- [Reemplace <código>HtmlToPdfConverter</códigopor
ChromePdfRenderer - [Reemplace <código>WebPageToPdfConverter</códigopor
ChromePdfRenderer - [Reemplace
ConvertHtmlToPdf(html, path)porRenderHtmlAsPdf(html).SaveAs(path) - [ ] Sustituya
Convertir(url, ruta)porRenderizarUrlAsPdf(url).GuardarAs(ruta) - [Actualizar el encabezado/pie de página de
HeaderText/FooterTextaHtmlHeader/HtmlFooter - [ ] Actualizar la sintaxis de los marcadores de posición (
{total}→{total-pages}) - [ ] Convertir las llamadas de impresión en un patrón de carga-impresión
- [ ] Actualizar la configuración de impresión en el objeto
PrintSettings
Posmigración
- [Impresión de prueba en todas las plataformas de destino
- [ ] Verificar el renderizado de encabezado/pie de página
- [ ] Considere la posibilidad de añadir la generación de PDF para documentos dinámicos
- [ ] Añadir nuevas funciones (fusión, marcas de agua, seguridad) según sea necesario
Conclusión
La migración de PDFPrinting.NET aIronPDFtransforma su flujo de trabajo PDF de una solución sólo de impresión a una biblioteca completa del ciclo de vida de PDF. La decisión entre PDFPrinting.NET eIronPDFgira en gran medida en torno a las necesidades específicas del proyecto: elija PDFPrinting.NET si el único requisito es la impresión robusta y silenciosa de PDF en un entorno Windows; opte porIronPDFsi el proyecto requiere capacidades completas de procesamiento de PDF en varias plataformas.
Los cambios clave en esta migración son:
- Clase del conversor: <código>HtmlToPdfConverter</código/ <código>WebPageToPdfConverter</código→
ChromePdfRenderer - MétodoHTML:
ConvertHtmlToPdf(html, path)→RenderHtmlAsPdf(html).SaveAs(path) - Método URL:
Convertir(url, ruta)→RenderizarUrlAsPdf(url).GuardarAs(ruta) - Cabeceras/Pies de página: propiedades
HeaderText/FooterText→ objetosHtmlHeader/HtmlFooterconHtmlFragment - Placeholders:
{total}→{total-pages} - Patrón de impresión: Ruta directa → Cargar-imprimir
- Soporte de plataformas: Sólo Windows → Multiplataforma
- Nuevas funciones: Fusión de PDF, marcas de agua, seguridad, extracción de texto y mucho más
Explore la documentación completa de IronPDF, tutoriales y referencia de API para acelerar su migración a PDFPrinting.NET.






