Ir para o conteúdo do rodapé
COMPARAçãO DE PRODUTOS

Comparação do Wkhtmltopdf em C# com exemplos de código

IronPDF vs wkhtmltopdf

Comparação de cada funcionalidade com base em evidências da documentação oficial, listagens do NuGet e repositórios de projetos.

⚠️
A biblioteca wkhtmltopdf está obsoleta. O projeto foi arquivado e não recebe mais manutenção. Ela utiliza um mecanismo Qt WebKit desatualizado que não oferece suporte a CSS3, Flexbox, Grid e aos padrões atuais de JavaScript . Recomenda-se a migração para uma biblioteca com manutenção ativa para aplicações em produção.
wkhtmltopdf
2
de 17 recursos
2 Sim 3 Parcial 4 Dependente do Envoltório 8 Não
⚠ Obsoleto / Arquivado
IronPDF ✦
17
de 17 recursos
17 Sim
✦ Cobertura total
Recurso wkhtmltopdf IronPDF ✦
PDF Creation & Conversion
HTML/CSS para PDF ⚠ Outdated Engine
O objetivo principal é a conversão de HTML para PDF, mas o mecanismo utilizado é o Qt WebKit (desatualizado). Não oferece suporte a CSS3, Flexbox e Grid modernos.
✓ Yes
Mecanismo Chromium integrado — HTML5/CSS3 impecável com Flexbox, Grid e padrões web modernos.
Execução de JavaScript ~ Partial
Suporta opções relacionadas a JS, mas o mecanismo WebKit, já desatualizado, recomenda alternativas para JS complexo.
✓ Yes
Renderização completa de HTML/CSS/ JavaScript via Chromium incorporado — gráficos dinâmicos, SPAs, conteúdo interativo.
Geração Programática ✕ No
Projetada para renderizar apenas HTML em PDF — não é uma biblioteca programática geral para desenho de PDFs.
✓ Yes
Crie PDFs novos/em branco através do construtor PdfDocument . Controle programático completo.
Merge, Split & Rearrange ✕ No
Ferramenta apenas para conversão; não há evidências de APIs para divisão/fusão de páginas em PDF.
✓ Yes
Funcionamento de mesclagem/divisão com guia passo a passo dedicado. Operações em uma única linha.
Editing & Manipulation
Headers, Footers & Page Numbers ✓ Yes
O mecanismo fornece recursos de cabeçalho/rodapé (funcionalidade comum do wkhtmltopdf via flags da linha de comando).
✓ Yes
API dedicada para cabeçalho/rodapé + suporte a marcadores de página. Baseado em HTML com personalização completa.
Watermarks & Stamps ✕ No
Não é um editor de PDF; a marca d'água geralmente é feita alterando o modelo HTML antes da conversão.
✓ Yes
Tutoriais de aplicação de marcas d'água/carimbos com ferramentas de carimbo HTML/texto/imagem. Controle total de opacidade, rotação e posição.
Reading & Extraction
Extrair texto de PDFs ✕ No
Apenas conversor; não é uma biblioteca de extração de texto.
✓ Yes
ExtractAllText Suporta opções de pedido (ex.: pedido visual).
Renderizar páginas em imagens ✕ No
wkhtmltopdf converte HTML em PDF; wkhtmltoimage converte HTML em imagem, e não PDF em imagem.
✓ Yes
APIs de conversão de PDF para imagem/rasterização documentadas. Saída nativa em PNG, JPEG e BMP.
OCR para PDFs digitalizados ✕ No
OCR não está incluído no escopo do conversor de HTML para PDF.
✓ Via IronOCR
Crie PDFs pesquisáveis ​​usando OCR. Suporte para mais de 127 idiomas através da integração com o IronOCR .
Security & Compliance
Assinaturas digitais ✕ No
O wkhtmltopdf não implementa a assinatura de PDFs.
✓ Yes
Guia de assinatura dedicado com suporte para certificados X509/PFX.
Conformidade com PDF/A ✕ No
Os fluxos de trabalho de conformidade com PDF/A não estão documentados como saída suportada.
✓ Yes
Orientações para conversão de PDF/A (ex.: detalhes de PDF/A-3B). Pronto para conformidade empresarial.
Platform & Deployment
Suporte multiplataforma ⚙ Wrapper-Dependent
A compatibilidade entre plataformas depende da instalação dos binários nativos corretos para cada sistema operacional. Não é autossuficiente.
✓ Yes
OS-specific NuGet packages + macOS & Linux guides. Windows, Linux, macOS, ARM supported.
Implantação de servidor/Docker ⚙ Wrapper-Dependent
Requer o envio de binários nativos; o projeto observa o status do mecanismo legado. Configuração complexa do Docker.
✓ Yes
Guias oficiais do Azure Functions + Docker; contêiner de mecanismo separado opcional.
Tempo até o primeiro PDF ~ Complex
Requer gerenciamento de binários nativos + integração de wrapper. Não é uma simples instalação NuGet .
✓ Simple
O guia de início rápido mostra a instalação e o código mínimo para conversão de HTML para PDF. Install-Package IronPDF .
Licensing & Support
Clareza no licenciamento ~ Complex
A licença LGPLv3 introduz considerações sobre copyleft; diferentes wrappers .NET têm licenças diferentes.
✓ Clear
Contrato de licença de usuário final (EULA) e termos de licenciamento documentados publicamente. Licenças comerciais perpétuas.
Suporte comercial / SLA ? Unknown
O motor é de código aberto (arquivado); o SLA do fornecedor não está descrito nas fontes citadas. Suporte apenas da comunidade.
✓ 24/5 SLA
Portal de suporte + "suporte técnico 24 horas por dia, 5 dias por semana" com SLA garantido — e-mail, chat ao vivo, telefone.
Qualidade da documentação ~ Partial
A documentação da CLI para o mecanismo é extensa, mas a documentação do wrapper .NET varia muito em qualidade.
✓ Extensive
Documentação completa de "primeiros passos/como fazer/exemplos" com exemplos de código para copiar e colar e tutoriais em vídeo.
Resumo: wkhtmltopdf é um conversor de HTML para PDF obsoleto, com um mecanismo Qt WebKit desatualizado. Ele não consegue extrair texto, assinar PDFs, gerar PDF/A, mesclar/dividir, adicionar marcas d'água ou rasterizar páginas — e requer gerenciamento manual de binários nativos para implantação.
O IronPDF é uma alternativa moderna e com manutenção ativa — experimente gratuitamente por 30 dias →

Escolher a biblioteca de PDFs certa para suas necessidades pode ser difícil quando existem inúmeras opções disponíveis. Ao comparar, os principais fatores incluem os recursos oferecidos em relação às suas necessidades, o nível de suporte e documentação, a curva de aprendizado e os custos de licenciamento. Fundamentalmente, as implicações de segurança também devem ser ponderadas.

Esta comparação abrange duas bibliotecas de geração de PDF com filosofias de design distintas: WkHtmlToPdf e IronPDF. O WkHtmlToPdf construiu sua reputação como um conversor de HTML para PDF de fácil utilização pela linha de comando, e muitas equipes têm confiado nele exatamente para esse propósito. No entanto, usar WkHtmlToPdf em C# pode introduzir riscos de segurança. Como depende de um executável externo (WebKit), vulnerabilidades ou sanitização inadequada de comandos podem ser exploradas, comprometendo o servidor por meio de HTML ou argumentos maliciosos.

IronPDF é uma biblioteca .NET gerenciada que é executada dentro do contexto de segurança do seu aplicativo, reduzindo a superfície de ataque associada a processos externos. As seções abaixo comparam seus recursos, capacidades de renderização e arquitetura de segurança.

O que são IronPDF e WkHtmlToPdf?

IronPDF é uma biblioteca C# para criação, manipulação e processamento de PDFs dentro do .NET Framework. Sua API abrange conversão de HTML para PDF, extração de texto e imagem, manipulação de formulários e opções de segurança de documentos, como criptografia e assinaturas digitais — tudo acessível por meio de um único pacote NuGet . Você pode instalar o IronPDF através do Console do Gerenciador de Pacotes NuGet e colocar a biblioteca em funcionamento em minutos. Para obter mais informações, visite o site oficial do IronPDF .

WkHtmlToPdf é um wrapper P/Invoke para .NET Core da biblioteca WkHtmlToPdf, uma ferramenta popular para converter páginas HTML em PDF usando o mecanismo de renderização Qt WebKit. Esta biblioteca de código aberto é um fork do DinkToPdf e foca na conversão de HTML para PDF com ênfase na simplicidade. É fácil de instalar; Após baixar e executar o arquivo WkHtmlToPdf, basta garantir que ele seja adicionado à variável de ambiente PATH do seu sistema. WkHtmlToPdf é uma biblioteca leve, embora seu escopo esteja focado na conversão em vez de manipulação mais ampla de PDFs. Para avaliar a segurança e as diferenças de recursos do IronPDF em seu próprio ambiente, uma licença de avaliação gratuita de 30 dias está disponível.

Compatibilidade entre plataformas

IronPDF

O IronPDF oferece suporte a uma ampla gama de ambientes dentro da .NET Framework, proporcionando operação consistente em diferentes plataformas.

  • Versões do .NET :

    • Totalmente escrito em C#, VB .NET e F#, com suporte para ambos.
    • .NET Core (8, 7, 6, 5 e 3.1+).
    • .NET Standard (2.0+).
    • .NET Framework (4.6.2 ou superior).
  • Ambientes de aplicativos: O IronPDF funciona em diversos ambientes de aplicativos, como Windows, Linux, Mac, Docker , Azure e AWS.

  • IDEs: Funciona com IDEs como o Microsoft Visual Studio e o JetBrains Rider & ReSharper.

  • Sistemas Operacionais e Processadores: Suporta diversos sistemas operacionais e processadores, incluindo Windows, Mac, Linux, x64, x86 e ARM.

Para obter mais detalhes sobre a compatibilidade do IronPDF, visite a página de Compatibilidade do IronPDF .

WkHtmlToPdf

  • Versões .NET : Como ferramenta de linha de comando, o WkHtmlToPdf em si não possui suporte direto ao .NET ; no entanto, os desenvolvedores .NET normalmente interagem com ele usando um wrapper ou biblioteca, como o DinkToPdf.

  • Ambientes de aplicativos: O WkHtmlToPdf funciona perfeitamente em diversos ambientes de aplicativos, como Windows, Linux e macOS.

  • Linguagens de programação: O WkHtmlToPdf é amplamente utilizado por meio de ferramentas de linha de comando ou integrado a linguagens de programação como C#, Java, Python, PHP e Node.js

Instalação

Instalando o IronPDF

Para usar o IronPDF , instale-o através do Gerenciador de Pacotes NuGet no Visual Studio:

Install-Package IronPdf

Instalando o Wkhtmltopdf

  1. Baixe o instalador:

    • Acesse a página de download do WkHtmlToPdf.
    • Na seção "Windows", baixe a versão estável mais recente do instalador (por exemplo, arquivo .exe).
  2. Execute o instalador:

    • Clique duas vezes no arquivo .exe baixado.
    • Siga as instruções de instalação.
    • Durante a instalação, você pode optar por adicionar o WkHtmlToPdf ao seu PATH do sistema para torná-lo acessível a partir de qualquer linha de comando.
  3. Verifique a instalação:
    • Abra o Prompt de Comando (cmd).
    • Digite wkhtmltopdf --version para verificar se a instalação foi feita corretamente. Você deverá ver o número da versão impresso na tela.

Como o IronPDF e o WkHtmlToPdf se comparam em termos de recursos?

Ao comparar IronPDF e WkHtmlToPdf , é essencial analisar os recursos que ambas as bibliotecas oferecem para geração e manipulação de PDFs.

Funcionalidades do IronPDF :

  • Conversão para PDF: O IronPDF converte HTML em PDF usando um mecanismo Chromium integrado com suporte completo para HTML5, CSS3 (incluindo Flexbox e Grid) e JavaScript. Ele também converte de outros formatos, como DOCX, imagens, RTF e muito mais.

  • Geração de PDF: Com o IronPDF, você pode gerar PDFs a partir de URLs, formatos de imagem, arquivos ASPX ou strings HTML.

  • Recursos de segurança: O IronPDF inclui criptografia, proteção por senha e configurações de permissão detalhadas (somente leitura, restrição de copiar/colar, controle de impressão) como operações de primeira classe na API.

  • Recursos de edição de PDF: O IronPDF pode processar documentos PDF existentes, editá-los e ler arquivos PDF. As funcionalidades de edição incluem adicionar cabeçalhos e rodapés, inserir texto e imagens nas páginas, aplicar marcas d'água personalizadas, trabalhar com formulários PDF e dividir ou mesclar arquivos PDF.

Para obter mais detalhes sobre os recursos do IronPDF , visite Recursos do IronPDF .

Principais funcionalidades do WkHtmlToPdf em C#:

  • Conversão de HTML para PDF: Converta páginas HTML, arquivos, strings e conteúdo CSS para PDF, mantendo o layout original.

  • Opções de personalização: Suporta tamanho da página, margens, cabeçalhos, rodapés, etc.

  • Código aberto: Gratuito para uso sob a licença MIT.

  • Compatibilidade multiplataforma: Funciona em ambientes Windows, Linux e macOS.

Exemplos de código lado a lado

Conversão de HTML para PDF

IronPDF:

using IronPdf;

// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;

// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()

' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

' Export to a file or Stream
pdf.SaveAs("output.pdf")

' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf (Usando DinkToPdf):

using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
    Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
    Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
Imports DinkToPdf
Private converter = New BasicConverter(New PdfTools())
Private doc = New HtmlToPdfDocument() With {
	.Objects = {
		New ObjectSettings() With {.HtmlContent = "<h1>Hello World</h1>"}
	}
}
Private pdf() As Byte = converter.Convert(doc)
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf)
$vbLabelText   $csharpLabel

WkHtmlToPdf (Usando a linha de comando)

wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
SHELL

O IronPDF gera arquivos PDF com qualidade de imagem perfeita a partir de conteúdo HTML com apenas algumas linhas de código. Seu mecanismo Chromium integrado oferece suporte a CSS3, Flexbox e Grid modernos, de modo que o PDF renderizado corresponde de perto à fonte original. O WkHtmlToPdf foi desenvolvido com base na mesma tarefa principal — conversão de HTML para PDF — e a executa de forma concisa, seja invocado por meio de uma biblioteca auxiliar ou pela linha de comando. Onde as equipes geralmente encontram dificuldades é com os layouts CSS modernos: o mecanismo Qt WebKit do WkHtmlToPdf não oferece suporte completo a Flexbox ou Grid, o que pode produzir resultados de renderização inesperados em designs contemporâneos.

Criptografando arquivos PDF

IronPDF:

using IronPdf;
using System;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System

' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")

' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now

' Edit file security settings
' The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights

' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf:

A criptografia está fora do escopo atual do WkHtmlToPdf; Para isso, é necessário utilizar uma biblioteca de terceiros separada.

O IronPDF fornece uma API direta para criptografar arquivos PDF , incluindo proteção por senha, imposição de modo somente leitura e controle granular de permissões. A biblioteca WkHtmlToPdf concentra-se na etapa de conversão, portanto, as equipes que precisam de criptografia normalmente integram uma segunda biblioteca para lidar com a segurança do documento após a geração do PDF.

Redigir conteúdo de PDF

IronPDF:

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf:

A redação não faz parte do conjunto de funcionalidades do WkHtmlToPdf.

A API de redação do IronPDF redige o conteúdo especificado em uma única chamada de método — três linhas de código no exemplo acima. Como o WkHtmlToPdf foi projetado como uma ferramenta de conversão e não como um editor de PDF, a redação está fora de seu escopo arquitetônico. As equipes que precisarem dessa funcionalidade devem adicionar uma biblioteca separada para manipulação de PDFs.

Assinatura digital de arquivos PDF

IronPDF:

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")

' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)

' Create PdfSignature object
Private sig = New PdfSignature(cert)

' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf C#:

O WkHtmlToPdf não foi projetado para assinar PDFs; É necessária uma biblioteca separada para essa funcionalidade.

A API de assinatura digital do IronPDF aceita certificados X509/PFX e assina um documento em duas chamadas de método, o que simplifica fluxos de trabalho que exigem assinatura programática em grande escala. O WkHtmlToPdf não foi projetado para lidar com a assinatura de PDFs por conta própria; No entanto, se você estiver usando-a em conjunto com outra biblioteca, essa biblioteca poderá fornecer os recursos de assinatura de que você precisa.

Aplicando marcas d'água personalizadas ao seu PDF

IronPDF:

using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf:

A inclusão de marcas d'água não faz parte do conjunto de recursos nativos do WkHtmlToPdf. Em vez disso, você precisaria implementar o estilo CSS no HTML de origem antes da conversão ou usar uma biblioteca PDF separada que possa aplicar marcas d'água a documentos existentes.

A ferramenta de marca d'água do IronPDF utiliza uma abordagem baseada em HTML/CSS, dando aos desenvolvedores controle sobre opacidade, rotação e posição sem sair da API .NET . O WkHtmlToPdf pode aproximar marcas d'água por meio de estilos CSS aplicados ao HTML de origem antes da conversão — uma abordagem que funciona para casos mais simples, mas atinge seu limite de projeto quando você precisa adicionar marcas d'água a PDFs existentes que não foram gerados a partir do seu próprio HTML.

Imagens e texto para carimbo

IronPDF:

using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create text stamper
Private textStamper As New TextStamper() With {
	.Text = "Text Stamper!",
	.FontFamily = "Bungee Spice",
	.UseGoogleFont = True,
	.FontSize = 30,
	.IsBold = True,
	.IsItalic = True,
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
$vbLabelText   $csharpLabel
using IronPdf;
using IronPdf.Editing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf C#:

O WkHtmlToPdf não inclui ferramentas de carimbo integradas. A solução alternativa mais comum é incorporar os selos desejados no HTML e CSS de origem antes da conversão.

O IronPDF fornece classes dedicadas TextStamper e ImageStamper para inserir texto e imagens em páginas PDF — incluindo suporte para fontes do Google e controles de alinhamento precisos. O WkHtmlToPdf não inclui ferramentas de carimbo integradas, mas você pode obter um resultado semelhante incorporando o conteúdo carimbado diretamente no seu HTML e CSS de origem antes da conversão.

Conversão de DOCX para PDF

IronPDF:

using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf C#:

A função WkHtmlToPdf foca-se exclusivamente em entradas HTML, portanto a conversão para DOCX requer bibliotecas adicionais.

O IronPDF lida com a conversão de DOCX para PDF através de sua classe DocxToPdfRenderer — três linhas de código no exemplo acima. Como o processo de renderização do WkHtmlToPdf depende de entrada HTML, o formato DOCX não é suportado. As equipes que necessitarem dessa funcionalidade integrarão uma biblioteca de conversão separada juntamente com o WkHtmlToPdf.

Resumo da comparação dos exemplos de código

Para ver toda a gama de recursos do IronPDF em ação, explore os guias práticos do IronPDF , que explicam cada recurso com exemplos de código para copiar e colar.

Preços e licenciamento: IronPDF vs. WkHtmlToPdf

IronPDF

O IronPDF possui diferentes níveis e recursos adicionais para a compra de uma licença. Os desenvolvedores também podem adquirir o Iron Suite , que dá acesso a todos os produtos da IronSoftware pelo preço de dois. Se você ainda não está pronto para comprar uma licença, o IronPDF oferece um período de teste gratuito para que você possa explorar todos os recursos disponíveis antes de se comprometer com a aquisição de uma licença.

  • Licenças perpétuas: Oferecemos uma variedade de licenças perpétuas, dependendo do tamanho da sua equipe, das necessidades do seu projeto e do número de locais. Cada tipo de licença inclui suporte por e-mail.

  • Licença Lite: Esta licença é válida para um desenvolvedor, um local e um projeto.

  • Licença Plus: Com suporte para três desenvolvedores, três locais e três projetos, esta é a próxima etapa em relação à licença Lite. A licença Plus oferece suporte por chat e por telefone, além do suporte básico por e-mail.

  • Licença Profissional: Esta licença é adequada para equipes maiores, suportando dez desenvolvedores, dez locais e dez projetos. Oferece os mesmos canais de suporte ao cliente que os planos anteriores, mas também oferece suporte para compartilhamento de tela.

  • Redistribuição livre de royalties: O licenciamento da IronPDF também oferece cobertura para redistribuição livre de royalties por um custo adicional.

  • Suporte ininterrupto ao produto: A IronPDF oferece acesso a atualizações contínuas do produto, melhorias nos recursos de segurança e suporte da sua equipe de engenharia.

  • Iron Suite: Você terá acesso a todos os produtos da Iron Software , incluindo IronPDF , IronOCR , IronWord , IronXL , IronBarcode , IronQR , IronZIP , IronPrint e IronWebScraper .

WkHtmlToPdf

WkHtmlToPdf é uma ferramenta de código aberto gratuita, licenciada sob a licença LGPL, que permite o uso do wkhtmltopdf em aplicações proprietárias, desde que a biblioteca em si não seja modificada.

Além do custo da licença, o custo total do projeto inclui as horas de desenvolvimento gastas gerenciando dependências binárias nativas, montando bibliotecas separadas para criptografia , assinatura e redação, e contornando o suporte limitado a CSS3 do mecanismo Qt WebKit. Para equipes que avaliam custos ao longo do ciclo de vida de um projeto de vários anos, esses custos de integração e manutenção frequentemente superam a diferença entre o licenciamento de código aberto e o comercial.

Documentação e suporte: IronPDF vs. WkHtmlToPdf

IronPDF

O IronPDF oferece ampla documentação e suporte:

  • Documentação completa: Documentação extensa e fácil de usar, abrangendo todos os recursos.

  • Suporte 24 horas por dia, 5 dias por semana: Suporte técnico ativo disponível.

  • Tutoriais em vídeo: Guias em vídeo passo a passo estão disponíveis no YouTube.

  • Fórum da Comunidade: Comunidade engajada para apoio adicional.

  • Atualizações regulares: Atualizações mensais do produto para garantir os recursos mais recentes e os patches de segurança.

  • Referência da API em PDF: Oferece referências da API para que você possa aproveitar ao máximo o que nossas ferramentas têm a oferecer.

Para obter mais informações, consulte a extensa documentação do IronPDF e visite o canal da IronSoftware no YouTube .

WkHtmlToPdf

  • GitHub: O repositório GitHub do WkHtmlToPdf é um local onde os usuários podem relatar problemas encontrados ao usar a ferramenta.

  • Stack Overflow: Aqui você pode encontrar inúmeras perguntas e respostas relacionadas ao WkHtmlToPdf e obter conselhos da comunidade.

  • Documentação oficial: A documentação oficial fornece detalhes sobre instalação, uso, opções de linha de comando e configurações comuns.

Qual biblioteca você deve escolher?

Tanto o IronPDF quanto o WkHtmlToPdf abordam a geração de PDFs em C#, mas visam segmentos diferentes do espectro de complexidade. O IronPDF abrange todo o ciclo de vida do PDF — conversão, criptografia, redação, assinatura digital, conversão de DOCX para PDF e muito mais — por meio de um único pacote NuGet com um mecanismo de renderização Chromium com manutenção ativa. Para equipes cujos projetos envolvem múltiplas operações com PDFs, essa abordagem consolidada reduz o número de dependências a serem gerenciadas.

O WkHtmlToPdf conquistou sua popularidade graças a uma abordagem focada e direta para a conversão de HTML em PDF, e seu custo de licença zero o torna um ponto de partida acessível. O ponto de inflexão típico para as equipes ocorre quando os requisitos se expandem além da conversão, abrangendo edição, segurança ou conformidade — funcionalidades que estão fora do escopo arquitetônico do WkHtmlToPdf. Considerando o status arquivado do projeto e o mecanismo WebKit já defasado, equipes com necessidades crescentes frequentemente consideram este o momento ideal para avaliar uma alternativa que recebe manutenção ativa . Em última análise, a escolha certa depende dos requisitos atuais e futuros do seu projeto em relação ao formato PDF.

Você pode experimentar o teste gratuito de 30 dias para conferir os recursos disponíveis.

[{i:(WkHtmlToPdf é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo WkHtmlToPdf. 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.

Perguntas frequentes

Como posso converter HTML para PDF em C#?

Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em PDFs. Além disso, você pode converter arquivos HTML em PDFs usando o RenderHtmlFileAsPdf .

Quais são as principais diferenças entre IronPDF e WkHtmlToPdf?

O IronPDF oferece um conjunto abrangente de recursos, incluindo extração de texto, manipulação de formulários, criptografia e assinaturas digitais, além de compatibilidade multiplataforma. O WkHtmlToPdf é uma ferramenta de código aberto focada na conversão direta de HTML para PDF.

Como posso instalar o IronPDF em um projeto .NET?

O IronPDF pode ser instalado usando o Gerenciador de Pacotes NuGet no Visual Studio executando o comando: Install-Package IronPDF .

É possível criptografar PDFs usando o IronPDF?

Sim, o IronPDF oferece opções para criptografar arquivos PDF, definir senhas e atribuir permissões para aumentar a segurança dos documentos.

O IronPDF suporta desenvolvimento multiplataforma?

De fato, o IronPDF é compatível com vários ambientes dentro da estrutura .NET, incluindo Windows, Linux, Mac, Docker, Azure e AWS.

O IronPDF consegue converter arquivos DOCX para PDF?

Sim, o IronPDF inclui funcionalidades para converter arquivos DOCX em PDFs sem problemas.

Que tipo de suporte está disponível para usuários do IronPDF?

O IronPDF oferece documentação detalhada, suporte técnico 24 horas por dia, 5 dias por semana, tutoriais em vídeo, um fórum da comunidade e atualizações regulares de software.

Como instalar o WkHtmlToPdf?

Para instalar o WkHtmlToPdf, baixe o executável do site oficial, execute o instalador e certifique-se de que ele esteja incluído no PATH do seu sistema.

Quais são as implicações de licenciamento do uso do WkHtmlToPdf?

O WkHtmlToPdf é distribuído sob a licença LGPL, permitindo seu uso gratuito tanto em aplicações de código aberto quanto em aplicações proprietárias.

O WkHtmlToPdf oferece suporte à criptografia de PDF?

Não, o WkHtmlToPdf não inclui suporte nativo para criptografia de PDF. Bibliotecas adicionais de terceiros são necessárias para obter recursos de criptografia.

Kye Stuart
Redator Técnico

Kye Stuart une sua paixão por programação e sua habilidade de escrita na Iron Software. Formado em implantação de software pela Yoobee College, ele agora transforma conceitos tecnológicos complexos em conteúdo educacional claro. Kye valoriza o aprendizado contínuo e abraça novos desafios ...

Leia mais

Equipe de suporte de ferro

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