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

Cómo migrar de PdfiumViewer a IronPDF en C#

La migración de PdfiumVieweraIronPDFtraslada su flujo de trabajo PDF .NET de una biblioteca de visualización de Windows Forms con dependencias binarias nativas a una solución PDF completa que gestiona la creación, manipulación, extracción de texto y representación en todos los tipos de aplicaciones .NET. Esta guía proporciona una ruta de migración completa, paso a paso, que elimina las restricciones de plataforma a la vez que añade capacidades que PdfiumViewerno puede proporcionar.

Por qué migrar de PdfiumViewera IronPDF

Entender PdfiumViewer

PdfiumViewer es una envoltura .NET para PDFium, el motor de renderizado de PDF de Google utilizado en el navegador Chrome. Ofrece una solución sencilla pero potente para integrar la visualización de PDF directamente en las aplicaciones Windows Forms, proporcionando una capacidad de renderizado de PDF de alto rendimiento y alta fidelidad.

Sin embargo, es crucial recordar que PdfiumVieweres únicamente un visor. No es compatible con la creación, edición o manipulación de PDF, lo que puede suponer una limitación para las aplicaciones que exigen algo más que capacidades de visualización. Además, su incierto estado de mantenimiento crea un riesgo para las aplicaciones de producción: existe cierta incertidumbre sobre su desarrollo y mantenimiento continuos, lo que puede ser preocupante para proyectos a largo plazo.

Limitaciones críticas de PdfiumViewer

  1. Funcionalidad de solo visualización: no se pueden crear archivos PDF a partir de HTML, imágenes o mediante programación. Las capacidades de PdfiumViewerse limitan a la visualización de PDF; a diferencia de bibliotecas como IronPDF, no admite la creación, edición, fusión u otras funciones de manipulación de PDF.

  2. Específico de Windows Forms: la biblioteca está centrada en aplicaciones de Windows Forms y no ofrece soporte para otros marcos de interfaz de usuario.

  3. Sin manipulación de PDF: no se puede fusionar, dividir ni modificar el contenido del PDF.

  4. Dependencias binarias nativas: requiere binarios PDFium específicos de la plataforma (archivos pdfium.dll x86 y x64).

  5. Mantenimiento incierto: actualizaciones limitadas y soporte a largo plazo poco claro.

  6. Sin extracción de texto: PdfiumViewerno tiene extracción de texto incorporada; necesitará utilizar OCR u otra biblioteca. Sólo puede renderizar páginas como imágenes.

  7. No HTML a PDF: PdfiumVieweres principalmente un visor/renderizador de PDF, no un generador. No puede convertir directamente HTML a PDF. Sería necesario utilizar otra biblioteca como wkhtmltopdf o similar.

  8. Sin encabezados/pies de página: no se pueden agregar números de página ni repetir contenido.

  9. Sin marcas de agua: no se pueden estampar documentos con superposiciones.

  10. Sin funciones de seguridad: no se pueden cifrar ni proteger con contraseña los archivos PDF.

Comparación entre PdfiumViewere IronPDF

Aspecto PdfiumViewer IronPDF
Enfoque principal Visor de PDF WinForms Solución PDF completa
Licencia Apache 2.0 Comercial
Creación de PDF ✓(HTML, URL, imágenes)
Manipulación de PDF ✓(fusionar, dividir, editar)
HTML a PDF ✓(motor Chromium)
Extracción de texto
Marcas de agua
Cabeceras/Pies de página
Seguridad
Visor integrado ✗(centrado en el backend)
Soporte de Plataforma Solo Windows Forms Consola, Web, Escritorio
Soporte de Framework .NET Framework .NET Framework, Core, 5+
Mantenimiento Incierto Activo

Para los equipos que planifican la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDFproporciona una base completa y mantenida activamente que funciona en todos los tipos de aplicaciones .NET, eliminando la restricción de Windows Forms y la complejidad binaria nativa.


Antes de empezar

Prerrequisitos

  1. Entorno .NET : .NET Framework4.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 PdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa

# Install IronPDF
dotnet add package IronPdf
# Remove PdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa

# 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 PdfiumViewer

# Find PdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .

# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .
# Find PdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .

# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .
SHELL

Referencia completa de la API

Cambios en el espacio de nombres

// PdfiumViewer
using PdfiumViewer;

// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
// PdfiumViewer
using PdfiumViewer;

// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
Imports PdfiumViewer

Imports IronPdf
Imports IronPdf.Rendering
Imports IronPdf.Editing
$vbLabelText   $csharpLabel

Asignaciones de clases principales

PdfiumViewer IronPDF
PdfDocument PdfDocument
PdfViewer (sin equivalente)
PdfRenderer ChromePdfRenderer
(no disponible) HtmlHeaderFooter

Mapas de carga de documentos

PdfiumViewer IronPDF
PdfDocument.Load(path) PdfDocument.FromFile(path)
PdfDocument.Load(stream) PdfDocument.FromStream(stream)
PdfDocument.Load(bytes) PdfDocument.FromBinaryData(bytes)

Mapeo de propiedades de documentos

PdfiumViewer IronPDF
document.PageCount document.PageCount
document.PageSizes document.Pages[i].Width/Height
document.GetPageSize(index) document.Pages[index].Width/Height

Mapas de renderizado de páginas

PdfiumViewer IronPDF
document.Render(pageIndex, dpiX, dpiY, forPrinting) pdf.ToBitmap(pageIndex)
document.Render(pageIndex, width, height, dpiX, dpiY, flags) pdf.RasterizeToImageFiles(path, dpi)

Guardar asignaciones de documentos

PdfiumViewer IronPDF
document.Save(path) pdf.SaveAs(path)
document.Save(stream) pdf.Stream
(no disponible) pdf.BinaryData

Nuevas funciones no disponibles en PdfiumViewer

Características de IronPDF Descripción
pdf.ExtractAllText() Extraer texto de todas las páginas
pdf.ExtractTextFromPage(index) Extraer texto de una página específica
ChromePdfRenderer.RenderHtmlAsPdf() Crear a partir de HTML
ChromePdfRenderer.RenderUrlAsPdf() Crear a partir de URL
PdfDocument.Merge() Combinar PDF
pdf.CopyPages() Extraer páginas
pdf.RemovePages() Eliminar páginas
pdf.ApplyWatermark() Añadir marcas de agua
pdf.AddHtmlHeaders() Añadir encabezados
pdf.AddHtmlFooters() Añadir pies de página
pdf.SecuritySettings Protección mediante contraseña
pdf.Form Relleno de formularios

Ejemplos de migración de código

Ejemplo 1: Extracción de texto de un PDF

Antes (PdfiumViewer):

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;

string pdfPath = "document.pdf";

// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
    int pageCount = document.PageCount;
    Console.WriteLine($"Total pages: {pageCount}");

    // PDFiumViewer does not have built-in text extraction
    // You would need to use OCR or another library
    // It can only render pages as images
    for (int i = 0; i < pageCount; i++)
    {
        var pageImage = document.Render(i, 96, 96, false);
        Console.WriteLine($"Rendered page {i + 1}");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;

string pdfPath = "document.pdf";

// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
    int pageCount = document.PageCount;
    Console.WriteLine($"Total pages: {pageCount}");

    // PDFiumViewer does not have built-in text extraction
    // You would need to use OCR or another library
    // It can only render pages as images
    for (int i = 0; i < pageCount; i++)
    {
        var pageImage = document.Render(i, 96, 96, false);
        Console.WriteLine($"Rendered page {i + 1}");
    }
}
Imports PdfiumViewer
Imports System
Imports System.Text

Dim pdfPath As String = "document.pdf"

' PDFiumViewer has limited text extraction capabilities
' It's primarily designed for rendering, not text extraction
Using document = PdfDocument.Load(pdfPath)
    Dim pageCount As Integer = document.PageCount
    Console.WriteLine($"Total pages: {pageCount}")

    ' PDFiumViewer does not have built-in text extraction
    ' You would need to use OCR or another library
    ' It can only render pages as images
    For i As Integer = 0 To pageCount - 1
        Dim pageImage = document.Render(i, 96, 96, False)
        Console.WriteLine($"Rendered page {i + 1}")
    Next
End Using
$vbLabelText   $csharpLabel

Después (IronPDF):

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

string pdfPath = "document.pdf";

// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);

// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");

Console.WriteLine($"\nTotal pages: {pdf.PageCount}");
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

string pdfPath = "document.pdf";

// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);

// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");

Console.WriteLine($"\nTotal pages: {pdf.PageCount}");
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim pdfPath As String = "document.pdf"

        ' Open and extract text from PDF
        Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)

        ' Extract text from all pages
        Dim allText As String = pdf.ExtractAllText()
        Console.WriteLine("Extracted Text:")
        Console.WriteLine(allText)

        ' Extract text from specific page
        Dim pageText As String = pdf.ExtractTextFromPage(0)
        Console.WriteLine(vbCrLf & "First page text: " & pageText)

        Console.WriteLine(vbCrLf & "Total pages: " & pdf.PageCount)
    End Sub
End Module
$vbLabelText   $csharpLabel

Este ejemplo pone de manifiesto una carencia fundamental. PdfiumViewerafirma explícitamente que "no tiene extracción de texto incorporada" y que "sería necesario utilizar OCR u otra biblioteca". Si necesitas texto de un PDF con PdfiumViewer, te ves obligado a convertirlo en una imagen y ejecutar el OCR.

IronPDF proporciona extracción de texto nativa con ExtractAllText() para todo el documento o ExtractTextFromPage(index) para páginas específicas. Sin OCR ni soluciones alternativas: extracción directa del texto a partir del contenido del PDF. Consulte la documentación de extracción de texto para obtener opciones adicionales.

Ejemplo 2: Conversión de HTML a PDF

Antes (PdfiumViewer):

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:

string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
    // Can only render/display existing PDF
    var image = document.Render(0, 300, 300, true);
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:

string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
    // Can only render/display existing PDF
    var image = document.Render(0, 300, 300, true);
}
Imports PdfiumViewer
Imports System.IO
Imports System.Drawing.Printing

' PDFiumViewer is primarily a PDF viewer/renderer, not a generator
' It cannot directly convert HTML to PDF
' You would need to use another library to first create the PDF
' Then use PDFiumViewer to display it:

Dim htmlContent As String = "<h1>Hello World</h1><p>This is a test document.</p>"

' This functionality is NOT available in PDFiumViewer
' You would need a different library like wkhtmltopdf or similar
' PDFiumViewer can only open and display existing PDFs:

Dim existingPdfPath As String = "output.pdf"
Using document = PdfDocument.Load(existingPdfPath)
    ' Can only render/display existing PDF
    Dim image = document.Render(0, 300, 300, True)
End Using
$vbLabelText   $csharpLabel

Después (IronPDF):

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

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF
pdf.SaveAs("output.pdf");

Console.WriteLine("PDF created successfully!");
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF
pdf.SaveAs("output.pdf");

Console.WriteLine("PDF created successfully!");
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim htmlContent As String = "<h1>Hello World</h1><p>This is a test document.</p>"

        ' Create a PDF from HTML string
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

        ' Save the PDF
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Este ejemplo muestra la diferencia más significativa entre las capacidades de las dos bibliotecas. PdfiumViewerafirma explícitamente "Esta funcionalidad NO está disponible en PDFiumViewer" y "Necesitarías una biblioteca diferente como wkhtmltopdf o similar"-PdfiumViewer sólo puede abrir y mostrar PDFs existentes.

IronPDF proporciona conversión nativa de HTML a PDF a través de ChromePdfRenderer, que utiliza un motor Chromium internamente para una representación precisa de HTML, CSS y JavaScript. El método RenderHtmlAsPdf() convierte cadenas HTML directamente en documentos PDF.IronPDFtambién puede renderizar URL con RenderUrlAsPdf() y archivos HTML con RenderHtmlFileAsPdf(). Consulte la documentación HTML a PDF para ver ejemplos completos.

Ejemplo 3: Conversión de PDF a imagen

Antes (PdfiumViewer):

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
    // Render first page at 300 DPI
    int dpi = 300;
    using (var image = document.Render(0, dpi, dpi, true))
    {
        // Save as PNG
        image.Save(outputImage, ImageFormat.Png);
        Console.WriteLine($"Page rendered to {outputImage}");
    }

    // Render all pages
    for (int i = 0; i < document.PageCount; i++)
    {
        using (var pageImage = document.Render(i, 150, 150, true))
        {
            pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
        }
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
    // Render first page at 300 DPI
    int dpi = 300;
    using (var image = document.Render(0, dpi, dpi, true))
    {
        // Save as PNG
        image.Save(outputImage, ImageFormat.Png);
        Console.WriteLine($"Page rendered to {outputImage}");
    }

    // Render all pages
    for (int i = 0; i < document.PageCount; i++)
    {
        using (var pageImage = document.Render(i, 150, 150, true))
        {
            pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
        }
    }
}
Imports PdfiumViewer
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging

Module Module1
    Sub Main()
        Dim pdfPath As String = "document.pdf"
        Dim outputImage As String = "page1.png"

        ' PDFiumViewer excels at rendering PDFs to images
        Using document = PdfDocument.Load(pdfPath)
            ' Render first page at 300 DPI
            Dim dpi As Integer = 300
            Using image = document.Render(0, dpi, dpi, True)
                ' Save as PNG
                image.Save(outputImage, ImageFormat.Png)
                Console.WriteLine($"Page rendered to {outputImage}")
            End Using

            ' Render all pages
            For i As Integer = 0 To document.PageCount - 1
                Using pageImage = document.Render(i, 150, 150, True)
                    pageImage.Save($"page_{i + 1}.png", ImageFormat.Png)
                End Using
            Next
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

Después (IronPDF):

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

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");

// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
    allPageImages[i].Save($"page_{i + 1}.png");
    Console.WriteLine($"Saved page {i + 1}");
}

Console.WriteLine($"Total pages converted: {pdf.PageCount}");
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");

// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
    allPageImages[i].Save($"page_{i + 1}.png");
    Console.WriteLine($"Saved page {i + 1}");
}

Console.WriteLine($"Total pages converted: {pdf.PageCount}");
Imports IronPdf
Imports System
Imports System.Linq

Module Module1
    Sub Main()
        Dim pdfPath As String = "document.pdf"
        Dim outputImage As String = "page1.png"

        ' Open PDF and convert to images
        Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)

        ' Convert first page to image
        Dim firstPageImage = pdf.ToBitmap(0)
        firstPageImage(0).Save(outputImage)
        Console.WriteLine($"Page rendered to {outputImage}")

        ' Convert all pages to images
        Dim allPageImages = pdf.ToBitmap()
        For i As Integer = 0 To allPageImages.Length - 1
            allPageImages(i).Save($"page_{i + 1}.png")
            Console.WriteLine($"Saved page {i + 1}")
        Next

        Console.WriteLine($"Total pages converted: {pdf.PageCount}")
    End Sub
End Module
$vbLabelText   $csharpLabel

Esta es un área en la que PdfiumViewerdestaca: el renderizado de PDF a imágenes es su punto fuerte. Ambas bibliotecas se encargan de esta tarea con eficacia, pero con patrones diferentes.

PdfiumViewer utiliza document.Render(pageIndex, dpiX, dpiY, forPrinting) con declaraciones using anidadas para una eliminación adecuada. Debe importar System.Drawing y System.Drawing.Imaging para la enumeración ImageFormat.

IronPDF utiliza pdf.ToBitmap(pageIndex) que devuelve una matriz de mapa de bits. El patrón es más sencillo, sin requisitos de disposición anidados. Para operaciones por lotes, ToBitmap() sin parámetros devuelve todas las páginas. También puede utilizar RasterizeToImageFiles() para la salida directa de archivos. Consulte Documentación de PDF a imagen para obtener más opciones de conversión.


Eliminación de dependencias nativas

Una de las ventajas significativas de migrar de PdfiumVieweraIronPDFes la eliminación de la gestión nativa de binarios.

Antes (PdfiumViewer) - Despliegue complejo

MyApp/
├── papelera/
│├── MyApp.dll
│├── PdfiumViewer.dll
│ ├── x86/
││└── pdfium.dll
│ └── x64/
│ └── pdfium.dll

Después (IronPDF) - Implementación limpia

MyApp/
├── papelera/
│├── MyApp.dll
│ └── IronPDF.dll # Todo incluido

Eliminar referencias binarias nativas

# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/

# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" />
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/

# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" />
SHELL

Notas de migración críticas

Sin control de visor incorporado

IronPDF se centra en el backend y no incluye un control visual del visor de PDF:

// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;

// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });
// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;

// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });
' PdfiumViewer: Built-in viewer control
pdfViewer.Document = document

' IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath)
Process.Start(New ProcessStartInfo(tempPath) With {.UseShellExecute = True})
$vbLabelText   $csharpLabel

Para necesidades de visualización, considere usar Process.Start() para abrir en el visor de PDF predeterminado, un control WebBrowser con la ruta PDF o controles de visor de terceros como Syncfusion, DevExpress o Telerik.

Cambio de método de carga de documentos

// PdfiumViewer
PdfDocument.Load(path)

// IronPDF
PdfDocument.FromFile(path)
// PdfiumViewer
PdfDocument.Load(path)

// IronPDF
PdfDocument.FromFile(path)
' PdfiumViewer
PdfDocument.Load(path)

' IronPDF
PdfDocument.FromFile(path)
$vbLabelText   $csharpLabel

Cambio de método de guardado

// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
$vbLabelText   $csharpLabel

Cambio de método de renderización

// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
    image.Save("page.png", ImageFormat.Png);
}

// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");
// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
    image.Save("page.png", ImageFormat.Png);
}

// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");
Imports System.Drawing.Imaging

' PdfiumViewer: Returns image with nested using
Using image = document.Render(0, 150, 150, True)
    image.Save("page.png", ImageFormat.Png)
End Using

' IronPDF: Returns bitmap array
Dim images = pdf.ToBitmap(0)
images(0).Save("page.png")
$vbLabelText   $csharpLabel

Cambio de tamaño de página

// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");

// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");
// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");

// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");
' PdfiumViewer
Dim size = document.PageSizes(index)
Console.WriteLine($"{size.Width} x {size.Height}")

' IronPDF
Dim page = pdf.Pages(index)
Console.WriteLine($"{page.Width} x {page.Height}")
$vbLabelText   $csharpLabel

Resumen comparativo de características

Característica PdfiumViewer IronPDF
Cargar PDF
Renderizado a imagen
Visor incorporado
Imprimir PDF
Extraer texto
Crear a partir de HTML
Crear a partir de URL
Fusionar PDF
Dividir PDF
Añadir marcas de agua
Encabezados/pies de página
Relleno de formularios
Protección por contraseña
Compatibilidad con WinForms
Soporte ASP.NET
compatibilidad con .NET Core Limitado
Mantenimiento activo Incierto

Lista de comprobación de la migración

Pre-Migración

  • Identificar todo el uso de PdfiumVieweren el código base
  • Listar WinForms usando el control PdfViewer
  • Documentar la configuración de DPI de renderizado actual
  • Verificar referencias binarias nativas
  • Identificar el uso de la funcionalidad de impresión
  • Planificar la estrategia de reemplazo del control del espectador
  • Obtener la clave de licencia de IronPDF

Cambios en el paquete

  • Eliminar el paquete NuGet PdfiumViewer
  • Eliminar el paquete PdfiumViewer.Native.x86.v8-xfa
  • Eliminar el paquete PdfiumViewer.Native.x64.v8-xfa
  • Eliminar los binarios nativos pdfium.dll de las carpetas x86/ y x64/
  • Instalar IronPdf el paquete NuGet : dotnet add package IronPdf

Cambios de código

  • Agregar configuración de clave de licencia al inicio
  • Reemplace PdfDocument.Load() con PdfDocument.FromFile()
  • Reemplace document.Save() con pdf.SaveAs()
  • Reemplace document.Render() con pdf.ToBitmap() o RasterizeToImageFiles()
  • Reemplace document.PageSizes[i] con pdf.Pages[i].Width/Height
  • Reemplace el control PdfViewer con un visor externo o Process.Start()
  • Añadir nuevas capacidades (extracción de texto, HTML a PDF, etc.)

Posmigración

  • Pruebe la calidad de salida de la representación
  • Prueba de funcionalidad de impresión
  • Prueba en plataformas de destino
  • Añadir nuevas funciones (HTML a PDF, fusión, marcas de agua, seguridad)
  • 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