Cómo migrar de PDFFilePrint a IronPDF en C#
La migración de PDFFilePrint a IronPDF hace que su flujo de trabajo PDF .NET pase de ser una utilidad centrada en la impresión con capacidades limitadas a una completa biblioteca PDF que gestiona la creación, manipulación e impresión en una única API unificada. Esta guía proporciona una ruta de migración completa, paso a paso, que elimina las dependencias de la línea de comandos a la vez que añade capacidades de generación y manipulación de PDF que PDFFilePrint no puede proporcionar.
Por qué migrar de PDFFilePrinta IronPDF
Entender PDFFilePrint
PDFFilePrint es una práctica herramienta diseñada específicamente para imprimir archivos PDF desde aplicaciones C#. Aunque sirve bien para tareas específicas de impresión de PDF, su funcionalidad se limita a un aspecto del manejo de documentos. El principal atractivo de PDFFilePrintradica en su simplicidad: se centra exclusivamente en ofrecer una experiencia de impresión para archivos PDF. Sin embargo, este estrecho enfoque crea limitaciones significativas para los sistemas integrales de gestión de documentos.
Limitaciones críticas de PDFFilePrint
-
Enfoque solo en la impresión: la funcionalidad de PDFFilePrintse limita a la impresión. Carece de funciones para crear o modificar archivos PDF, lo que supone una limitación para sistemas de gestión de documentos más completos.
-
Dependencia de la línea de comandos: al depender a menudo de operaciones de línea de comandos con llamadas
Process.Start(), es posible que PDFFilePrintno satisfaga las necesidades de una integración perfecta en aplicaciones que requieren API más robustas. -
Solo Windows: como depende en gran medida de los sistemas de impresión de Windows, puede que no sea la mejor opción para entornos que utilizan otros sistemas operativos.
-
Sin integración .NET : no hay API nativa, no hay paquete NuGet y no hay soporte para IntelliSense en algunos patrones de uso.
-
Gestión de procesos externos: debe gestionar el ciclo de vida del proceso, los códigos de salida y el análisis de errores desde stdout/stderr.
-
Manejo de errores limitado: la detección de errores requiere analizar la salida estándar y los flujos de errores en lugar de excepciones nativas.
-
Complejidad de implementación: debe incluir PDFFilePrint.exe con la aplicación en escenarios de uso de línea de comandos.
- No se pueden generar PDF: no se pueden crear archivos PDF, solo imprimir los existentes en su modo de línea de comandos.
Comparación entre PDFFilePrinte IronPDF
| Aspecto | PDFFilePrint | IronPDF |
|---|---|---|
| Enfoque principal | Impresión en PDF | API PDF completa |
| Tipo | Utilidad de línea de comandos / Biblioteca básica | Biblioteca .NET nativa |
| Integración | Process.Start() / API básica | Llamadas directas a la API |
| Impresión PDF | ✓ | ✓ |
| Creación de PDF | Limitado | ✓(HTML, URL, imágenes) |
| Manipulación de PDF | ✗ | ✓(fusionar, dividir, editar) |
| Traducción multiplataforma | Sólo para Windows | Windows, Linux, macOS |
| Manejo de errores | Analizar stdout/stderr | Excepciones nativas |
| IntelliSense | Limitado | Se admite |
| Paquete NuGet | Limitado | ✓ |
| Documentación | Básico | Amplia |
Para los equipos que planifican la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDFproporciona una base completa con soporte multiplataforma y desarrollo activo, abordando las limitaciones arquitectónicas de PDFFilePrint.
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 deIronPDF: Obtenga su clave de licencia en IronPDF
Cambios en el paquete NuGet
# Remove PDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package IronPdf
# Remove PDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package IronPdf
Configuració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";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Identificar el uso de PDFFilePrint
# Find PDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
# Find PDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
Referencia completa de la API
Cambios en el espacio de nombres
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
Imports PDFFilePrint
Imports System.Diagnostics ' For command-line usage
' IronPDF
Imports IronPdf
Imports IronPdf.Printing
Asignaciones de clases principales
| PDFFilePrint | IronPDF |
|---|---|
new PDFFile() |
new ChromePdfRenderer() |
new PDFFile() |
PdfDocument.FromFile() |
PDFFile |
PdfDocument |
Métodos de generación de PDF
| PDFFilePrint | IronPDF |
|---|---|
pdf.CreateFromHtml(html) |
renderer.RenderHtmlAsPdf(html) |
pdf.CreateFromUrl(url) |
renderer.RenderUrlAsPdf(url) |
pdf.SaveToFile(path) |
pdf.SaveAs(path) |
Mapas de carga e impresión de PDF
| PDFFilePrint | IronPDF |
|---|---|
pdf.LoadFromFile(path) |
PdfDocument.FromFile(path) |
pdf.Print(printerName) |
pdf.Print(printerName) |
pdf.Print("Default Printer") |
pdf.Print() |
Configuraciones de impresión (línea de comandos a API)
| PDFFilePrintBandera | Propiedad PrintSettings de IronPDF |
|---|---|
-printer "Name" |
PrinterName |
-copies N |
NumberOfCopies |
-silent |
ShowPrintDialog = false |
-pages "1-5" |
FromPage, ToPage |
-orientation landscape |
PaperOrientation |
-duplex |
Duplex |
-collate |
Collate |
Nuevas funciones que no están en PDFFilePrint
| Características de IronPDF | Descripción |
|---|---|
PdfDocument.Merge() |
Combinar varios PDF |
pdf.CopyPages() |
Extraer páginas específicas |
pdf.ApplyWatermark() |
Añadir marcas de agua |
pdf.SecuritySettings |
Protección mediante contraseña |
pdf.ExtractAllText() |
Extraer el contenido del texto |
pdf.RasterizeToImageFiles() |
Convertir a imágenes |
pdf.SignWithDigitalSignature() |
Firmas digitales |
Ejemplos de migración de código
Ejemplo 1: Conversión de HTML a PDF
Antes (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
pdf.CreateFromHtml(htmlContent)
pdf.SaveToFile("output.pdf")
End Sub
End Module
Después (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
End Sub
End Class
La diferencia fundamental en este caso es el modelo de API. PDFFilePrintutiliza una única clase PDFFile con métodos CreateFromHtml() y SaveToFile().IronPDFsepara la representación del objeto del documento—ChromePdfRenderer maneja la conversión de HTML a PDF y devuelve un objeto PdfDocument que luego se guarda con SaveAs().
Esta separación proporciona ventajas significativas: puede configurar las opciones de renderizado en el renderizador antes de la conversión, y el PdfDocument devuelto se puede manipular (agregar marcas de agua, fusionar con otros PDF, agregar seguridad) antes de guardarlo. Consulte la documentación HTML a PDF para obtener más opciones de conversión.
Ejemplo 2: Conversión de URL a PDF
Antes (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
Imports System
Imports PDFFilePrint
Class Program
Shared Sub Main()
Dim pdf As New PDFFile()
pdf.CreateFromUrl("https://www.example.com")
pdf.SaveToFile("webpage.pdf")
End Sub
End Class
Después (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
PDFFilePrint usa CreateFromUrl() en la misma clase PDFFile.IronPDFutiliza el método dedicado RenderUrlAsPdf() en ChromePdfRenderer, que aprovecha un motor Chromium moderno para la representación precisa de CSS3 complejo, JavaScript y funciones web modernas. La calidad de renderizado es predecible y coincide con lo que se ve en el navegador Chrome. Más información sobre Conversión de URL a PDF.
Ejemplo 3: Impresión de PDF
Antes (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
pdf.LoadFromFile("document.pdf")
pdf.Print("Default Printer")
Console.WriteLine("PDF sent to printer")
End Sub
End Module
Después (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.Print()
Console.WriteLine("PDF sent to printer")
End Sub
End Class
Este ejemplo muestra una diferencia arquitectónica fundamental en la carga e impresión de PDF. PDFFilePrintutiliza new PDFFile() seguido de LoadFromFile(), luego Print(printerName).IronPDFutiliza el método de fábrica estático PdfDocument.FromFile() para cargar directamente, luego Print() que utiliza la impresora predeterminada (o puede pasar un nombre de impresora).
Los cambios clave de la migración:
new PDFFile()+LoadFromFile(path)→PdfDocument.FromFile(path)Print("Default Printer")→Print()(la impresora predeterminada es automática)
Para configuraciones de impresión avanzadas,IronPDFproporciona una clase PrintSettings. Consulte la documentación de impresión para conocer las opciones avanzadas.
Migración avanzada de la configuración de impresión
Para las aplicaciones que utilizan los indicadores de línea de comandos de PDFFilePrint, aquí se explica cómo migrar a PrintSettings de IronPDF:
// PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDFequivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
// PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDFequivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
Imports IronPdf
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim settings As New PrintSettings With {
.ShowPrintDialog = False, ' -silent
.NumberOfCopies = 3, ' -copies 3
.PrinterName = "HP LaserJet", ' -printer "HP LaserJet"
.FromPage = 1, ' -pages "1-5"
.ToPage = 5
}
pdf.Print(settings)
Conversión de banderas en modo silencioso
Nótese la lógica invertida para la impresión silenciosa:
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
' PDFFilePrint: -silent flag enables silent mode
' IronPDF: ShowPrintDialog = false (false = silent)
Dim settings As New PrintSettings With {.ShowPrintDialog = False}
Nuevas capacidades tras la migración
Tras migrar a IronPDF, obtendrá funciones que PDFFilePrintno puede ofrecerle:
Crear e imprimir en un solo paso
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>")
pdf.Print("Office Printer")
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");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Marcas de agua
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>")
pdf.SaveAs("watermarked.pdf")
Protección con contraseña
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SaveAs("secured.pdf")
Extracción de texto
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
Notas de migración críticas
Cambio de patrón de clase
PDFFilePrint utiliza una única clase PDFFile para todo;IronPDFsepara las preocupaciones:
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
' PDFFilePrint: Single class
Dim pdf1 = New PDFFile()
pdf1.CreateFromHtml(html)
pdf1.SaveToFile(path)
' IronPDF: Renderer for creation, Document for manipulation
Dim renderer = New ChromePdfRenderer()
Dim pdf2 = renderer.RenderHtmlAsPdf(html)
pdf2.SaveAs(path)
Cambios en la nomenclatura de los métodos
// PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
// PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
Código de salida para el manejo de excepciones
Si utiliza PDFFilePrint:
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
' PDFFilePrint: Check process exit code
If process.ExitCode <> 0 Then
Dim error = process.StandardError.ReadToEnd()
Throw New Exception($"Print failed: {error}")
End If
' IronPDF: Use try-catch
Try
pdf.Print()
Catch ex As Exception
' Handle error with full exception details
End Try
Eliminar dependencias externas
Si utiliza PDFFilePrintdesde la línea de comandos, elimine el ejecutable incluido:
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDFis fully self-contained via NuGet
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDFis fully self-contained via NuGet
' Before: Required external executable
Private ReadOnly _pdfFilePrintPath As String = "C:\tools\PDFFilePrint.exe"
' After: No external dependencies
'IronPDF is fully self-contained via NuGet
Resumen comparativo de características
| Característica | PDFFilePrint | IronPDF |
|---|---|---|
| Impresión básica | ✓ | ✓ |
| Impresión silenciosa | ✓ | ✓ |
| Múltiples copias | ✓ | ✓ |
| Rango de páginas | ✓ | ✓ |
| Dúplex | Varía | ✓ |
| Crear a partir de HTML | Limitado | ✓ |
| Crear a partir de URL | Limitado | ✓ |
| Fusionar PDF | ✗ | ✓ |
| Dividir PDF | ✗ | ✓ |
| Añadir marcas de agua | ✗ | ✓ |
| Extraer texto | ✗ | ✓ |
| Protección mediante contraseña | ✗ | ✓ |
| Firmas digitales | ✗ | ✓ |
| Plataforma cruzada | ✗ | ✓ |
| API .NET nativa | Limitado | ✓ |
Lista de comprobación de la migración
Pre-Migración
- Localizar todas las referencias de PDFFilePrinten el código base
- Documentar los métodos actuales utilizados (CreateFromHtml, CreateFromUrl, Print, etc.)
- Identificar los nombres de impresoras utilizados en distintos entornos
- Enumere todos los argumentos de la línea de comandos si se utiliza el patrón Process.Start
- Identificar oportunidades para nuevas funciones (fusión, marcas de agua, seguridad)
- Obtener la clave de licencia de IronPDF
Cambios en el paquete
- Eliminar el paquete NuGet
PDFFilePrint - Eliminar el archivo PDFFilePrint.exe incluido de la implementación (si corresponde)
- Instalar
IronPdfpaquete NuGet :dotnet add package IronPdf - Actualizar las importaciones de espacios de nombres
Cambios de código
- Agregar configuración de clave de licencia al inicio
- Reemplace
new PDFFile()+CreateFromHtml()conChromePdfRenderer.RenderHtmlAsPdf() - Reemplace
new PDFFile()+CreateFromUrl()conChromePdfRenderer.RenderUrlAsPdf() - Reemplace
LoadFromFile()conPdfDocument.FromFile() - Reemplace
SaveToFile()conSaveAs() - Actualizar las llamadas
Print()según sea necesario - Reemplazar las comprobaciones de código de salida con manejo de excepciones (si corresponde)
Posmigración
- Eliminar PDFFilePrint.exe del control de código fuente
- Actualizar los scripts de compilación para eliminar la copia de PDFFilePrint
- Pruebe la impresión en todas las impresoras de destino
- Pruebe la multiplataforma si corresponde
- Agregue nuevas funciones (marcas de agua, seguridad) según sea necesario
- Actualización de la documentación

