Ir para o conteúdo do rodapé
GUIAS DE MIGRAçãO

Como migrar do Pdfium para o IronPDF em C#

A migração do Pdfium .NET para o IronPDF transforma seu fluxo de trabalho de PDF em .NET , passando de uma biblioteca focada em renderização com dependências binárias nativas para uma solução completa de PDF que lida com criação, manipulação e renderização sem a complexidade específica de cada plataforma. Este guia fornece um caminho de migração completo, passo a passo, que elimina o gerenciamento de dependências nativas e adiciona recursos que o Pdfium não pode oferecer.

Por que migrar do Pdfium para o IronPDF?

Entendendo o Pdfium .NET

O Pdfium .NET é um wrapper .NET para a biblioteca PDFium do Google, conhecida por sua eficiência e velocidade na renderização de documentos PDF. Ela se consolidou como uma biblioteca importante para desenvolvedores que exploram as complexidades da renderização de PDFs em aplicações C#, proporcionando uma replicação de alta fidelidade do conteúdo de PDFs em ambientes .NET .

No entanto, apesar de sua capacidade de renderização, os recursos do Pdfium.NET para criar e manipular documentos PDF são limitados. Ele foi desenvolvido principalmente para aplicações que exigem a exibição precisa do conteúdo de PDFs, com menos ênfase na modificação ou criação de novos PDFs.

Limitações críticas do paládio

  1. Foco somente na renderização: Não é possível criar PDFs a partir de HTML, imagens ou programaticamente. As funcionalidades do Pdfium se restringem à visualização e renderização de PDFs.

  2. Sem manipulação de PDF: Não é possível mesclar, dividir ou modificar o conteúdo do PDF. A fusão de PDFs não é suportada nativamente; você precisaria usar outra biblioteca, como o iTextSharp ou o PdfSharp.

  3. Dependências binárias nativas: Requer binários PDFium específicos da plataforma. Os desenvolvedores precisam gerenciar binários nativos do PDFium, um aspecto que adiciona complexidade durante a implantação e distribuição.

  4. Complexidade de implantação: É necessário agrupar e gerenciar DLLs nativas por plataforma, com pastas x86, x64 e de tempo de execução.

  5. Extração de Texto Limitada: Extração básica de texto sem formatação. A extração de texto requer trabalho adicional com o Pdfium .NET.

  6. Sem conversão de HTML para PDF: Não é possível converter conteúdo da web para PDF. A conversão de HTML para PDF não é suportada nativamente no Pdfium .NET.

  7. Sem cabeçalhos/rodapés: Não é possível adicionar números de página ou conteúdo repetido.

  8. Sem marcas d'água: Não é possível carimbar documentos com sobreposições.

  9. Sem suporte para formulários: Não é possível preencher ou ler formulários em PDF.

  10. Sem recursos de segurança: Não é possível criptografar ou proteger PDFs com senha.

Comparação entre Pdfium e IronPDF

Aspecto Pdfium.NET IronPDF
Foco principal Renderização/visualização Solução completa em PDF
Fidelidade de renderização Renderização de alta fidelidade Alta qualidade, especialmente para HTML/CSS/JS.
Criação de PDF ✓ (HTML, URL, imagens)
Manipulação de PDF ✓ (mesclar, dividir, editar)
HTML para PDF ✓ (Motor Chromium)
Marcas d'água
Cabeçalhos/Rodapés
Preenchimento de formulários
Segurança
Dependências nativas Obrigatório Nenhum (totalmente gerenciado)
Multiplataforma Configuração complexa Automático
Facilidade de Implantação Complicado por dependências nativas Mais fácil; menos complicações de dependência

Para equipes que planejam a adoção do .NET 10 e do C# 14 até 2025 e 2026, o IronPDF oferece uma base totalmente gerenciada que elimina o gerenciamento de binários nativos, ao mesmo tempo que adiciona recursos abrangentes de criação e manipulação de PDFs.


Antes de começar

Pré-requisitos

  1. Ambiente .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Acesso ao NuGet : Capacidade de instalar pacotes NuGet.
  3. Licença do IronPDF : Obtenha sua chave de licença em IronPDF

Alterações no pacote NuGet

# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer

# Install IronPDF
dotnet add package IronPdf
# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuração de licença

// 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 o uso de Pdfium

# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .

# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .

# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
SHELL

Referência completa da API

Alterações de namespace

// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;

// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;

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

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

Mapeamentos de Classes Principais

Pdfium.NET IronPDF
PdfDocument PdfDocument
PdfPage PdfPage
PdfPageCollection PdfPageCollection
(não disponível) ChromePdfRenderer
(não disponível) HtmlHeaderFooter

Mapeamentos de carregamento de documentos

Pdfium.NET IronPDF
PdfDocument.Load(path) PdfDocument.FromFile(path)
PdfDocument.Load(stream) PdfDocument.FromStream(stream)
PdfDocument.Load(bytes) PdfDocument.FromBinaryData(bytes)
new PdfDocument(path) PdfDocument.FromFile(path)

Mapeamentos de propriedades de documentos

Pdfium.NET IronPDF
document.PageCount document.PageCount
document.Pages document.Pages
document.Pages[index] document.Pages[index]
document.GetPageSize(index) document.Pages[index].Width/Height

Mapeamentos de Extração de Texto

Pdfium.NET IronPDF
document.GetPdfText(pageIndex) document.Pages[index].Text
(loop manual) document.ExtractAllText()
page.GetTextBounds() page.Text

Salvando Mapeamentos de Documentos

Pdfium.NET IronPDF
document.Save(path) document.SaveAs(path)
document.Save(stream) document.Stream
(não disponível) document.BinaryData

Mapeamentos de renderização de página

Pdfium.NET IronPDF
page.Render(width, height) pdf.RasterizeToImageFiles(path, dpi)
page.Render(width, height, flags) parâmetro DPI
document.Render(index, width, height) pdf.RasterizeToImageFiles()
page.RenderToScale(scale) DPI: 72 * scale

Novos recursos não disponíveis no Pdfium

Recurso IronPDF Descrição
ChromePdfRenderer.RenderHtmlAsPdf() Criar a partir de HTML
ChromePdfRenderer.RenderUrlAsPdf() Criar a partir de um URL
ChromePdfRenderer.RenderHtmlFileAsPdf() Criar a partir de um arquivo HTML
PdfDocument.Merge() Combinar PDFs
pdf.CopyPages() Páginas extraídas
pdf.RemovePages() Excluir páginas
pdf.InsertPdf() Inserir PDF na posição
pdf.ApplyWatermark() Adicionar marcas d'água
pdf.AddHtmlHeaders() Adicionar cabeçalhos
pdf.AddHtmlFooters() Adicionar rodapés
pdf.SecuritySettings Proteção por senha
pdf.SignWithDigitalSignature() Assinaturas digitais
pdf.Form Preenchimento de formulário

Exemplos de migração de código

Exemplo 1: Extração de texto de um PDF

Antes (Pdfium):

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

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        using (var document = PdfDocument.Load(pdfPath))
        {
            StringBuilder text = new StringBuilder();

            for (int i = 0; i < document.PageCount; i++)
            {
                // Note: PdfiumViewer has limited text extraction capabilities
                // Text extraction requires additional work with Pdfium.NET
                string pageText = document.GetPdfText(i);
                text.AppendLine(pageText);
            }

            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        using (var document = PdfDocument.Load(pdfPath))
        {
            StringBuilder text = new StringBuilder();

            for (int i = 0; i < document.PageCount; i++)
            {
                // Note: PdfiumViewer has limited text extraction capabilities
                // Text extraction requires additional work with Pdfium.NET
                string pageText = document.GetPdfText(i);
                text.AppendLine(pageText);
            }

            Console.WriteLine(text.ToString());
        }
    }
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Text

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

        Using document = PdfDocument.Load(pdfPath)
            Dim text As New StringBuilder()

            For i As Integer = 0 To document.PageCount - 1
                ' Note: PdfiumViewer has limited text extraction capabilities
                ' Text extraction requires additional work with Pdfium.NET
                Dim pageText As String = document.GetPdfText(i)
                text.AppendLine(pageText)
            Next

            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

Após (IronPDF):

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

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        var pdf = PdfDocument.FromFile(pdfPath);
        string text = pdf.ExtractAllText();

        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        var pdf = PdfDocument.FromFile(pdfPath);
        string text = pdf.ExtractAllText();

        Console.WriteLine(text);
    }
}
Imports IronPdf
Imports System

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

        Dim pdf = PdfDocument.FromFile(pdfPath)
        Dim text As String = pdf.ExtractAllText()

        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

A diferença aqui é significativa. O Pdfium requer um loop manual em cada página com GetPdfText(pageIndex), construindo um StringBuilder e gerenciando a instrução using para descarte adequado. O código observa que "o PdfiumViewer tem capacidades limitadas de extração de texto" e que "a extração de texto requer trabalho adicional".

O IronPDF simplifica isso para três linhas: carregar com PdfDocument.FromFile(), extrair com ExtractAllText() e gerar a saída. O método ExtractAllText() processa todas as páginas automaticamente com recursos mais avançados de extração de texto. Se você precisar de extração por página, pode usar pdf.Pages[index].Text. Consulte a documentação de extração de texto para obter opções adicionais.

Exemplo 2: Fusão de PDFs

Antes (Pdfium):

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;

// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        // PdfiumViewer is primarily for rendering/viewing
        // PDF merging is not natively supported
        // You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;

// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        // PdfiumViewer is primarily for rendering/viewing
        // PDF merging is not natively supported
        // You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
    }
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Collections.Generic

' Note: PdfiumViewer does not have native PDF merging functionality
' You would need to use additional libraries or implement custom logic
Class Program
    Shared Sub Main()
        Dim pdfFiles As New List(Of String) From {
            "document1.pdf",
            "document2.pdf",
            "document3.pdf"
        }

        ' PdfiumViewer is primarily for rendering/viewing
        ' PDF merging is not natively supported
        ' You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer")
    End Sub
End Class
$vbLabelText   $csharpLabel

Após (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        var pdf = PdfDocument.Merge(pdfFiles);
        pdf.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        var pdf = PdfDocument.Merge(pdfFiles);
        pdf.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdfFiles As New List(Of String) From {
            "document1.pdf",
            "document2.pdf",
            "document3.pdf"
        }

        Dim pdf = PdfDocument.Merge(pdfFiles)
        pdf.SaveAs("merged.pdf")

        Console.WriteLine("PDFs merged successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

Este exemplo destaca uma lacuna fundamental de funcionalidade. O Pdfium não consegue mesclar PDFs — o código afirma explicitamente que "A mesclagem de PDFs não é suportada nativamente no PdfiumViewer" e que "Você precisaria usar outra biblioteca como iTextSharp ou PdfSharp".

O IronPDF oferece mesclagem nativa com o método estático PdfDocument.Merge() que aceita diretamente uma lista de caminhos de arquivos. O resultado é um novo PdfDocument que você salva com SaveAs(). Saiba mais sobre como mesclar e dividir PDFs .

Exemplo 3: Conversão de HTML para PDF

Antes (Pdfium):

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

// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
    static void Main()
    {
        // Pdfium.NET does not have native HTML to PDF conversion
        // You would need to use a separate library to convert HTML to PDF
        // then use Pdfium for manipulation
        string htmlContent = "<h1>Hello World</h1>";

        // This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
    static void Main()
    {
        // Pdfium.NET does not have native HTML to PDF conversion
        // You would need to use a separate library to convert HTML to PDF
        // then use Pdfium for manipulation
        string htmlContent = "<h1>Hello World</h1>";

        // This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
    }
}
Imports PdfiumViewer
Imports System.IO
Imports System.Drawing.Printing

' Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
' For HTML to PDF with Pdfium.NET, you would need additional libraries
' This example shows a limitation of Pdfium.NET
Class Program
    Shared Sub Main()
        ' Pdfium.NET does not have native HTML to PDF conversion
        ' You would need to use a separate library to convert HTML to PDF
        ' then use Pdfium for manipulation
        Dim htmlContent As String = "<h1>Hello World</h1>"

        ' This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET")
    End Sub
End Class
$vbLabelText   $csharpLabel

Após (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlContent = "<h1>Hello World</h1>";

        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        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 htmlContent = "<h1>Hello World</h1>";

        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");

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

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim htmlContent As String = "<h1>Hello World</h1>"

        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")

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

Este exemplo demonstra a diferença de capacidade mais significativa. O Pdfium afirma explicitamente que "a conversão de HTML para PDF não é suportada nativamente no Pdfium .NET" e que "você precisaria usar uma biblioteca separada para converter HTML em PDF".

O IronPDF fornece conversão nativa de HTML para PDF através do ChromePdfRenderer, que usa um mecanismo Chromium internamente para renderização precisa de HTML, CSS e JavaScript. O método RenderHtmlAsPdf() converte strings HTML diretamente em documentos PDF. O IronPDF também pode renderizar URLs com RenderUrlAsPdf() e arquivos HTML com RenderHtmlFileAsPdf(). Consulte a documentação de conversão de HTML para PDF para obter exemplos completos.


Remoção de dependências nativas

Um dos benefícios mais significativos da migração do Pdfium para o IronPDF é a eliminação do gerenciamento de binários nativos.

Antes (Pdfium) - Implantação Complexa

MyApp/
├── bin/
│ ├── MyApp.dll
│ ├── Pdfium .NET.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dll
├── tempos de execução/
│ ├── win-x86/nativo/
│ │ └── pdfium.dll
│ └── win-x64/nativo/
│ └── pdfium.dll

Após (IronPDF) - Implantação limpa

MyApp/
├── bin/
│ ├── MyApp.dll
│ └── IronPDF.dll # Tudo incluído

Remover referências binárias nativas

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

# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/

# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
SHELL

Notas críticas sobre migração

Conversão de escala para DPI

O paládio utiliza fatores de escala; O IronPDF utiliza DPI:

// Formula: IronPDF DPI = 72 × Pdfium scale
// Pdfium scale 2.0 → IronPDF DPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
// Formula: IronPDF DPI = 72 × Pdfium scale
// Pdfium scale 2.0 → IronPDF DPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
' Formula: IronPDF DPI = 72 × Pdfium scale
' Pdfium scale 2.0 → IronPDF DPI 144
pdf.RasterizeToImageFiles("*.png", DPI:=144)
$vbLabelText   $csharpLabel

Alteração do método de carregamento do documento

// Pdfium
PdfDocument.Load(path)

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

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

Salvar alteração de método

// Pdfium
document.Save(path)

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

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

Simplificação do padrão de descarte

// Pdfium: Obrigatório explicit disposal
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
    bitmap.Save("output.png");
}

// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
// Pdfium: Obrigatório explicit disposal
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
    bitmap.Save("output.png");
}

// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
Imports PdfiumViewer

' Pdfium: Obrigatório explicit disposal
Using document = PdfDocument.Load(path)
    Using page = document.Pages(0)
        Using bitmap = page.Render(1024, 768)
            bitmap.Save("output.png")
        End Using
    End Using
End Using

' IronPDF: Simplified
Dim pdf = PdfDocument.FromFile(path)
pdf.RasterizeToImageFiles("output.png")
$vbLabelText   $csharpLabel

Remoção de código específico da plataforma

// Pdfium: Obrigatório platform detection
#if WIN64
    // Load x64 pdfium.dll
#else
    // Load x86 pdfium.dll
#endif

// IronPDF: Remove all platform-specific code
// Just use the API directly
// Pdfium: Obrigatório platform detection
#if WIN64
    // Load x64 pdfium.dll
#else
    // Load x86 pdfium.dll
#endif

// IronPDF: Remove all platform-specific code
// Just use the API directly
#If WIN64 Then
    ' Load x64 pdfium.dll
#Else
    ' Load x86 pdfium.dll
#End If

' IronPDF: Remove all platform-specific code
' Just use the API directly
$vbLabelText   $csharpLabel

Resumo da comparação de recursos

Recurso Pdfium.NET IronPDF
Carregar PDF
Renderizar para imagem
Texto extraído ✓ (básico) ✓ (avançado)
Informações da página
Criar a partir de HTML
Criar a partir de um URL
Mesclar PDFs
Dividir PDFs
Adicionar marcas d'água
Cabeçalhos/Rodapés
Preenchimento de formulários
Assinaturas digitais
Proteção por senha
Dependências nativas Obrigatório Nenhum
Multiplataforma Complexo Automático
Gerenciamento de memória Descarte manual Simplificado

Lista de verificação para migração

Pré-migração

  • Identificar todas as utilizações de Pdfium no código-fonte.
  • Documentar as dimensões/escalas de renderização atuais utilizadas.
  • Listar os locais dos binários nativos no projeto
  • Verifique se há código de carregamento específico da plataforma
  • Identificar as necessidades de criação de PDFs (atualmente usando ferramentas separadas?)
  • Analisar os padrões de descarte para conversão.
  • Obtenha a chave de licença do IronPDF

Alterações no pacote

  • Remover os pacotes NuGet Pdfium.NET, Pdfium.Net.SDK e PdfiumViewer.
  • Exclua os binários nativos do pdfium.dll das pastas x86/, x64/ e runtimes/.
  • Remover compilação condicional específica da plataforma
  • Atualize o arquivo .csproj para remover as referências a binários nativos.
  • Instale o pacote NuGet IronPdf: dotnet add package IronPdf

Alterações no código

  • Adicionar configuração de chave de licença na inicialização
  • Substitua PdfDocument.Load() por PdfDocument.FromFile()
  • Substitua document.Save() por pdf.SaveAs()
  • Substitua os loops document.GetPdfText(i) por pdf.ExtractAllText()
  • Converter fatores de escala em valores DPI (DPI = 72 × escala)
  • Simplificar os padrões de descarte (remover instruções using aninhadas)
  • Remover código específico da plataforma

Pós-migração

  • Testar a qualidade da renderização
  • Comparar resultados de extração de texto
  • Testar a implementação multiplataforma
  • Adicionar novas funcionalidades (HTML para PDF, mesclagem, marcas d'água, segurança)
  • Atualizar documentação

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim