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.
| 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.
|
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
-
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).
-
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.
- Verifique a instalação:
- Abra o Prompt de Comando (cmd).
- Digite
wkhtmltopdf --versionpara 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")
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)
WkHtmlToPdf (Usando a linha de comando)
wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
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")
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")
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")
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")
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")
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")
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")
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.



