C# + VB.Net : Using Html To Create a PDF Using Html To Create a PDF
using IronPdf;

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();

// Render an HTML document or snippet as a string
Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>").SaveAs("html-string.pdf");
Imports IronPdf



Dim Renderer As New IronPdf.HtmlToPdf()

' Render an HTML document or snippet as a string
Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>").SaveAs("html-string.pdf")

IronPDF allows developers to create PDF documents easily in C# and VB.Net. 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 rendering closely follows Google Chrome.

C# + VB.Net : Converting a Url to a PDF Converting a Url to a PDF
using IronPdf;

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
HtmlToPdf HtmlToPdf = new IronPdf.HtmlToPdf();
Renderer.RenderUrlAsPdf("http//ironpdf.com/").SaveAs("url.pdf");



// or System.IO.MemoryStream PdfStream = PDF.GetStream;
// or byte[] PdfBinary = PDF.GetBinary;
Imports IronPdf



Dim Renderer As New IronPdf.HtmlToPdf()
Dim HtmlToPdf As HtmlToPdf = New IronPdf.HtmlToPdf()
Renderer.RenderUrlAsPdf("http//ironpdf.com/").SaveAs("url.pdf")



' or System.IO.MemoryStream PdfStream = PDF.GetStream;
' or byte[] PdfBinary = PDF.GetBinary;

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.

C# + VB.Net : Rendering ASPX Pages as PDFs Rendering ASPX Pages as PDFs
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.

C# + VB.Net : PDF Generation Settings PDF Generation Settings
using IronPdf;

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();

Renderer.PrintOptions.SetCustomPaperSizeInInches(12.5, 20);
Renderer.PrintOptions.PrintHtmlBackgrounds = true;
Renderer.PrintOptions.PaperOrientation = PdfPrintOptions.PdfPaperOrientation.Portrait;
Renderer.PrintOptions.Title = "My PDF Document Name";
Renderer.PrintOptions.EnableJavaScript = true;
Renderer.PrintOptions.RenderDelay = 50; //ms
Renderer.PrintOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Screen;
Renderer.PrintOptions.DPI = 300;
Renderer.PrintOptions.FitToPaperWidth = true;
Renderer.PrintOptions.JpegQuality = 80;
Renderer.PrintOptions.GrayScale = false;
Renderer.PrintOptions.FitToPaperWidth = true;
Renderer.PrintOptions.InputEncoding = Encoding.UTF8;
Renderer.PrintOptions.Zoom = 100;
Renderer.PrintOptions.CreatePdfFormsFromHtml = true;

Renderer.PrintOptions.MarginTop = 40;  //millimeters
Renderer.PrintOptions.MarginLeft = 20;  //millimeters
Renderer.PrintOptions.MarginRight = 20;  //millimeters
Renderer.PrintOptions.MarginBottom = 40;  //millimeters

Renderer.PrintOptions.FirstPageNumber = 1; //use 2 if a coverpage  will be appended

Renderer.RenderHTMLFileAsPdf("my-content.html").SaveAs("my-content.pdf");
Imports IronPdf



Dim Renderer As New IronPdf.HtmlToPdf()

Renderer.PrintOptions.SetCustomPaperSizeInInches(12.5, 20)
Renderer.PrintOptions.PrintHtmlBackgrounds = True
Renderer.PrintOptions.PaperOrientation = PdfPrintOptions.PdfPaperOrientation.Portrait
Renderer.PrintOptions.Title = "My PDF Document Name"
Renderer.PrintOptions.EnableJavaScript = True
Renderer.PrintOptions.RenderDelay = 50 'ms
Renderer.PrintOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Screen
Renderer.PrintOptions.DPI = 300
Renderer.PrintOptions.FitToPaperWidth = True
Renderer.PrintOptions.JpegQuality = 80
Renderer.PrintOptions.GrayScale = False
Renderer.PrintOptions.FitToPaperWidth = True
Renderer.PrintOptions.InputEncoding = Encoding.UTF8
Renderer.PrintOptions.Zoom = 100
Renderer.PrintOptions.CreatePdfFormsFromHtml = True

Renderer.PrintOptions.MarginTop = 40 'millimeters
Renderer.PrintOptions.MarginLeft = 20 'millimeters
Renderer.PrintOptions.MarginRight = 20 'millimeters
Renderer.PrintOptions.MarginBottom = 40 'millimeters

Renderer.PrintOptions.FirstPageNumber = 1 'use 2 if a coverpage  will be appended

Renderer.RenderHTMLFileAsPdf("my-content.html").SaveAs("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.

C# + VB.Net : ASPX To PDF Settings ASPX To PDF Settings
using IronPdf;

private void Form1_Load(object sender, EventArgs e)
{
    PdfPrintOptions PdfOptions = new PdfPrintOptions()
    {
        DPI = 300,
        EnableJavaScript = false,
        //.. many more options available
    };

AspxToPdf.RenderThisPageAsPDF(AspxToPdf.FileBehaviour.Attachment,"MyPdfFile.pdf", PdfOptions);
}
Imports IronPdf

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
	Dim PdfOptions As New PdfPrintOptions() With {
		.DPI = 300,
		.EnableJavaScript = False
	}

AspxToPdf.RenderThisPageAsPDF(AspxToPdf.FileBehaviour.Attachment,"MyPdfFile.pdf", PdfOptions)
End Sub

ASP.NET ASPX to PDF functionality allows the full set of options available when rendering HTML from a string or file, but allows adds 2 new options:
- Changing the PDF file Name
- Your PDF may be displayed directly in the web browser, or as a file download.

C# + VB.Net : Image To PDF Image To PDF
using IronPdf;
using System.IO;
using System.Linq;

// Select one or more images.  This example selects all JPEG images in a specific folder.
var ImageFiles = Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));

// Conmvert the images to a PDF and save it.
ImageToPdfConvetrer.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
            
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
Imports IronPdf
Imports System.IO
Imports System.Linq

' Select one or more images.  This example selects all JPEG images in a specific folder.


Dim ImageFiles = Directory.EnumerateFiles("C:\project\assets").Where(Function(f) f.EndsWith(".jpg") OrElse f.EndsWith(".jpeg"))

' Conmvert the images to a PDF and save it.
ImageToPdfConvetrer.ImageToPdf(ImageFiles).SaveAs("C:\project\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.ImageToPdfConvetrer Class.

C# + VB.Net : Headers & Footers Headers & Footers
using IronPdf;

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();

// add a header to very page easily
Renderer.PrintOptions.FirstPageNumber = 1; // use 2 if a coverpage  will be appended
Renderer.PrintOptions.Header.DrawDividerLine = true;
Renderer.PrintOptions.Header.CenterText = "{url}" ;
Renderer.PrintOptions.Header.FontFamily = "Helvetica,Arial";
Renderer.PrintOptions.Header.FontSize = 12;

// add a footer too
Renderer.PrintOptions.Footer.DrawDividerLine = true;
Renderer.PrintOptions.Footer.FontFamily = "Arial";
Renderer.PrintOptions.Footer.FontSize = 10;
Renderer.PrintOptions.Footer.LeftText = "{date} {time}";
Renderer.PrintOptions.Footer.RightText = "{page} of {total-pages}";

// mergable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
Imports IronPdf



Dim Renderer As New IronPdf.HtmlToPdf()

' add a header to very page easily
Renderer.PrintOptions.FirstPageNumber = 1 ' use 2 if a coverpage  will be appended
Renderer.PrintOptions.Header.DrawDividerLine = True
Renderer.PrintOptions.Header.CenterText = "{url}"
Renderer.PrintOptions.Header.FontFamily = "Helvetica,Arial"
Renderer.PrintOptions.Header.FontSize = 12

' add a footer too
Renderer.PrintOptions.Footer.DrawDividerLine = True
Renderer.PrintOptions.Footer.FontFamily = "Arial"
Renderer.PrintOptions.Footer.FontSize = 10
Renderer.PrintOptions.Footer.LeftText = "{date} {time}"
Renderer.PrintOptions.Footer.RightText = "{page} of {total-pages}"

' mergable fields are:
' {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}

Headers and Footers may be added to PDF documents in 2 distinct ways.
- SimpleHeaderFooter allows text based headers to be added, with the option to merge in dynamic data.
- HtmlHeaderFooter allows the developer to render HTML headers and footers to PDF files, also allowing the templating of dynamic data.

C# + VB.Net : HTML Headers & Footers HTML Headers & Footers
using IronPdf;

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();


// Build a footer using html to styjle the text
// mergable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
Renderer.PrintOptions.Footer = new HtmlHeaderFooter()
{
  Height = 15,
  HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
  DrawDividerLine = true
 };

// Build a header using an image assset
// Note the use of BaseUrl to set a relative path to the assets
Renderer.PrintOptions.Header = new HtmlHeaderFooter()
{
  Height = 20,
  HtmlFragment = "<img src='logo.png'>",
  BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri
};
Imports IronPdf



Dim Renderer As New IronPdf.HtmlToPdf()


' Build a footer using html to styjle the text
' mergable fields are:
' {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
Renderer.PrintOptions.Footer = New HtmlHeaderFooter() With {
	.Height = 15,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}

' Build a header using an image assset
' Note the use of BaseUrl to set a relative path to the assets
Renderer.PrintOptions.Header = New HtmlHeaderFooter() With {
	.Height = 20,
	.HtmlFragment = "<img src='logo.png'>",
	.BaseUrl = (New Uri("C:\assets\images\")).AbsoluteUri
}

HTML Headers and Footers are rendered as independent HTML documents which may have their own assets and stylesheets. Developers may control the Height of the rendered Header or Footer to match their content exactly.

C# + VB.Net : Editing PDFs Editing PDFs
using IronPdf;
using System.Collections.Generic;

var Renderer = new IronPdf.HtmlToPdf();

// 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"));
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");
Imports IronPdf
Imports System.Collections.Generic



Dim Renderer = New IronPdf.HtmlToPdf()

' Join Multiple Existing PDFs into a single document
Dim PDFs = New List(Of PdfDocument)()
PDFs.Add(PdfDocument.FromFile("A.pdf"))
PDFs.Add(PdfDocument.FromFile("B.pdf"))
PDFs.Add(PdfDocument.FromFile("C.pdf"))
Dim 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")

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.

C# + VB.Net : Encryption and Decryption Encryption and Decryption
using IronPdf;
//Open an Encrypted File
PdfDocument PDF = PdfDocument.FromFile("encrypted.pdf", "password");

// Save and change the encryption password.
PDF.Password = "my-password";
PDF.SaveAs("secured.pdf");
 
Imports IronPdf
'Open an Encrypted File


Dim PDF As PdfDocument = PdfDocument.FromFile("encrypted.pdf", "password")

' Save and change the encryption password.
PDF.Password = "my-password"
PDF.SaveAs("secured.pdf")

128 bit encryption, decryption and password protection of PDF documents is supported.

C# + VB.Net : Security and MetaData Security and MetaData
using IronPdf;
//Open an Encrypted File, alternatively create a new PDF from Html

PdfDocument 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
Pdf.SecuritySettings.RemovePasswordsAndEncryption();
Pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
Pdf.SecuritySettings.AllowUserAnnotations = false;
Pdf.SecuritySettings.AllowUserCopyPasteContent = false;
Pdf.SecuritySettings.AllowUserFormData = false;
Pdf.SecuritySettings.AllowUserPrinting =  PdfDocument.PdfSecuritySettings.PdfPrintSecrity.FullPrintRights;

//Edit the now read-only pdf
Pdf.SaveAs("ReadOnly.pdf");
Imports IronPdf
'Open an Encrypted File, alternatively create a new PDF from Html



Dim Pdf As PdfDocument = PdfDocument.FromFile("encrypted.pdf", "password")

'Edit file metadata
Pdf.MetaData.Author = "Satoshi Nakamoto"
Pdf.MetaData.Keywords = "SEO, Friendly"
Pdf.MetaData.ModifiedDate = Date.Now

'Edit file security settings
Pdf.SecuritySettings.RemovePasswordsAndEncryption()
Pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
Pdf.SecuritySettings.AllowUserAnnotations = False
Pdf.SecuritySettings.AllowUserCopyPasteContent = False
Pdf.SecuritySettings.AllowUserFormData = False
Pdf.SecuritySettings.AllowUserPrinting = PdfDocument.PdfSecuritySettings.PdfPrintSecrity.FullPrintRights

'Edit the now read-only pdf
Pdf.SaveAs("ReadOnly.pdf")

Granular meta-data and security settings can be applied. This now includes the ability to limit PDF documents to be unprintable, readonly and encrypted.

C# + VB.Net : PDF Watermarking PDF Watermarking
using IronPdf;

// Stamps a watermark onto a new or existing PDF
IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
var pdf =  Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a watermark onto a new or existing PDF


Dim Renderer As New IronPdf.HtmlToPdf()
Dim pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
pdf.SaveAs("C:\Path\To\Watermarked.pdf")

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.

C# + VB.Net : Adding New HTML Content Adding New HTML Content
//PDFs can be edited or amended by stamping new HTML content into the foreground or background.
using IronPdf;


IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
var pdf =  Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

var BackgroundStamp = new HtmlStamp() { Html = "<img src='logo.jpg' />", Width = 50, Height = 25, Opactity = 50, Bottom = 5,  ZIndex = HtmlStamp.StampLayer.BehindExistingPDFContent, HtmlBaseUrl = new Server.MapPath("~/assets/") };
pdf.StampHTML(BackgroundStamp);

var ForegroundStamp = new HtmlStamp() { Html = "<h2 style='color:red'>copyright 2018 ironpdf.com", Width = 50, Height = 50, Opactity = 50,  Rotation = -45,  ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent };
pdf.StampHTML(ForegroundStamp);

pdf.SaveAs(@"C:\Path\To\Stamped.pdf");
'PDFs can be edited or amended by stamping new HTML content into the foreground or background.
Imports IronPdf




Dim Renderer As New IronPdf.HtmlToPdf()
Dim pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

Dim BackgroundStamp = New HtmlStamp() With {
	.Html = "<img src='logo.jpg' />",
	.Width = 50,
	.Height = 25,
	.Opactity = 50,
	.Bottom = 5,
	.ZIndex = HtmlStamp.StampLayer.BehindExistingPDFContent,
	.HtmlBaseUrl = New Server.MapPath("~/assets/")
}
pdf.StampHTML(BackgroundStamp)

Dim ForegroundStamp = New HtmlStamp() With {
	.Html = "<h2 style='color:red'>copyright 2018 ironpdf.com",
	.Width = 50,
	.Height = 50,
	.Opactity = 50,
	.Rotation = -45,
	.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}
pdf.StampHTML(ForegroundStamp)

pdf.SaveAs("C:\Path\To\Stamped.pdf")

Developers may edit any PDF document by adding new content to any page (or pages) using the StampHTML method.

C# + VB.Net : Backgrounds & Foregrounds Backgrounds & Foregrounds
using IronPdf;

// With IronPDF, we can easily merge 2 PDF files using one as a backgorund or foreground
IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
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");
Imports IronPdf

' With IronPDF, we can easily merge 2 PDF files using one as a backgorund or foreground


Dim Renderer As New IronPdf.HtmlToPdf()
Dim 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")

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.

C# + VB.Net : PDF OCR & Text Extraction PDF OCR & Text Extraction
//  Extracting PDF Image and Text Content
using IronPdf;
using System.Drawing;

// open a 128 bit encrypted PDF
PdfDocument PDF = PdfDocument.FromFile("encrypted.pdf", "password");

//Get all text to put in a search index
string AllText = PDF.ExtractAllText();

//Get all Images
IEnumerable<System.Drawing.Image> AllImages = PDF.ExtractAllImages();

//Or even find the precise text and images for each page in the document
for (var index = 0; index < PDF.PageCount; index++) {
    int PageNumber = index + 1;
    string Text = PDF.ExtractTextFromPage(index);
    IEnumerable<System.Drawing.Image> Images = PDF.ExtractImagesFromPage(index);
    ///...
}
'  Extracting PDF Image and Text Content
Imports IronPdf
Imports System.Drawing

' open a 128 bit encrypted PDF


Dim PDF As PdfDocument = PdfDocument.FromFile("encrypted.pdf", "password")

'Get all text to put in a search index
Dim AllText As String = PDF.ExtractAllText()

'Get all Images
Dim AllImages As IEnumerable(Of System.Drawing.Image) = PDF.ExtractAllImages()

'Or even find the precise text and images for each page in the document
For index = 0 To PDF.PageCount - 1
	Dim PageNumber As Integer = index + 1
	Dim Text As String = PDF.ExtractTextFromPage(index)
	Dim Images As IEnumerable(Of System.Drawing.Image) = PDF.ExtractImagesFromPage(index)
	'''...
Next index

IronPDF allows developers to easily extract the full text and images from almost any PDF file. This PDF OCR behavior is particularly useful when building search indexes.

C# + VB.Net : Form Data Form Data
 //Creating a PDF with editable forms from HTML using form and input tags
using IronPdf;

var FormHtml = @"<html>
<body>
<h2>Editable PDF  Form</h2>
<form>
  First name:<br> <input type='text' name='firstname' value='Mickey'> <br>
  Last name:<br> <input type='text' name='lastname' value='Mouse'>
</form>
</body>
</html>";

IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
Renderer.PrintOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");


//Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

FormField FirstNameField = FormDocument.Form.GetFieldByName("firstname");
Console.WriteLine("Initial value: {0}", FirstNameField.Value);

//Change the value of the "firstname" field
FirstNameField.Value = "Minnie";
Console.WriteLine("New value: {0}", FirstNameField.Value);

FormDocument.SaveAs("FilledForm.pdf");
'Creating a PDF with editable forms from HTML using form and input tags
Imports IronPdf



Dim FormHtml = "<html>
<body>
<h2>Editable PDF  Form</h2>
<form>
  First name:<br> <input type='text' name='firstname' value='Mickey'> <br>
  Last name:<br> <input type='text' name='lastname' value='Mouse'>
</form>
</body>
</html>"

Dim Renderer As New IronPdf.HtmlToPdf()
Renderer.PrintOptions.CreatePdfFormsFromHtml = True
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")


'Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")

Dim FirstNameField As FormField = FormDocument.Form.GetFieldByName("firstname")
Console.WriteLine("Initial value: {0}", FirstNameField.Value)

'Change the value of the "firstname" field
FirstNameField.Value = "Minnie"
Console.WriteLine("New value: {0}", FirstNameField.Value)

FormDocument.SaveAs("FilledForm.pdf")

PDFs can with editable forms can be created from HTML simply by adding <<lform> <<linput> and <<ltextarea> tags.
 The PdfDocument.Form object can be used to both populate forms, and also to read data from user filled PDF forms in any language.

C# + VB.Net : Rasterize a PDF to Images Rasterize a PDF to Images
 //Rendering PDF documents to Images or Thumbnails
using IronPdf;
using System.Drawing;

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
Bitmap[] pageImages = pdf.ToBitmap();
'Rendering PDF documents to Images or Thumbnails
Imports IronPdf
Imports System.Drawing



Dim 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
Dim pageImages() As 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.

C# + VB.Net : Digitally Sign a PDF Digitally Sign a PDF
using IronPdf;

//The quickest way to cryptographically sign an existing PDF a digital certificate
new IronPdf.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");
// All done in 1 line of code!



//Advanced example for more control

// Step 1. Create a PDF
IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
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.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");
Imports IronPdf

'The quickest way to cryptographically sign an existing PDF a digital certificate


Call (New IronPdf.PdfSignature("Iron.p12", "123456")).SignPdfFile("any.pdf")
' All done in 1 line of code!



'Advanced example for more control

' Step 1. Create a PDF
Dim Renderer As New IronPdf.HtmlToPdf()
Dim 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.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")

IronPDF has options to digitally sign new or existing PDF files using .pfx and .p12 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.

Human Support Directly From Our .Net Development Team

Whether its product, integration or licensing queries, the Iron product development team are on hand to support all of your questions. Get in touch and start a dialog with Iron to make the most of our library in your project.

Ask a Question
C# .Net HTML-to-PDF

Convert HTML to PDF directly in C# and VB.Net

Avoid wasting time learning new APIs, proprietary software or time consuming programming patterns. IronPDF contains a fully licensed Google Chrome rendering engine for C# which can convert HTML pages or string to PDF documents with full support for Javascript, AJAX, images, SVG, Web Fonts and CSS.

Read the How-To Tutorials
C# .NET PDF OCR Library

Extract and Re-use PDF Text and Images

IronPDF allows you to automatically read content from PDFs for injection into your C# & .NET applications and date storage solutions. Import, migrate and index content from legacy PDF document storage into your document management and business process applications.

Read The Object Reference   
How To Edit PDF Documents in C#

Elegant Tools to Edit PDF Documents in .Net

From merging, to splitting, to editing PDFs, use your development skills to output exactly the right PDF at the right time. IronPDF puts a growing array of feature sets directly into your hands, inside your C# / VB.Net Project.

Clear Documentation
Convert HTML5, JS, CSS and Image files to PDF documents using  .Net Code.

Works With Documents You Already have

Point IronPDF at your existing HTML, ASPX forms, MVC views and image files to convert directly to PDF. This utilizes your existing assets and web pages to render your data in PDF format.

Get to Hello-World in 5 minutes  
Visual Studio Library for PDF Creation and Content Editing.

Rapid Installation With Microsoft Visual Studio

IronPDF puts PDF generation and manipulation tools in your own hands quickly with fully intellisense support and a Visual Studio installer. Whether installing directly from NuGet with Visual Studio or downloading the DLL, you'll be set up in no time. Just one DLL and no dependencies.

PM > Install-Package IronPdf Download DLL
Supports:
  • .Net Framework 4.0 and above support C#, VB, F#
  • Microsoft Visual Studio. .Net Development IDE Icon
  • Nuget Installer Support for Visual Studio
  • JetBrains ReSharper C# language assistant compatible
  • Microsoft Azure C# .NET  hosting platform compatible

Licensing & Pricing

Free community development licenses. Commercial licenses from $399.

Project C# + VB.NET Library Licensing

Project

Developer C# + VB.NET Library Licensing

Developer

Organization C# + VB.NET Library Licensing

Organization

Agency C# + VB.NET Library Licensing

Agency

SaaS C# + VB.NET Library Licensing

SaaS

OEM C# + VB.NET Library Licensing

OEM

View Full License Options  

C# PDF Tutorials From Our Community

Tutorial + Code Examples ASPX to PDF | ASP.NET Tutorial

C#PDFASP.NETASPX

Jacob Müller Software Product Designer @ Team Iron

ASPX to PDF | ASP.NET Tutorial

Learn how to turn any ASP.Net ASPX page into a PDF document into a PDF instead of HTML using a single line of code in C# or VB.Net…

View Jacob's ASPX-To-PDF Example
Tutorial + Code Examples C# HTML to PDF | C Sharp & VB.Net Tutorial

C#PDFHTML

Jean Ashberg .Net Software Engineer

C# HTML to PDF | C Sharp & VB.Net Tutorial

For many this is the most efficient way to generate PDF files from .Net, because there is no additional API to learn, or complex design system to navigate…

See Jean's HTML-To-PDF Examples
Tutorial + Code Examples VB.Net PDF Creation and Editing | VB.Net & ASP.Net PDF

VBPDFASP.NET

Veronica Sillar .Net Software Engineer

VB.Net PDF Creation and Editing | VB.Net & ASP.Net PDF

Learn how to create and edit PDF documents in VB.Net applications and websites. A frich tutorial with code examples.…

View Veronica's Vb.Net PDF Tutorial



Thousands of developers use IronPDF for...

Accounting and Finance Systems

  • # Recepits
  • # Reporting
  • # Invoice Printing
Add PDF Support to ASP.Net Accounting and Finance Systems

Business Digitization

  • # Documentation
  • # Ordering & Labelling
  • # Paper Replacement
C# Business Digitization Use Cases

Enterprise Content Management

  • # Content Production
  • # Document Management
  • # Content Distribution
.Net CMS PDF Support

Data and Reporting Applications

  • # Performance Tracking
  • # Trend Mapping
  • # Reports
C# PDF Reports
Join Them Today
Iron Software Enterprise .Net Component Developers

Thousands of corporations, governments, SME's and developers alike trust Iron software products.

Iron's team have over 10 years experience in the .Net software component market.

Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon
Iron Pdf Customer Icon