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

Como migrar do PdfPig para o IronPDF em C#

Migrar dePdfPigpara IronPDF expande suas capacidades de PDF de uma biblioteca focada em leitura (com uma superfície de escrita estreita para autorias baseadas em coordenadas e fusão básica) para uma solução abrangente de PDF que lida com criação, manipulação, extração de texto e recursos de segurança. Este guia fornece um caminho de migração completo e passo a passo que preserva seus fluxos de trabalho de extração existentes enquanto adiciona conversão HTML, manipulação de documentos de alto nível, marca d'água e autoria de segurança que oPdfPignão fornece.

Por que migrar doPdfPigpara o IronPDF?

Entendendo o PdfPig

PdfPig (pacote NuGet PdfPig, namespace UglyToad.PdfPig) é uma biblioteca open-source de leitura e extração de PDFs .NET, originalmente inspirado — e parcialmente portado de — o projeto Apache PDFBox em Java. Ele permite que os desenvolvedores acessem o conteúdo estrutural dos PDFs com alta precisão. Embora oPdfPigse destaque na extração, seu escopo é mais estreito do que bibliotecas comerciais de ciclo de vida completo. O projeto permanece pré-1.0 (lançamento estável atual é 0.1.14), e seu README observa que "enquanto a versão estiver abaixo de 1.0.0, versões menores mudarão a API pública sem aviso."

PdfPig fornece ferramentas confiáveis para extrair texto (com posições de letra e palavra), imagens, dados de formulário somente leitura, anotações e metadados. Ele também expõe uma superfície de escritor limitada — PdfDocumentBuilder para autoria de novos documentos de baixo nível e PdfMerger (em UglyToad.PdfPig.Writer) para concatenar PDFs existentes. Isso o torna uma escolha adequada para aplicações focadas principalmente em análise de documentos, mineração de dados e concatenação básica.

A Limitação Focada na Leitura

PdfPig é focado na leitura; sua superfície de escrita é intencionalmente estreita. Quando sua aplicação precisa crescer além da extração e fusão básica, oPdfPignão pode ajudar:

  1. Geração de PDF Limitada: Novos documentos requerem posicionamento manual de coordenadas PdfPoint via PdfDocumentBuilder — sem layout de alto nível.

  2. Sem conversão de HTML para PDF:PdfPigé uma biblioteca de leitura/análise de PDF, não uma biblioteca de geração de PDF. Você precisaria usar uma biblioteca diferente para a conversão de HTML para PDF.

  3. Manipulação de Documentos Limitada: PdfMerger cobre concatenação, mas não há API de divisão/rotação/edição de alto nível.

  4. Nenhuma Autoria de Segurança: Pode ler PDFs criptografados (com senha) mas não pode adicionar senhas, criptografia ou assinaturas digitais.

  5. Sem Marcas d'água/Carimbos: Nenhuma API de alto nível para sobreposições visuais em documentos existentes.

  6. Sem Preenchimento de Formulários: Os formulários são somente leitura — os valores não podem ser alterados ou adicionados.

Comparação entrePdfPige IronPDF

Recurso PdfPig IronPDF
Licença Código aberto (Apache 2.0) Comercial
Pacote NuGet PdfPig (v0.1.14, pré-1.0) IronPdf
Leitura/Extração de PDF Excelente Excelente
Geração de PDF Limitado (baseado em coordenadas via PdfDocumentBuilder) Abrangente
HTML para PDF Não suportado Apoiado
Extração de texto Excelente (com caixas de delimitação de palavras) Excelente (somente texto)
Mesclagem de PDF Suportado (PdfMerger) Suportado (PdfDocument.Merge)
Dividir / Rotacionar / Editar Não suportado (alto nível) Apoiado
Marcas d'água Não suportado Apoiado
Autoria de Segurança/Criptografia Não suportado Apoiado
Suporte e documentação Apoio comunitário Suporte dedicado
Indexação de páginas 1-baseado Baseado em 0

O IronPDF oferece um conjunto completo de recursos para criar, ler, editar e assinar PDFs. Essa versatilidade permite que os desenvolvedores gerenciem arquivos PDF do início ao fim no moderno .NET, fornecendo uma solução completa de ciclo de vida de PDF que se estende além das capacidades de leitura do PdfPig.


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 PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
# Remove PdfPig
dotnet remove package PdfPig

# 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 do PdfPig

# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
SHELL

Referência completa da API

Alterações de namespace

// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
' Before: PdfPig
Imports UglyToad.PdfPig
Imports UglyToad.PdfPig.Content
Imports UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor

' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
$vbLabelText   $csharpLabel

Mapeamentos de carregamento de documentos

PdfPig IronPDF
PdfDocument.Open(path) PdfDocument.FromFile(path)
PdfDocument.Open(bytes) PdfDocument.FromBinaryData(bytes)
PdfDocument.Open(stream) PdfDocument.FromStream(stream)
using (var doc = ...) var pdf = ...

Mapeamento de acesso e propriedades de páginas

PdfPig IronPDF
document.NumberOfPages pdf.PageCount
document.GetPages() pdf.Pages
document.GetPage(1) pdf.Pages[0]

Mapeamentos de Extração de Texto

PdfPig IronPDF
page.Text pdf.Pages[i].Text
page.GetWords() pdf.ExtractTextFromPage(i)
(manual loop) pdf.ExtractAllText()

Mapeamentos de acesso a metadados

PdfPig IronPDF
document.Information.Title pdf.MetaData.Title
document.Information.Author pdf.MetaData.Author
document.Information.Subject pdf.MetaData.Subject
document.Information.Creator pdf.MetaData.Creator
document.Information.Producer pdf.MetaData.Producer

Novos recursos não disponíveis no PdfPig

Recurso IronPDF Descrição
renderer.RenderHtmlAsPdf(html) Conversão de HTML para PDF
renderer.RenderUrlAsPdf(url) Conversão de URL para PDF
pdf.ApplyWatermark(html) Adicionar marcas d'água
pdf.SecuritySettings.UserPassword Proteção por senha
pdf.Sign(certificate) Assinaturas digitais

Nota: Fusão de PDFs está disponível em ambas as bibliotecas (PdfMerger em PdfPig, PdfDocument.Merge em IronPDF).


Exemplos de migração de código

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

Antes (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
Imports UglyToad.PdfPig
Imports System
Imports System.Text

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim text = New StringBuilder()
            For Each page In document.GetPages()
                text.AppendLine(page.Text)
            Next
            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Após (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim text As String = pdf.ExtractAllText()
        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

Tanto oPdfPigquanto o IronPDF oferecem excelentes recursos de extração de texto. A principal diferença está no padrão do código.PdfPigrequer uma declaração using com PdfDocument.Open(), iteração manual através das páginas com GetPages(), e um StringBuilder para acumular texto de cada propriedade @@--CODE-3561@@.

IronPDF simplifica isso para uma única chamada: PdfDocument.FromFile() carrega o documento, e ExtractAllText() retorna todo o conteúdo de texto de uma vez. Nenhuma declaração using é necessária, sem iteração manual, sem StringBuilder. Consulte a documentação de extração de texto para obter opções adicionais.

Exemplo 2: Conversão de HTML para PDF

Antes (PdfPig):

OPdfPignão suporta a conversão de HTML para PDF.PdfPigé uma biblioteca para leitura e análise de PDFs, não uma biblioteca para geração de PDFs. Você precisaria usar uma biblioteca diferente para a conversão de HTML para PDF.

Após (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Este exemplo destaca a lacuna de funcionalidade mais significativa. OPdfPigafirma explicitamente que "não suporta conversão de HTML para PDF" e que "é uma biblioteca de leitura/análise de PDF, não uma biblioteca de geração de PDF". Se você precisar criar PDFs a partir de HTML com o PdfPig, precisará usar uma biblioteca completamente diferente.

IronPDF fornece conversão nativa de HTML para PDF através de ChromePdfRenderer. O método RenderHtmlAsPdf() aceita strings HTML e as converte em documentos PDF usando internamente um mecanismo Chromium para renderização precisa de HTML, CSS e JavaScript. O PdfDocument resultante pode ser salvo com SaveAs() ou manipulado adicionalmente antes de salvar. Consulte a documentação de conversão de HTML para PDF para obter exemplos completos.

Exemplo 3: Leitura de metadados de PDF

Antes (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
Imports UglyToad.PdfPig
Imports System

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim info = document.Information
            Console.WriteLine($"Title: {info.Title}")
            Console.WriteLine($"Author: {info.Author}")
            Console.WriteLine($"Subject: {info.Subject}")
            Console.WriteLine($"Creator: {info.Creator}")
            Console.WriteLine($"Producer: {info.Producer}")
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Após (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim info = pdf.MetaData
        Console.WriteLine($"Title: {info.Title}")
        Console.WriteLine($"Author: {info.Author}")
        Console.WriteLine($"Subject: {info.Subject}")
        Console.WriteLine($"Creator: {info.Creator}")
        Console.WriteLine($"Producer: {info.Producer}")
        Console.WriteLine($"Number of Pages: {pdf.PageCount}")
    End Sub
End Class
$vbLabelText   $csharpLabel

Ambas as bibliotecas fornecem acesso a metadados com padrões quase idênticos.PdfPigacessa metadados através de document.Information e contagem de páginas por document.NumberOfPages.IronPDF usa pdf.MetaData para metadados e pdf.PageCount para contagem de páginas.

A migração é direta: substitua PdfDocument.Open() por PdfDocument.FromFile(), document.Information por pdf.MetaData, e document.NumberOfPages por pdf.PageCount. Remova o encapsulamento de declaração using já que IronPDF não o requer.


Notas críticas sobre migração

Alteração na indexação da página

OPdfPigusa indexação baseada em 1; O IronPDF usa base zero:

// PdfPig: 1-baseado indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF: Baseado em 0 indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig: 1-baseado indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF: Baseado em 0 indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig: 1-based indexing
Dim firstPage = document.GetPage(1)  ' First page

' IronPDF: 0-based indexing
Dim firstPage = pdf.Pages(0)  ' First page

' Migration helper
Dim pdfPigIndex As Integer = 1
Dim ironPdfIndex As Integer = pdfPigIndex - 1
$vbLabelText   $csharpLabel

O uso da instrução using não é necessário.

// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
    ' ...
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
' ...
' pdf.Dispose() ' Optional
$vbLabelText   $csharpLabel

Alteração de carregamento de documento

// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
$vbLabelText   $csharpLabel

Alteração do nome da propriedade de metadados

// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
' PdfPig: document.Information
Dim info = document.Information

' IronPDF: pdf.MetaData
Dim info = pdf.MetaData
$vbLabelText   $csharpLabel

Alteração da propriedade Contagem de Páginas

// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
' PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}")

' IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}")
$vbLabelText   $csharpLabel

Novas funcionalidades após a migração

Após migrar para o IronPDF, você obtém recursos que oPdfPignão pode fornecer:

Fusão de PDFs

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 d'água

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

Proteção por senha

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
$vbLabelText   $csharpLabel

Assinaturas digitais

var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
Dim signature As New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "support@company.com",
    .SigningReason = "Document Approval"
}
pdf.Sign(signature)
$vbLabelText   $csharpLabel

Resumo da comparação de recursos

Recurso PdfPig IronPDF
Extração de texto
Acesso a metadados
Extração de Imagens
Criação de PDF Limitado (baseado em coordenadas)
HTML para PDF
URL para PDF
Mesclar PDFs ✓(PdfMerger)
Dividir PDFs
Marcas d'água
Preenchimento de formulários
Proteção por senha
Assinaturas digitais
Dados de posição da palavra

Lista de verificação para migração

Pré-migração

  • Inventariar todo o uso doPdfPigna base de código.
  • Identifique se você precisa de dados de posição em nível de palavra (considere uma abordagem híbrida)
  • Observe todas as referências de índice de página (é necessário converter de base 1 para base 0)
  • Planeje o armazenamento da chave de licença do IronPDF(variáveis ​​de ambiente recomendadas)
  • Teste primeiro com a licença de avaliação do IronPDF

Alterações no pacote

  • Remova o pacote NuGet PdfPig: dotnet remove package PdfPig
  • Instale o pacote NuGet IronPdf: dotnet add package IronPdf

Alterações no código

  • Atualize as importações de namespace (using UglyToad.PdfPig;using IronPdf;)
  • Substitua PdfDocument.Open() por PdfDocument.FromFile()
  • Substitua document.Information por pdf.MetaData
  • Substitua document.NumberOfPages por pdf.PageCount
  • Converter índices de página de base 1 para base 0
  • Remova as declarações using (opcional,IronPDF não as requer)
  • Adicione a chave de licença do IronPDF na inicialização do aplicativo.

Pós-migração

  • O resultado da extração de texto de teste corresponde às expectativas.
  • Testar todos os cenários de geração de PDF
  • Adicionar novas funcionalidades (fusão, marcas d'água, segurança) conforme necessário.
  • Instale as dependências do Linux se estiver implantando em um sistema Linux.

ObserveApache PDFBox ePdfPigsão marcas registradas de seus respectivos proprietários. Este site não é afiliado, apoiado ou patrocinado pela Apache Software Foundation ou UglyToad. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redaçã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 Iron

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