Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Las marcas de agua son un elemento esencial en los documentos PDF, proporcionando una indicación visual de propiedad, autenticidad o confidencialidad. Pueden disuadir el uso no autorizado y ayudar a proteger la propiedad intelectual, haciéndolos cruciales tanto para empresas como para individuos. En este artículo, compararemos dos potentes bibliotecas—IronPDF y QuestPDF—centrándonos en sus capacidades para añadir marcas de agua a archivos PDF en C#.
Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.
IronPDF es una sólida biblioteca PDF que permite a los desarrolladores crear, editar y manipular documentos PDF sin problemas. Las características clave relacionadas con la marca de agua incluyen:
Para comenzar con IronPDF, siga estos pasos:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
using IronPdf;
using IronPdf;
Imports IronPdf
IronPDF hace uso de cadenas HTML y estilos CSS para agregar marcas de agua completamente personalizables a tus documentos PDF. La herramienta de marca de agua puede tomar cualquier cadena de HTML, incluso si contiene recursos como imágenes y estilos CSS, y aplicarla al archivo PDF como una marca de agua.
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
Dim watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>"
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)
pdf.SaveAs("watermarked.pdf")
End Sub
End Class
Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.
Como puedes ver, hemos creado una nueva variable de tipo cadena que contiene el contenido de nuestra marca de agua. Esto está compuesto por una cadena HTML con un encabezado e imagen. Cuando usamos el método ApplyWatermark, podemos establecer una rotación y opacidad personalizadas.
Si deseas ver ejemplos más avanzados y otras características que IronPDF tiene para ofrecer, asegúrate de visitar las Guías Prácticas!
Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.
QuestPDF es una biblioteca PDF moderna que enfatiza la facilidad de uso y un diseño amigable para desarrolladores. Las características clave relacionadas con la marca de agua incluyen:
Para instalar QuestPDF, siga estos pasos:
Install-Package QuestPDF
Install-Package QuestPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package QuestPDF
using QuestPDF;
using QuestPDF;
Imports QuestPDF
QuestPDF tiene un enfoque diferente para aplicar marcas de agua a archivos PDF. Con QuestPDF, esto se realiza a través de espacios para marcas de agua (en el fondo y primer plano) que se utilizan para agregar contenido de marca de agua a una página específica o a todas las páginas del PDF.
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Public Class WatermarkExample
Public Shared Sub Main()
QuestPDF.Settings.License = LicenseType.Community
Document.Create(Sub(container)
container.Page(Sub(page)
page.Margin(50)
' Add a watermark
page.Foreground().Element(Sub(watermark)
watermark.Text("DRAFT").FontSize(40).FontColor(Colors.Red.Medium).AlignLeft()
End Sub)
' Main content of the page
page.Content().Element(AddressOf ComposeContent)
End Sub)
End Sub).GeneratePdf("watermarked_document.pdf")
End Sub
Private Shared Function ComposeContent(ByVal container As IContainer) As IContainer
' No need to return the container here; you can just define the layout.
container.Column(Sub(column)
column.Spacing(10)
column.Item().Text("This is the main content of the PDF.")
column.Item().Text("Add more content as needed.")
End Sub)
Return container ' Return the container to maintain method signature.
End Function
End Class
Imagen rota Añadir desde Pixabay, seleccionar de tus archivos o arrastrar y soltar una imagen aquí.
En el método Main, comenzamos creando un documento con una página que tiene un margen de 50 unidades. A continuación, creamos la marca de agua que queremos usar, que es el texto simple "DRAFT" en rojo, estilizado con un tamaño de fuente de 40 y alineado a la izquierda. Este enfoque para aplicar marcas de agua a documentos PDF es más rígido y complejo en su configuración en comparación con el enfoque simplificado de IronPDF. Con QuestPDF, es posible que tengas menos control sobre la apariencia y la ubicación de la marca de agua.
IronPDF ofrece un enfoque sencillo con su amplia documentación y ejemplos, lo que lo hace accesible para principiantes. QuestPDF, con su API declarativa, simplifica aún más el proceso al permitir un código conciso, lo que puede aumentar la productividad.
Ambas bibliotecas ofrecen una amplia personalización para marcas de agua. IronPDF permite un estilo detallado de texto e imágenes, mientras que QuestPDF proporciona una forma más flexible de organizar elementos y soporta diseños complejos, lo que lo hace adecuado para aplicaciones creativas.
En términos de rendimiento, ambas bibliotecas funcionan bien, pero QuestPDF puede tener ventaja en velocidad debido a su diseño eficiente. Es recomendable probar las bibliotecas en escenarios del mundo real para determinar cuál se adapta mejor a su caso de uso específico.
IronPDF opera con un modelo de licencia comercial disponible.
QuestPDF ofrece una licencia de código abierto con la opción de soporte comercial. Esto lo convierte en una opción rentable para desarrolladores que buscan una funcionalidad sólida sin un compromiso financiero significativo.

Tanto IronPDF como QuestPDF son bibliotecas potentes para agregar marcas de agua a PDFs en C#. IronPDF destaca por sus detalladas opciones de personalización y su enfoque fácil de usar, lo que lo hace ideal para usuarios que requieren un formato específico. QuestPDF, por otro lado, se destaca por su diseño de API moderno y eficiencia en el rendimiento, atrayendo a los desarrolladores que buscan una solución rápida e intuitiva.
Para escenarios donde se necesita una personalización extensiva, IronPDF puede ser la opción preferida. Por el contrario, QuestPDF es adecuado para proyectos que priorizan la rapidez y la facilidad de uso.
🚀Prueba IronPDF por ti mismo descargando la prueba gratuita y explorando cómo puede llevar tus proyectos PDF en C# al siguiente nivel hoy mismo.