Try IronPDF’s .NET PDF Library

// PM> Install-Package IronPdf
using IronPdf;
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a HTML string using C#
using 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
using var myAdvancedPdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private var As using
' 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
Using myAdvancedPdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")
End Using
IronPDF allows developers to create PDF documents easily in C#, F#, and VB.Net for .NET Core and .NET Framework.
In this example we show that a PDF document can be rendered using HTML.
You can choose simple HTML like the above, or incorporate CSS, images and Javascript.
IronPDF's rendering is "pixel perfect" to desktop versions of Google Chrome.

// PM> Install-Package IronPdf
using IronPdf;
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private var As using
' Export to a file or Stream
pdf.SaveAs("url.pdf")
IronPDF makes it very straightforward to render HTML from existing URLs as PDF documents. There is a very high level of support for Javascript, Images, Forms and CSS.
Rendering PDFs from ASP.NET URLs which accept query string variables can make PDF development an easy collaboration between designers and coders.
You can download a file project from this link.

// PM> Install-Package IronPdf
using IronPdf;
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Many rendering options to use to customize!
Renderer.RenderingOptions.SetCustomPaperSizeInInches(12.5, 20);
Renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
Renderer.RenderingOptions.Title = "My PDF Document Name";
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.RenderDelay = 50; // in milliseconds
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
Renderer.RenderingOptions.FitToPaperWidth = false;
Renderer.RenderingOptions.Zoom = 100;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Supports margin customization!
Renderer.RenderingOptions.MarginTop = 40; //millimeters
Renderer.RenderingOptions.MarginLeft = 20; //millimeters
Renderer.RenderingOptions.MarginRight = 20; //millimeters
Renderer.RenderingOptions.MarginBottom = 40; //millimeters
// Can set FirstPageNumber if you have a coverpage
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage will be appended
// Settings have been set, we can render:
Renderer.RenderHTMLFileAsPdf("assets/wikipedia.html").SaveAs("output/my-content.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
' Many rendering options to use to customize!
Renderer.RenderingOptions.SetCustomPaperSizeInInches(12.5, 20)
Renderer.RenderingOptions.PrintHtmlBackgrounds = True
Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
Renderer.RenderingOptions.Title = "My PDF Document Name"
Renderer.RenderingOptions.EnableJavaScript = True
Renderer.RenderingOptions.RenderDelay = 50 ' in milliseconds
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.FitToPaperWidth = False
Renderer.RenderingOptions.Zoom = 100
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' Supports margin customization!
Renderer.RenderingOptions.MarginTop = 40 'millimeters
Renderer.RenderingOptions.MarginLeft = 20 'millimeters
Renderer.RenderingOptions.MarginRight = 20 'millimeters
Renderer.RenderingOptions.MarginBottom = 40 'millimeters
' Can set FirstPageNumber if you have a coverpage
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a coverpage will be appended
' Settings have been set, we can render:
Renderer.RenderHTMLFileAsPdf("assets/wikipedia.html").SaveAs("output/my-content.pdf")
IronPDF supports many customizations for generated PDF file formats including: Paper Sizes, Document output quality, Content Scaling, CSS 'media types' and JavaScript Support.

private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
'Changes the ASPX output into a pdf instead of HTML
End Sub
Using the IronPDF library, ASP.NET web pages can be rendered to PDF instead of HTML by adding a single line of code to the Form_Load event. This allows complex PDFs to be data driven, and designed and tested as HTML first for simplicity.

// PM> Install-Package IronPdf
using IronPdf;
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from an existing HTML file using C#
using var pdf = Renderer.RenderHTMLFileAsPdf("example.html");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from an existing HTML file using C#
Private var As using
' Export to a file or Stream
pdf.SaveAs("output.pdf")
We can also render any HTML file on our hard disk.
All relative assets such as CSS, images and js will be rendered as if the file had been opened using the file:// protocol.
This method has the advantage of allowing the developer the opportunity to test the HTML content in a browser during development. We recommend Chrome as being the web browser on which IronPDF's rendering engine is based.

// PM> Install-Package IronPdf
using IronPdf;
var PdfOptions = new IronPdf.Rendering.AdaptivePdfRenderOptions()
{
CreatePdfFormsFromHtml = true,
EnableJavaScript = false,
Title = "My ASPX Page Rendered as a PDF"
//.. many more options available
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "MyPdfFile.pdf", PdfOptions);
' PM> Install-Package IronPdf
Imports IronPdf
Private PdfOptions = New IronPdf.Rendering.AdaptivePdfRenderOptions() With {
.CreatePdfFormsFromHtml = True,
.EnableJavaScript = False,
.Title = "My ASPX Page Rendered as a PDF"
}
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "MyPdfFile.pdf", PdfOptions)
ASP.NET ASPX to PDF functionality allows the full set of options available when rendering HTML from a string or file, but adds 2 new options:
- Changing the PDF file name
- Your PDF may be displayed directly in the web browser, or as a file download.

// PM> Install-Package IronPdf
using IronPdf;
using System.IO;
using System.Linq;
// One or more images as IEnumerable. This example selects all JPEG images in a specific 'assets' folder.
var ImageFiles = System.IO.Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));
// Converts the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs("composite.pdf");
// Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
' PM> Install-Package IronPdf
Imports IronPdf
Imports System.IO
Imports System.Linq
' One or more images as IEnumerable. This example selects all JPEG images in a specific 'assets' folder.
Private ImageFiles = System.IO.Directory.EnumerateFiles("assets").Where(Function(f) f.EndsWith(".jpg") OrElse f.EndsWith(".jpeg"))
' Converts the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs("composite.pdf")
' Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
PDF documents can be easily constructed from one or more image files using the IronPdf.ImageToPdfConverter Class.
You can download a file project from this link.

// PM> Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var PDFs = new List<PdfDocument>();
PDFs.Add(PdfDocument.FromFile("A.pdf"));
PDFs.Add(PdfDocument.FromFile("B.pdf"));
PDFs.Add(PdfDocument.FromFile("C.pdf"));
using PdfDocument PDF = PdfDocument.Merge(PDFs);
PDF.SaveAs("merged.pdf");
// Add a cover page
PDF.PrependPdf(Renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
PDF.RemovePage(PDF.PageCount - 1);
PDF.SaveAs("merged.pdf");
// Copy pages 5-7 and save them as a new document.
PDF.CopyPages(4, 6).SaveAs("exerpt.pdf");
foreach (var pdf in PDFs)
{
pdf.Dispose();
}
' PM> Install-Package IronPdf
Imports IronPdf
Imports System.Collections.Generic
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Private PDFs = New List(Of PdfDocument)()
PDFs.Add(PdfDocument.FromFile("A.pdf"))
PDFs.Add(PdfDocument.FromFile("B.pdf"))
PDFs.Add(PdfDocument.FromFile("C.pdf"))
Using PDF As PdfDocument = PdfDocument.Merge(PDFs)
PDF.SaveAs("merged.pdf")
' Add a cover page
PDF.PrependPdf(Renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page from the PDF and save again
PDF.RemovePage(PDF.PageCount - 1)
PDF.SaveAs("merged.pdf")
' Copy pages 5-7 and save them as a new document.
PDF.CopyPages(4, 6).SaveAs("exerpt.pdf")
'INSTANT VB NOTE: The variable pdf was renamed since Visual Basic will not allow local variables with the same name as parameters or other local variables:
For Each Me.pdf_Conflict In PDFs
Me.pdf_Conflict.Dispose()
Next pdf_Conflict
End Using
IronPDF allows many PDF file editing manipulations. The most popular are merging, cloning and extracting pages.
PDF may also be watermarked, stamped and have backgrounds and foregrounds applied.

// PM> Install-Package IronPdf
using IronPdf;
//Open an Encrypted File, alternatively create a new PDF from Html
using PdfDocument Pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit file metadata
Pdf.MetaData.Author = "Satoshi Nakamoto";
Pdf.MetaData.Keywords = "SEO, Friendly";
Pdf.MetaData.ModifiedDate = System.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 encrpytion password
Pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
Pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
Pdf.SaveAs("secured.pdf");
' PM> Install-Package IronPdf
Imports System
Imports IronPdf
'Open an Encrypted File, alternatively create a new PDF from Html
Private PdfDocument As using
'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 encrpytion password
Pdf.SecuritySettings.OwnerPassword = "top-secret" ' password to edit the pdf
Pdf.SecuritySettings.UserPassword = "sharable" ' password to open the pdf
Pdf.SaveAs("secured.pdf")
Granular meta-data and security settings can be applied. This now includes the ability to limit PDF documents to be unprintable, read only and encrypted. 128 bit encryption, decryption and password protection of PDF documents is supported.

// PM> Install-Package IronPdf
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private Renderer = New IronPdf.ChromePdfRenderer()
Private var As using
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
Are you looking for how to add a watermark to pdf documents pragmatically using C# .NET platform?
First, take look at "what a watermark is and why it is important". A watermark is a word or picture that appears in the foreground and background of existing text documents, similar to a stamp, in a PDF. You may, for example, use a "Confidential" watermark on pages that contain sensitive information.
IronPDF can provide the perfect solution to all of your PDF document watermarking needs, like the need to add watermark images to a pdf document on single pages, or on multiple pages, and also provides support if you need to add a watermark to pdf files as a whole.
IronPDF provides methods to 'watermark' PDF documents with HTML. Watermarks may be set to render above or below existing content, and have built in capacity for opacity, rotation and hyperlinks.
You can download a file project from this link.
Best .NET Library for Adding Text and Image Watermark to PDF
IronPDF has the market-leading .NET library for PDF file watermarking. IronPDF makes it easy for developers to add both text and image-based watermarks to PDF pages. To add watermark images to a PDF file, IronPDF allows its users multiple options to manipulate watermarks in the PDF file.
- watermark single page
- watermark all the pages
- watermark text pages of your choice
- adjust watermark location
- adjust watermark position
Why use IronPDF for Adding Watermark to PDF File
IronPDF leads the PDF industry and offers all types of PDF manipulating and formatting features. Using IronPDF you can add PDF watermarks to new documents as well as existing pdf files.
Are you are worried about how to add a text watermark or an image watermark to a PDF file using the .NET platform?
With only a few lines of code, IronPDF handles the watermarking process, and also allows users to add an image watermark from different image formats like PNG and PNGP, and many more.
Steps To Add Watermark in PDF file
- Download and install the IronPDF library.
- Create a new document or use an existing pdf file.
- Copy from the code snippet or write simple code in the static void main method.
- Then run the application to check the output PDF file with the watermark.
IronPDF Capabilities
IronPDF .NET library features all the PDF-related textual solutions whether you want to customize font, add a text watermark, read PDF files using string, add a cover page in place of a first page, and all the PDF specification effects.
IronPDF support nearly all the operating system compatible with PDF out there. IronPDF allows its developer to have royal control in formatting PDFs. IronPDF supports a lot of images formats like BMP, JPEG, GIF, PNG, and TIFF Files. you can also read and save PDF files with just a single line of code.
About IronSuite
The IronSuite is a bundle of state-of-the-art products from Iron Software. The suite includes 5 leading digital solutions tools:
- IronPDF
- IronOCR
- IronBarCode
- IronXL
- IronWebScraper
You can purchase all the five Iron Software products for the price of just two licenses. Iron Software's clientele is based on the fortune of 500 companies, including some big names like NASA and LEGO.

// PM> Install-Package IronPdf
using IronPdf;
// With IronPDF, we can easily merge 2 PDF files using one as a background or foreground
var Renderer = new IronPdf.ChromePdfRenderer();
using var pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.AddBackgroundPdf(@"MyBackground.pdf");
pdf.AddForegroundOverlayPdfToPage(0, @"MyForeground.pdf", 0);
pdf.SaveAs(@"C:\Path\To\Complete.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' With IronPDF, we can easily merge 2 PDF files using one as a background or foreground
Private Renderer = New IronPdf.ChromePdfRenderer()
Private var As using
pdf.AddBackgroundPdf("MyBackground.pdf")
pdf.AddForegroundOverlayPdfToPage(0, "MyForeground.pdf", 0)
pdf.SaveAs("C:\Path\To\Complete.pdf")
An existing or rendered PDF may be used as the Background or Foreground for another PDF document. This is particularly useful for design consistency and templating.
How add a Background (or overlay) to a PDF in C#
- Load or create a multi-page PDF as an IronPdf.PdfDocument object.
- You can add backgrounds using PdfDocument.AddBackgroundPdf. There are several background insertion methods and overrides in the IronPdf.PdfDocument documentation
- You can add Foregrounds also known as "Overlays" using PdfDocument.AddForegroundOverlayPdfToPage. There are several foreground insertion methods and overrides in the IronPdf.PdfDocument documentation
- Save the PDF to disk, or serve it as a FileActionResult via MVC.

// PM> Install-Package IronPdf
using IronPdf;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
<body>
<h2>Editable PDF Form</h2>
<form>
First name: <br> <input type='text' name='firstname' value=''> <br>
Last name: <br> <input type='text' name='lastname' value=''>
</form>
</body>
</html>";
// Instantiate Renderer
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
using var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.GetFieldByName("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
//Set and Read the value of the "lastname" field
IronPdf.Forms.FormField LastNameField = FormDocument.Form.GetFieldByName("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
FormDocument.SaveAs("FilledForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Private FormHtml = "
<html>
<body>
<h2>Editable PDF Form</h2>
<form>
First name: <br> <input type='text' name='firstname' value=''> <br>
Last name: <br> <input type='text' name='lastname' value=''>
</form>
</body>
</html>"
' Instantiate Renderer
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")
' Step 2. Reading and Writing PDF form values.
Using FormDocument = PdfDocument.FromFile("BasicForm.pdf")
'Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.GetFieldByName("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)
'Set and Read the value of the "lastname" field
Dim LastNameField As IronPdf.Forms.FormField = FormDocument.Form.GetFieldByName("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)
FormDocument.SaveAs("FilledForm.pdf")
End Using
PDFs with editable forms can be created from HTML simply by adding <form>, <input>, and <textarea> tags. The PdfDocument.Form.GetFieldByName
can be used to read and write the value of any form field. The name of the field will be the same as the 'name' attribute given to that field in your HTML. The PdfDocument.Form object can be used to:
- Populate the default value of form fields (must be focused in Adobe Reader to display this value)
- Read data from user filled PDF forms in any language.

// PM> Install-Package IronPdf
using IronPdf;
using System.Drawing;
//Example rendering PDF documents to Images or Thumbnails
using var Pdf = PdfDocument.FromFile("Example.pdf");
//Extract all pages to a folder as image files
Pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
//Dimensions and page ranges may be specified
Pdf.RasterizeToImageFiles(@"C:\image\folder\thumbnail_*.jpg", 100, 80);
//Extract all pages as System.Drawing.Bitmap objects
System.Drawing.Bitmap[] pageImages = Pdf.ToBitmap();
' PM> Install-Package IronPdf
Imports IronPdf
Imports System.Drawing
'Example rendering PDF documents to Images or Thumbnails
Private var As using
'Extract all pages to a folder as image files
Pdf.RasterizeToImageFiles("C:\image\folder\*.png")
'Dimensions and page ranges may be specified
Pdf.RasterizeToImageFiles("C:\image\folder\thumbnail_*.jpg", 100, 80)
'Extract all pages as System.Drawing.Bitmap objects
Dim pageImages() As System.Drawing.Bitmap = Pdf.ToBitmap()
IronPDF allows any PDF document to be exported to image files in convenient formats or Bitmap objects. Image dimensions and page number ranges may also be specified.

// PM> Install-Package IronPdf
using IronPdf;
// Cryptographically sign an existing PDF in 1 line of code!
new IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");
/***** Advanced example for more control *****/
// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
using PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.
// Read: https://helpx.adobe.com/acrobat/using/digital-ids.html
var signature = new IronPdf.Signing.PdfSignature("Iron.pfx", "123456");
// Step 3. Optional signing options and a handwritten signature graphic
signature.SigningContact = "support@ironsoftware.com";
signature.SigningLocation = "Chicago, USA";
signature.SigningReason = "To show how to sign a PDF";
signature.LoadSignatureImageFromFile("handwriting.png");
//Step 4. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);
//Step 4. The PDF is not signed until saved to file, steam or byte array.
doc.SaveAs("signed.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
' Cryptographically sign an existing PDF in 1 line of code!
Call (New IronPdf.Signing.PdfSignature("Iron.p12", "123456")).SignPdfFile("any.pdf")
'''*** Advanced example for more control ****
' Step 1. Create a PDF
Dim Renderer = New IronPdf.ChromePdfRenderer()
Using doc As PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")
' Step 2. Create a Signature.
' You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.
' Read: https://helpx.adobe.com/acrobat/using/digital-ids.html
Dim signature = New IronPdf.Signing.PdfSignature("Iron.pfx", "123456")
' Step 3. Optional signing options and a handwritten signature graphic
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"
signature.LoadSignatureImageFromFile("handwriting.png")
'Step 4. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature)
'Step 4. The PDF is not signed until saved to file, steam or byte array.
doc.SaveAs("signed.pdf")
End Using
IronPDF has options to digitally sign new or existing PDF files using .pfx and .p12 X509Certificate2 digital certificates.
Once a PDF is signed, it can not be modified without the certificate being invalidated. This ensures fidelity.
To generate a signing certificate for free using Adobe Reader, please read https://helpx.adobe.com/acrobat/using/digital-ids.html
In addition to cryptographic signing, a hand written signature image or company stamp image may also be used to sign using IronPDF.
You can download a file project from this link.

What Is IronPDF for .NET?
Our .NET PDF Library solution is a dream for developers, especially software engineers who use C#. You can easily create a core pdf library for .NET.
IronPDF uses a .NET Chromium engine to render HTML pages to PDF files. There's no need to use complex APIs to position or design PDFs. IronPDF supports standard web documents HTML, ASPX, JS, CSS, and images.
It enables you to create a .NET PDF library using HTML5, CSS, Javascript, and also images. You can edit, stamp, and add headers and footers to a PDF effortlessly. It also makes it easy to read PDF text and extract images!
.NET PDF Library Features Using IronPDF
We’ve never seen a more accurate HTML to PDF converter! Our industry-leading PDF library has so many features and a rendering engine that enables heedlessness and embeddability in the Chrome / Webkit. No installation is required.
Create
- Create PDF documents from HTML 4 and 5, CSS, and JavaScript
- Generate PDF documents from URL
- Load URL with custom network login credentials, UserAgents, Proxies, Cookies, HTTP headers, form variables allowing login behind HTML login forms
- Supports mainstream icon fonts (Fontello, Bootstrap, FontAwesome)
- Load external stylesheets and assets (HTTP, HTTPS, or filesystem) programmatically
- Single and Multithreaded rendering
- Custom ISO paper size with customizable orientations, margins, and color component
Edit Existing PDF Documents without Adobe Acrobat
- Read and fill form fields data
- Extract images and texts from PDF
- Add, edit, update outlines and bookmarks, program annotations with sticky notes
- Add foreground or background overlays from HTML or PDF assets
- Stamp new HTML Content onto any existing PDF page
- Add logical or HTML headers and footers
Manipulate Existing PDF Documents
- Load and parse existing PDF documents
- Merge and split content in pdf document
- Add headers, footers, annotations, bookmarks, watermarks, text, and image assets
- Add stamp and watermarks with text, images, and HTML backgrounds
- Rotate pages
Convert from Multiple Formats
- Images to a PDF file – convert from mainstream image document, with a single line code, JPG, PNG, GIF, BMP, TIFF, system drawing, and SVG to PDF
- ASPX WebForms – convert, with 3 lines of code, ASP.NET webforms to downloadable PDFs viewable in the browser
- HTML Document – convert HTML to PDF
- Custom ‘base URL’ to allow accessible asset files across the web
- Responsive layouts through Virtual Viewport (Width and Height)
- Custom zoom with scalable:
- HTML content to dimensions that preserves the quality
- Output resolution in DPI
- Embed System Drawing image assets into HTML strings with ImagetoDataURI
- Enable Javascript support including optional Render delays
- Accept HTML encoded in any major file encoding (Default to UTF-8)
Export
- MVC Views – export ASP.NET MVC views as PDF
- Merge pages and images
- Export files to any format with supported fonts
Save
- Save and load from file, binary data, or MemoryStreams.
Secure
- Improve security with options to update user passwords, metadata, security permissions, and verifiable digital signatures
- Screen or Print CSS media types
- Turn PDF files into a PrintDocument object and print without Adobe (with minimal code)
Everything you need in PDF documents
Creating, merging, splitting, editing, and manipulating PDF files whenever you want them, the way you want them is a breeze. Use your C# development skills to tap into IronPDF’s expanding features list.
To begin working on a project with IronPDF, download the free Nuget Package Installer or directly download the DLL. You can then proceed to create PDF document, edit and manipulate existing file formats, or export to any format without adobe acrobat.
Our support extends from a free and exhaustive range of tutorials to 24/7 live support.
Get Started with IronPDF
Design with Familiar HTML Documents
IronPDF lets you work with mainstream HTML document formats and turn it into PDF in ASP.NET web applications. Apply multiple settings including setting file behavior and names, adding headers and footers, changing print options, adding page breaks, combining async and multithreading, and more.
Similarly you can convert C# MVC HTML to PDF for ASP .NET Applications, print MVC view to return PDF file format, supported with HTML, CSS, Javascript and images.
In addition, create PDF documents and convert a present HTML page to PDF in ASP .NET C# applications and websites (C# html-to-pdf converter). The rich HTML is used as the PDF content with the ability to edit and manipulate with IronPDF's generate feature.
With IronPDF, worrying about resolutions is an issue from the past. The output PDF documents from IronPdf are pixel identical to the PDF functionality in the Google Chrome web browser.
Made for .Net, C#, VB, MVC, ASPX, ASP.NET, .NET Core
Get Started in MinutesTry It With NuGet Now
The benefits are clear! With IronPDF, you can do so much more, so much easier. Our product is perfect for anyone who needs to make, manage and edit a library of PDFs, including businesses in real estate, publishing, finance, and enterprise. The prices of our solution are also very competitive.
Ready to see what IronPDF can do for your projects and business? Try it out now
Supports:
IronPDF Licensing
Free for development purposes. Deployment licenses from $499.

Project

Organization

SaaS

OEM

Developer

Agency
PDF C# / VB Tutorials for .Net

C# PDF HTML

Tutorial | CSharp and VB .NET HTML to PDF
Let's create PDFs in .Net, without the need for complex programtic design layout or APIs…
View Jean's HTML To PDF Tutorial
C# PDF .NET ASPX

Tutorial | ASPX to PDF in ASP.NET
See how easy it is to convert ASPX pages into PDF documents using C# or VB .Net…
See Jacob's ASPX To PDF Tutorial
VB.NET PDF ASP.NET

Tutorial | Create PDFs with VB.Net
See how I use IronPDF to create PDF documents within my VB .NET projects…
See Veronica's VB .NET TutorialThousands of developers use IronPDF for...
Accounting and Finance Systems
- # Receipts
- # Reporting
- # Invoice Printing
Business Digitization
- # Documentation
- # Ordering & Labelling
- # Paper Replacement

Enterprise Content Management
- # Content Production
- # Document Management
- # Content Distribution

Data and Reporting Applications
- # Performance Tracking
- # Trend Mapping
- # Reports

Developers working within Companies, Government departments and as freelancers use IronPDF.
IronPDF is constantly supported as a leading .NET PDF Library







