Saltar al pie de página
GUíAS DE MIGRACIóN

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

  1. 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.

  2. 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.

  3. 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.

  4. Sin integración .NET : no hay API nativa, no hay paquete NuGet y no hay soporte para IntelliSense en algunos patrones de uso.

  5. 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.

  6. 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.

  7. Complejidad de implementación: debe incluir PDFFilePrint.exe con la aplicación en escenarios de uso de línea de comandos.

  8. 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

  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 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
SHELL

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"
$vbLabelText   $csharpLabel

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"
SHELL

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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}
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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 IronPdf paquete 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() con ChromePdfRenderer.RenderHtmlAsPdf()
  • Reemplace new PDFFile() + CreateFromUrl() con ChromePdfRenderer.RenderUrlAsPdf()
  • Reemplace LoadFromFile() con PdfDocument.FromFile()
  • Reemplace SaveToFile() con SaveAs()
  • 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

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 ...

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame