Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Descubre las Mejores Alternativas para Marcado de Agua QuestPDF en .NET

Watermarks serve as an essential element in PDF documents, providing a visual indication of ownership, authenticity, or confidentiality. They can deter unauthorized use and help protect intellectual property, making them crucial for businesses and individuals alike. In this article, we will compare two powerful libraries—IronPDF and QuestPDF—focusing on their capabilities for adding watermarks to PDF files in C#.

Overview of IronPDF

Key Features

IronPDF is a robust PDF library that enables developers to create, edit, and manipulate PDF documents seamlessly. Key features related to watermarking include:

  • Flexible Watermarking: Supports text and image watermarks, allowing for customization in terms of font, size, color, and transparency.
  • Easy Integration: Compatible with .NET applications, making it straightforward to implement in existing projects.
  • Rich Formatting Options: Offers extensive styling options for watermarks, enhancing the visual appeal of your documents.
  • Conversion Tools: Convert HTML, URL, images, and more into PDF formats.

Installation and Setup

To get started with IronPDF, follow these steps:

  1. Install the IronPDF NuGet package by running the following command in your Package Manager Console:

    Install-Package IronPdf
  2. Add necessary namespaces in your C# file:

    using IronPdf;
    using IronPdf;
    Imports IronPdf
    $vbLabelText   $csharpLabel

Adding Watermarks to a PDF Document with IronPDF

IronPDF makes use of HTML string and CSS styling to add fully customizable watermarks to your PDF documents. The watermark tool can take any HTML string, even if it contains assets such as images and CSS styling, and apply it to the PDF file as a watermark.

using IronPdf;

class Program
{
    static void Main()
    {
        // Load an existing PDF document.
        PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

        // Define the watermark using HTML and CSS.
        string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red;'>CONFIDENTIAL</h1>";

        // Apply the watermark with specified rotation and opacity.
        pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);

        // Save the watermarked document.
        pdf.SaveAs("watermarked.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Load an existing PDF document.
        PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

        // Define the watermark using HTML and CSS.
        string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red;'>CONFIDENTIAL</h1>";

        // Apply the watermark with specified rotation and opacity.
        pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);

        // Save the watermarked document.
        pdf.SaveAs("watermarked.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Load an existing PDF document.
		Dim pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")

		' Define the watermark using HTML and CSS.
		Dim watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red;'>CONFIDENTIAL</h1>"

		' Apply the watermark with specified rotation and opacity.
		pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)

		' Save the watermarked document.
		pdf.SaveAs("watermarked.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Output PDF File

As you can see, we have created a new string variable containing our watermark content. This is made up of an HTML string with a header and image. When we use the ApplyWatermark method, we are able to set a customized rotation and opacity.

If you want to see more advanced examples and other features IronPDF has to offer, be sure to check out the How-To Guides!

Overview of QuestPDF

Key Features

QuestPDF is a modern PDF library that emphasizes ease of use and developer-friendly design. Key features related to watermarking include:

  • Declarative API: Uses a fluent API that allows developers to define watermarks in a clear and intuitive manner.
  • High Customizability: Supports various types of watermarks, including text, images, and shapes, with extensive customization options.
  • Performance Focus: Optimized for speed and efficiency, making it suitable for high-volume PDF generation.

Installation and Setup

To install QuestPDF, follow these steps:

  1. Install the QuestPDF NuGet package using the following command:

    Install-Package QuestPDF
    Install-Package QuestPDF
    SHELL
  2. Include the necessary namespace in your C# file:

    using QuestPDF;
    using QuestPDF;
    Imports QuestPDF
    $vbLabelText   $csharpLabel

Adding Watermarks with QuestPDF

QuestPDF has a different approach to apply watermarks to PDF files. With QuestPDF, this is done through watermark slots (on the background and foreground) which are used to add watermark content to a specific page or all pages of the PDF.

using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class WatermarkExample
{
    public static void Main()
    {
        // Set the license type to Community for QuestPDF.
        QuestPDF.Settings.License = LicenseType.Community;

        // Create a PDF document with a defined structure.
        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Margin(50);

                // Add a foreground watermark.
                page.Foreground().Element(watermark =>
                {
                    watermark.Text("DRAFT")
                        .FontSize(40)
                        .FontColor(Colors.Red.Medium)
                        .AlignLeft();
                });

                // Add the main content of the page.
                page.Content().Element(ComposeContent);
            });
        })
        .GeneratePdf("watermarked_document.pdf");
    }

    private static IContainer ComposeContent(IContainer container)
    {
        // Define the layout and content of the PDF.
        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()
    {
        // Set the license type to Community for QuestPDF.
        QuestPDF.Settings.License = LicenseType.Community;

        // Create a PDF document with a defined structure.
        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Margin(50);

                // Add a foreground watermark.
                page.Foreground().Element(watermark =>
                {
                    watermark.Text("DRAFT")
                        .FontSize(40)
                        .FontColor(Colors.Red.Medium)
                        .AlignLeft();
                });

                // Add the main content of the page.
                page.Content().Element(ComposeContent);
            });
        })
        .GeneratePdf("watermarked_document.pdf");
    }

    private static IContainer ComposeContent(IContainer container)
    {
        // Define the layout and content of the PDF.
        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()
		' Set the license type to Community for QuestPDF.
		QuestPDF.Settings.License = LicenseType.Community

		' Create a PDF document with a defined structure.
		Document.Create(Sub(container)
			container.Page(Sub(page)
				page.Margin(50)

				' Add a foreground watermark.
				page.Foreground().Element(Sub(watermark)
					watermark.Text("DRAFT").FontSize(40).FontColor(Colors.Red.Medium).AlignLeft()
				End Sub)

				' Add the 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
		' Define the layout and content of the PDF.
		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
$vbLabelText   $csharpLabel

Output PDF Document

In the Main method, we start by creating a document with a page that has a 50-unit margin. We then create the watermark we want to use, which is the simple text "DRAFT" in red, styled with a font size of 40 and aligned to the left. This approach to applying watermarks to PDF documents is more rigid and complex in setup compared to IronPDF's streamlined approach. With QuestPDF, you may have less control over the appearance and location of the watermark.

Comparison of Watermarking Capabilities

Ease of Use

IronPDF provides a straightforward approach with its rich documentation and examples, making it accessible for beginners. QuestPDF, with its declarative API, simplifies the process further by allowing for concise code, which can enhance productivity.

Customization Options

Both libraries offer extensive customization for watermarks. IronPDF allows for detailed styling of text and images, while QuestPDF provides a more flexible way to arrange elements and supports complex designs, making it suitable for creative applications.

Performance

In terms of performance, both libraries perform well, but QuestPDF may have the edge in speed due to its efficient design. Testing the libraries in real-world scenarios is advisable to determine which best fits your specific use case.

Licensing and Pricing

IronPDF Licensing Options

IronPDF operates on a commercial licensing model available.

QuestPDF Licensing Options

QuestPDF offers an open-source license with the option for commercial support. This makes it a cost-effective choice for developers looking for robust functionality without a significant financial commitment.

Conclusion

![Discover the Best Alternatives for QuestPDF Watermarking in .NET: Figure 5](/static-assets/pdf/blog/questpdf-add-watermark to-pdf-alternatives/questpdf-add-watermark to-pdf-alternatives-5.webp)

Both IronPDF and QuestPDF are powerful libraries for adding watermarks to PDFs in C#. IronPDF excels in its detailed customization options and user-friendly approach, making it ideal for users who require specific formatting. QuestPDF, on the other hand, stands out with its modern API design and performance efficiency, appealing to developers seeking a quick and intuitive solution.

For scenarios where extensive customization is needed, IronPDF may be the preferred choice. Conversely, QuestPDF is well-suited for projects prioritizing speed and ease of use.

Try IronPDF out for yourself by downloading the free trial and exploring how it can take your C# PDF projects to the next level today!

Por favor notaQuestPDF is a registered trademark of its respective owner. This site is not affiliated with, endorsed by, or sponsored by QuestPDF. All product names, logos, and brands are property of their respective owners. Comparisons are for informational purposes only and reflect publicly available information at the time of writing.

Preguntas Frecuentes

¿Cómo puedo agregar marcas de agua a PDFs en C#?

Puede agregar marcas de agua a PDFs en C# usando IronPDF definiendo una marca de agua con HTML y CSS. La marca de agua se puede aplicar usando el método ApplyWatermark, permitiendo personalización en términos de rotación y opacidad.

¿Qué biblioteca PDF debería usar para una amplia personalización de marcas de agua?

Para una amplia personalización de marcas de agua, se recomienda IronPDF. Proporciona opciones de estilo detalladas usando HTML y CSS, lo que lo hace ideal para diseños de marcas de agua complejos.

¿Cómo maneja IronPDF las marcas de agua en PDFs?

IronPDF maneja las marcas de agua en PDFs permitiendo a los usuarios aplicar marcas de agua de texto o imagen con estilo personalizable usando HTML y CSS. Esta flexibilidad permite un control preciso sobre la apariencia de la marca de agua.

¿Cuáles son las ventajas de usar IronPDF para añadir marcas de agua a PDFs?

Las ventajas de usar IronPDF para añadir marcas de agua a PDFs incluyen su integración con aplicaciones .NET, soporte para el estilo HTML y CSS para marcas de agua, y la capacidad de convertir varios formatos en PDFs.

¿Cómo instalo una biblioteca PDF para añadir marcas de agua en .NET?

Para instalar una biblioteca PDF como IronPDF para añadir marcas de agua en .NET, use el administrador de paquetes NuGet y ejecute el comando Install-Package IronPdf en su Consola del Administrador de Paquetes.

¿Puedo usar QuestPDF para agregar marcas de agua a PDFs?

Sí, QuestPDF puede agregar marcas de agua usando ranuras de marcas de agua que permiten posicionar texto y otros elementos en páginas específicas o a lo largo del documento.

¿Cuáles son las diferencias entre IronPDF y QuestPDF para añadir marcas de agua?

IronPDF ofrece un estilo HTML y CSS completo para una personalización detallada de marcas de agua, mientras que QuestPDF proporciona una API declarativa moderna con flexibilidad en la disposición de elementos, ideal para diseños creativos.

¿Hay una prueba gratuita disponible para IronPDF?

Sí, IronPDF ofrece una prueba gratuita, lo que le permite explorar sus características para añadir marcas de agua y otras manipulaciones de PDFs en proyectos C#.

¿Qué biblioteca PDF es mejor para un rendimiento alto en la adición de marcas de agua?

QuestPDF es conocida por su optimización de rendimiento, lo que la convierte en una opción adecuada para proyectos donde la velocidad es un factor crítico.

¿Qué opciones de licencia están disponibles para IronPDF?

IronPDF opera bajo un modelo de licencias comerciales, ofreciendo varias opciones para satisfacer las diferentes necesidades de los desarrolladores en funcionalidades robustas de PDF.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más