Wkhtmltopdf Comparación C# con Ejemplos de Código
IronPDF frente a wkhtmltopdf
Comparación característica por característica con evidencia de documentos oficiales, listados de NuGet y repositorios de proyectos
| Función | wkhtmltopdf | IronPDF ✦ |
|---|---|---|
| PDF Creation & Conversion | ||
| HTML/CSS a PDF |
⚠ Outdated Engine
El propósito principal es HTML→PDF, pero el motor es Qt WebKit (obsoleto). Carece de compatibilidad con CSS3, Flexbox y Grid.
|
✓ Yes
Motor Chromium integrado: HTML5/CSS3 con resolución de píxeles, Flexbox, Grid y estándares web modernos.
|
| Ejecución de JavaScript |
~ Partial
Admite opciones relacionadas con JS, pero el antiguo motor WebKit recomienda alternativas para JS complejo.
|
✓ Yes
Representación completa de HTML/CSS/ JavaScript a través de Chromium integrado: gráficos dinámicos, SPA, contenido interactivo.
|
| Generación programática |
✕ No
Diseñado para representar HTML a PDF únicamente: no es una biblioteca de dibujo PDF programático general.
|
✓ Yes
Crea archivos PDF nuevos o en blanco mediante el constructor
PdfDocument . Control programático completo.
|
| Merge, Split & Rearrange |
✕ No
Solo herramienta de conversión; no hay evidencia de API de división/combinación de páginas PDF.
|
✓ Yes
Admite fusión y división con instrucciones paso a paso. Operaciones de una sola línea.
|
| Editing & Manipulation | ||
| Headers, Footers & Page Numbers |
✓ Yes
El motor proporciona funciones de encabezado y pie de página (capacidad común wkhtmltopdf a través de indicadores CLI).
|
✓ Yes
API de encabezado/pie de página dedicada + marcadores de posición de página compatibles. Basado en HTML con personalización completa.
|
| Watermarks & Stamps |
✕ No
No es un editor de PDF; la marca de agua normalmente se realiza cambiando la plantilla HTML antes de la conversión.
|
✓ Yes
Instrucciones para crear marcas de agua y estampados con estampadores HTML, de texto e imágenes. Opacidad total, rotación y control de posición.
|
| Reading & Extraction | ||
| Extraer texto de PDFs |
✕ No
Sólo convertidor; no una biblioteca de extracción de texto.
|
✓ Yes
ExtractAllText Admite opciones de ordenamiento (por ejemplo, orden visual). |
| Renderizar páginas a imágenes |
✕ No
wkhtmltopdf convierte HTML→PDF; wkhtmltoimage es HTML→imagen, no PDF→imagen.
|
✓ Yes
API de conversión de PDF a imagen/rasterización documentadas. Salida nativa en PNG, JPEG y BMP.
|
| OCR para archivos PDF escaneados |
✕ No
OCR no está dentro del alcance del conversor HTML→PDF.
|
✓ Via IronOCR
Cree archivos PDF con capacidad de búsqueda mediante OCR. Compatibilidad con más de 127 idiomas mediante la integración con IronOCR .
|
| Security & Compliance | ||
| Firmas Digitales |
✕ No
wkhtmltopdf no implementa la firma de PDF.
|
✓ Yes
Guía de firma dedicada con soporte para certificados X509/PFX.
|
| Cumplimiento de PDF/A |
✕ No
Los flujos de trabajo de conformidad con PDF/A no están documentados como salida compatible.
|
✓ Yes
Guía de conversión de PDF/A (p. ej., detalles de PDF/A-3B). Compatible con la normativa empresarial.
|
| Platform & Deployment | ||
| Soporte Multiplataforma |
⚙ Wrapper-Dependent
La compatibilidad multiplataforma requiere la instalación de los binarios nativos correctos para cada sistema operativo. No es autocontenido.
|
✓ Yes
OS-specific NuGet packages + macOS & Linux guides. Windows, Linux, macOS, ARM supported.
|
| Implementación de servidor/Docker |
⚙ Wrapper-Dependent
Requiere el envío de binarios nativos; el proyecto señala el estado del motor heredado. Configuración compleja de Docker.
|
✓ Yes
Guías oficiales de Azure Functions + Docker; contenedor de motor independiente opcional.
|
| Tiempo hasta el primer PDF |
~ Complex
Requiere gestión binaria nativa e integración con wrappers. No es una simple instalación de NuGet .
|
✓ Simple
El inicio rápido muestra la instalación y el código mínimo para HTML→PDF.
Install-Package IronPDF .
|
| Licensing & Support | ||
| Claridad en las licencias |
~ Complex
El licenciamiento LGPLv3 introduce consideraciones de copyleft; diferentes wrappers .NET tienen diferentes licencias.
|
✓ Clear
EULA y términos de licencia documentados públicamente. Licencias comerciales perpetuas.
|
| Soporte comercial / SLA |
? Unknown
El motor es OSS (archivado); el SLA del proveedor no se describe en las fuentes citadas. Soporte exclusivo para la comunidad.
|
✓ 24/5 SLA
Portal de soporte + "soporte técnico 24/5" con SLA garantizado: correo electrónico, chat en vivo, teléfono.
|
| Calidad de la documentación |
~ Partial
Hay una amplia documentación CLI para el motor, pero la calidad de la documentación del contenedor .NET varía ampliamente.
|
✓ Extensive
Documentación completa de "Introducción/cómo hacerlo/ejemplos" con ejemplos de código para copiar y pegar y tutoriales en vídeo.
|
IronPDF es un reemplazo moderno y con mantenimiento activo: pruébelo gratis durante 30 días →
Elegir la librería PDF adecuada para tus necesidades puede ser difícil cuando hay aparentemente innumerables opciones. Al comparar, los factores clave incluyen las funciones ofrecidas frente a tus requisitos, el nivel de soporte y documentación, la curva de aprendizaje, y los costos de licenciamiento. Es crucial que también se consideren las implicaciones de seguridad.
Esta comparación abarca dos bibliotecas de generación de PDF con filosofías de diseño distintas: WkHtmlToPdf e IronPDF. WkHtmlToPdf se ha forjado su reputación como un sencillo conversor de HTML a PDF desde la línea de comandos, y muchos equipos han confiado en él exactamente para ese propósito. Sin embargo, usar WkHtmlToPdf en C# puede introducir riesgos de seguridad. Puesto que se basa en un ejecutable externo (WebKit), vulnerabilidades o una inadecuada sanitización de comandos podrían potencialmente ser explotadas, arriesgando la seguridad del servidor a través de HTML o argumentos maliciosos.
IronPDF es una biblioteca .NET gestionada que se ejecuta dentro del contexto de seguridad de su aplicación, reduciendo las superficies de ataque asociadas a procesos externos. En las secciones siguientes se comparan sus características, capacidades de representación y arquitectura de seguridad.
¿Qué son IronPDF y WkHtmlToPdf?
IronPDF es una biblioteca de C# para la creación, manipulación y procesamiento de PDF en .NET Framework. Su API abarca la conversión de HTML a PDF, la extracción de texto e imágenes, el manejo de formularios y opciones de seguridad de documentos como el cifrado y las firmas digitales, todo ello accesible a través de un único paquete NuGet. Puede instalar IronPDF a través de la consola del gestor de paquetes NuGet y poner en marcha la biblioteca en cuestión de minutos. Para obtener más información, visite el sitio web oficial de IronPDF.
WkHtmlToPdf es un wrapper P/Invoke .NET Core para la biblioteca WkHtmlToPdf, una popular herramienta para convertir páginas HTML a PDF utilizando el motor de renderizado Qt WebKit. Esta biblioteca de código abierto es una bifurcación de DinkToPdf y se centra en la conversión de HTML a PDF con un énfasis en la simplicidad. Es fácil de instalar; después de descargar y ejecutar el ejecutable WkHtmlToPdf, todo lo que necesitas hacer es asegurarte de que está añadido a la variable de entorno del sistema PATH. WkHtmlToPdf es una biblioteca ligera, aunque su ámbito de aplicación se centra en la conversión más que en una manipulación más amplia de PDF. Para evaluar las diferencias de seguridad y características de IronPDF en su propio entorno, tiene a su disposición una [prueba gratuita de 30 días](licencia de prueba).
Compatibilidad multiplataforma
HierroPDF
IronPDF es compatible con una amplia gama de entornos dentro del .NET Framework, lo que permite un funcionamiento coherente en diferentes plataformas.
-
Versiones de .NET:
-
Totalmente escrito en y soporta C#, VB.NET, y F#.
- .NET Core (8, 7, 6, 5, y 3.1+).
- .NET Standard (2.0+).
- .NET Framework (4.6.2+).
-
Entornos de aplicación: IronPDF funciona en varios entornos de aplicación como Windows, Linux, Mac, Docker, Azure y AWS.
-
IDEs: Funciona con IDEs como Microsoft Visual Studio y JetBrains Rider & ReSharper.
- Sistemas Operativos y Procesadores: Soporta varios sistemas operativos y procesadores diferentes, incluyendo Windows, Mac, Linux, x64, x86, ARM.
Para más detalles sobre la compatibilidad de IronPDF, visita Compatibilidad de IronPDF.
WkHtmlToPdf
-
Versiones de .NET: Como herramienta de línea de comandos, WkHtmlToPdf en sí no tiene soporte directo para .NET, sin embargo, los desarrolladores de .NET normalmente interactúan con él utilizando un envoltorio o biblioteca, como DinkToPdf.
-
Entornos de Aplicación: WkHtmlToPdf funciona sin problemas en varios entornos de aplicaciones como Windows, Linux y macOS.
- Lenguajes de Programación: WkHtmlToPdf se utiliza en gran medida a través de herramientas de línea de comandos o integrado con lenguajes de programación como C#, Java, Python, PHP y Node.js.
Instalación
Instalación de IronPDF
Para usar IronPDF, instálalo a través del Gestor de Paquetes NuGet en Visual Studio:
Install-Package IronPdf
Instalación de Wkhtmltopdf
-
Descarga el instalador:
- Ve a la página de descarga de WkHtmlToPdf.
- En la sección "Windows", descarga la última versión estable del instalador (por ejemplo, archivo .exe).
-
Ejecuta el instalador:
- Haz doble clic en el archivo .exe descargado.
- Sigue las indicaciones de instalación.
- Durante la instalación, puedes optar por añadir WkHtmlToPdf a la variable PATH del sistema para hacerlo accesible desde cualquier terminal de comandos.
- Verifica la instalación:
- Abre el Símbolo del sistema (cmd).
- Escriba
wkhtmltopdf --versionpara comprobar si está correctamente instalado. Verás el número de versión impreso en la pantalla.
¿Cómo se comparan las características de IronPDF y WkHtmlToPdf?
Al comparar IronPDF y WkHtmlToPdf, es esencial observar las características que ambas bibliotecas proporcionan para la generación y manipulación de PDF.
Características de IronPDF:
-
Conversión a PDF: IronPDF convierte HTML a PDF utilizando un motor Chromium integrado con soporte completo para HTML5, CSS3 (incluyendo Flexbox y Grid) y JavaScript. También convierte desde otros formatos como DOCX, imágenes, RTF, etc.
-
Generación de PDF: Con IronPDF, puedes generar PDFs desde URLs, formatos de imagen, archivos ASPX, o cadenas HTML.
-
Características de seguridad: IronPDF incluye cifrado, protección por contraseña y configuración granular de permisos (sólo lectura, restricción de copiar/pegar, control de impresión) como operaciones de primera clase en la API.
- Características de edición de PDF: IronPDF puede procesar documentos PDF existentes, editarlos y leer archivos PDF. Las funciones de edición incluyen añadir encabezados y pies de página, estampar texto e imágenes en las páginas, aplicar marcas de agua personalizadas, trabajar con formularios PDF y dividir o combinar archivos PDF.
Para más detalles sobre las características de IronPDF, visita Características de IronPDF.
Características principales de WkHtmlToPdf C#:
-
Conversión de HTML a PDF: Convierte páginas HTML, archivos, cadenas y contenidos CSS a PDF, conservando el diseño original.
-
Opciones de Personalización: Soporta tamaño de página, márgenes, encabezados, pies de página, etc.
-
Código Abierto: Gratuito para usar bajo la licencia MIT.
- Compatibilidad Multiplataforma: Funciona en entornos Windows, Linux y macOS.
Ejemplos de código lado a lado
Conversión de HTML a 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 línea de comandos)
wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
IronPDF produce archivos PDF perfectos a partir de contenido HTML en unas pocas líneas de código. Su motor Chromium integrado es compatible con CSS3, Flexbox y Grid modernos, por lo que el PDF renderizado se asemeja mucho a la fuente original. WkHtmlToPdf se ha creado en torno a la misma tarea principal -la conversión de HTML a PDF- y la gestiona de forma concisa tanto si se invoca a través de una biblioteca envolvente como de la línea de comandos. Donde los equipos suelen encontrar fricciones es con los modernos diseños CSS: El motor Qt WebKit de WkHtmlToPdf no es totalmente compatible con Flexbox o Grid, lo que puede producir resultados de renderizado inesperados en diseños contemporáneos.
Encriptar archivos 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:
El cifrado está fuera del alcance actual de WkHtmlToPdf; para conseguirlo se necesita una biblioteca independiente de terceros.
IronPDF proporciona una API directa para cifrar archivos PDF, incluyendo protección por contraseña, aplicación de sólo lectura y control granular de permisos. WkHtmlToPdf se centra en el paso de conversión, por lo que los equipos que necesitan cifrado suelen integrar una segunda biblioteca para gestionar la seguridad del documento una vez generado el PDF.
Redactar contenido 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:
La redacción no forma parte de las funciones de WkHtmlToPdf.
La API redacción de IronPDF redacta el contenido especificado con una sola llamada a un método: tres líneas de código en el ejemplo anterior. Dado que WkHtmlToPdf está diseñado como herramienta de conversión y no como editor de PDF, la redacción queda fuera de su ámbito arquitectónico. Los equipos que necesiten esta capacidad añadirían una biblioteca independiente de manipulación de PDF.
Firma digital de archivos 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#:
WkHtmlToPdf no está diseñado para firmar archivos PDF; se necesita una biblioteca independiente para esta función.
La API firma digital de IronPDF acepta certificados X509/PFX y firma un documento en dos llamadas a métodos, lo que agiliza los flujos de trabajo que requieren firma programática a escala. WkHtmlToPdf no está diseñado para gestionar la firma de PDF por sí mismo; sin embargo, si la utiliza junto con otra biblioteca, es posible que esa biblioteca le proporcione las funciones de firma que necesita.
Aplicar marcas de agua personalizadas a su 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:
La marca de agua no forma parte de las funciones nativas de WkHtmlToPdf. En su lugar, sería necesario implementar estilos CSS en el HTML de origen antes de la conversión, o utilizar una biblioteca PDF independiente que pueda aplicar marcas de agua a los documentos existentes.
La herramienta marca de agua de IronPDF utiliza un enfoque basado en HTML/CSS que permite a los desarrolladores controlar la opacidad, la rotación y la posición sin abandonar la API .NET. WkHtmlToPdf puede aproximar marcas de agua a través de estilos CSS aplicados al HTML de origen antes de la conversión - un enfoque que funciona para los casos más simples, pero que alcanza su límite de diseño cuando se necesita poner marcas de agua a PDFs existentes que no fueron generados a partir de su propio HTML.
Etiquetado de imágenes y texto
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#:
WkHtmlToPdf no incluye herramientas de estampado integradas. La solución típica consiste en incrustar los sellos deseados en el HTML y CSS originales antes de la conversión.
IronPDF proporciona clases TextStamper y ImageStamper dedicadas para estampar texto e imágenes en páginas PDF, incluida la compatibilidad con Google Fonts y controles de alineación precisos. WkHtmlToPdf no incluye herramientas de estampado integradas, pero puedes conseguir un resultado similar incrustando el contenido estampado directamente en tu HTML y CSS de origen antes de la conversión.
Conversión de DOCX a 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#:
WkHtmlToPdf se centra exclusivamente en la entrada HTML, por lo que la conversión DOCX requiere bibliotecas adicionales.
IronPDF gestiona la conversión de DOCX a PDF a través de su clase DocxToPdfRenderer - tres líneas de código en el ejemplo anterior. Dado que el proceso de renderizado de WkHtmlToPdf se basa en la entrada HTML, DOCX no es un formato fuente compatible. Los equipos que necesiten esta capacidad integrarán una biblioteca de conversión independiente junto con WkHtmlToPdf.
Resumen de la comparación de ejemplos de código
Para ver todas las funciones de IronPDF en acción, explore las guías IronPDF how-to, que explican cada función con ejemplos de código para copiar y pegar.
Precios y licencias: IronPDF vs. WkHtmlToPdf
HierroPDF
IronPDF tiene diferentes niveles y características adicionales para la compra de una licencia. Los desarrolladores también pueden comprar [Iron Suite](Iron Suite) que te da acceso a todos los productos de Iron Software al precio de dos. Si no está listo para comprar una licencia, IronPDF ofrece una prueba gratuita para que pueda explorar todas las características que ofrece antes de comprometerse con una licencia.
-
Licencias Perpetuas: Ofrece una gama de licencias perpetuas dependiendo del tamaño de tu equipo, tus necesidades de proyecto, y el número de ubicaciones. Cada tipo de licencia viene con soporte por correo electrónico.
-
Licencia Lite: Esta licencia soporta un desarrollador, una ubicación y un proyecto.
-
Licencia Plus: Soportando tres desarrolladores, tres ubicaciones y tres proyectos, este es el siguiente paso desde la licencia lite. La licencia Plus ofrece soporte por chat y soporte telefónico además del soporte básico por correo electrónico.
-
Licencia Profesional: Esta licencia es adecuada para equipos más grandes, soportando diez desarrolladores, diez ubicaciones y diez proyectos. Ofrece los mismos canales de soporte de contacto que los niveles anteriores pero también ofrece soporte de compartir pantalla.
-
Redistribución sin regalías: Las licencias de IronPDF también ofrecen cobertura de redistribución sin regalías por un costo adicional.
-
Soporte de producto sin interrupciones: IronPDF ofrece acceso a actualizaciones continuas de productos, mejoras en características de seguridad y soporte de su equipo de ingeniería.
- Iron Suite: Obtienes acceso a todos los productos de Iron Software incluyendo IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, y IronWebScraper.
WkHtmlToPdf
WkHtmlToPdf es una herramienta de código abierto gratuita para usar, licenciada bajo la Licencia LGPL que te permite usar wkhtmltopdf en aplicaciones propietarias siempre que no modifiques la biblioteca en sí.
Además del coste de la licencia, el coste total del proyecto incluye las horas que los desarrolladores dedican a gestionar las dependencias binarias nativas, a montar bibliotecas independientes para cifrar, firmar y redactar, y a sortear la limitada compatibilidad con CSS3 del motor Qt WebKit. Para los equipos que evalúan los costes a lo largo del ciclo de vida de un proyecto de varios años, estos costes de integración y mantenimiento eclipsan con frecuencia la diferencia entre las licencias de código abierto y las comerciales.
Documentación y soporte: IronPDF vs. WkHtmlToPdf
HierroPDF
IronPDF proporciona amplia documentación y soporte:
-
Documentación Integral: Documentación extensa y fácil de usar que cubre todas las características.
-
Soporte 24/5: Soporte activo de ingenieros está disponible.
-
Tutoriales en Vídeo: Guías paso a paso en vídeo están disponibles en YouTube.
-
Foro de la Comunidad: Comunidad comprometida para soporte adicional.
-
Actualizaciones Regulares: Actualizaciones de producto mensuales para asegurar las últimas características y parches de seguridad.
- Referencia de API en PDF: Ofrece referencias de API para que pueda aprovechar al máximo lo que ofrecen nuestras herramientas.
Para más información, consulta la extensa documentación de IronPDF, y visita el Canal de YouTube de Iron Software.
WkHtmlToPdf
-
GitHub: El repositorio de GitHub de WkHtmlToPdf es un lugar donde los usuarios pueden reportar problemas que encuentren mientras usan la herramienta.
-
Stack Overflow: Aquí, puedes encontrar numerosas preguntas y respuestas relacionadas con WkHtmlToPdf, y obtener consejos de la comunidad.
- Documentación Oficial: La documentación oficial proporciona detalles sobre instalación, uso, opciones de línea de comandos y configuraciones comunes.
¿Qué biblioteca elegir?
Tanto IronPDF como WkHtmlToPdf abordan la generación de PDF en C#, pero se dirigen a diferentes segmentos del espectro de complejidad. IronPDF cubre el ciclo de vida completo de PDF (conversión, cifrado, redacción, firma digital, conversión de DOCX a PDF, etc.) mediante un único paquete NuGet con un motor de renderizado Chromium que se mantiene de forma activa. Para los equipos cuyos proyectos abarcan varias operaciones PDF, este enfoque consolidado reduce el número de dependencias que hay que gestionar.
WkHtmlToPdf se ha ganado su popularidad gracias a su enfoque directo y centrado en la conversión de HTML a PDF, y su coste de licencia cero lo convierte en un punto de entrada accesible. Los equipos suelen encontrarse con un punto de inflexión cuando los requisitos no se limitan a la conversión, sino que se extienden a la edición, la seguridad o el cumplimiento de normativas, funciones que quedan fuera del ámbito arquitectónico de WkHtmlToPdf. Combinado con el estado archivado del proyecto y el envejecimiento del motor WebKit, los equipos con necesidades crecientes a menudo encuentran este el momento natural para evaluar una alternativa mantenida activamente. En última instancia, la elección correcta depende de los requisitos de PDF actuales y previstos de su proyecto.
Puede probar la prueba gratuita de 30 días para comprobar sus funciones disponibles.



