IronSoftware
  • Products
    Create, read, and edit PDFs Image to text in 127 languages Read and write QR & Barcodes No Office Interop required Extract structured data from websites 5 for the Price of 2 All 5 .NET product licenses from $998 Save 60% with Iron Suite Iron Suites - Donate $50
  • About Us
  • Contact Us
  • Home
  • Licensing
  • EULA
  • Support & Update Extensions
  • Get Started
  • Features
  • Code Examples
  • Tutorials
  • FAQ
  • Troubleshooting
  • API Reference
  • Search
  • Free NuGet Download
IronPDF Library for C# IronPDF Library for C#
  • Home
  • Licensing
    • Licensing
    • EULA
    • Support & Update Extensions
  • Docs
    • Search
    • Get Started
    • Features
    • Code Examples
    • Tutorials
    • FAQ
    • Troubleshooting
    • API Reference
    • Search
  • Search
  • Free NuGet Download Total downloads: 3,518,951
Message's icon

PDF Printer for C#

  • # Print PDF files to a printer in C# .NET Applications
  • # Print HTML to PDF documents in C# or VB.NET
  • # IronPDF also generates PDFs, parses PDFs
Free NuGet Download Total downloads: 3,518,951

Or download the DLL directly here

Examples

  • C# PDF Print Settings
  • Paper Printing PDFs
  • Headers & Footers
  • PDF Forms
  • HTML File to PDF
  • URL to PDF
  • HTML to PDF
  • ASPX to PDF
  • Images To PDF
  • PDF to Images
See All 45 Code Examples
C# PDF Print Settings See All 45 Code Examples
// 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")
Install-Package IronPdf
Paper Printing PDFs See All 45 Code Examples
// PM> Install-Package IronPdf
using IronPdf;

// Create a new PDF and print it
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Send the PDF to the default printer to print
// 300 DPI, no user dialog this time ... many overloads to this method
Pdf.Print(300, false); 



//For advanced printing we can also use PdfDocument.GetPrintDocument
//Remember to add an assembly reference to System.Drawing.dll or System.Drawing.Common via Nuget.

System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = Pdf.GetPrintDocument();
' PM> Install-Package IronPdf
Imports IronPdf

' Create a new PDF and print it
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf As PdfDocument = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Send the PDF to the default printer to print
' 300 DPI, no user dialog this time ... many overloads to this method
Pdf.Print(300, False)



'For advanced printing we can also use PdfDocument.GetPrintDocument
'Remember to add an assembly reference to System.Drawing.dll or System.Drawing.Common via Nuget.

Dim PrintDocYouCanWorkWith As System.Drawing.Printing.PrintDocument = Pdf.GetPrintDocument()
Install-Package IronPdf
Headers & Footers See All 45 Code Examples
// PM> Install-Package IronPdf

using IronPdf;


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

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

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

// Mergable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
' PM> Install-Package IronPdf

Imports IronPdf


Private Renderer As New IronPdf.ChromePdfRenderer()

' Add a header to every page easily
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a coverpage  will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
Renderer.RenderingOptions.TextHeader.FontSize = 12

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

' Mergable fields are:
' {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
Install-Package IronPdf
PDF Forms See All 45 Code Examples
           
// 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>";

IronPdf.ChromePdfRenderer 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>"

Private Renderer As 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
Install-Package IronPdf
HTML File to PDF Run See All 45 Code Examples
 // 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")
Install-Package IronPdf
URL to PDF Run See All 45 Code Examples
// 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")
Install-Package IronPdf
HTML to PDF Run See All 45 Code Examples
// 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
Install-Package IronPdf
ASPX to PDF See All 45 Code Examples
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
Install-Package IronPdf
Images To PDF See All 45 Code Examples
// 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
Install-Package IronPdf
PDF to Images See All 45 Code Examples
// 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()
Install-Package IronPdf

Explore the code and run it to see the sample PDFs

IronPDF

The C# PDF solution you've been looking for.

.Net Developer Support

Support

Open a support ticket with our development team.

Ask a Question
C# API Reference and Get Started Tutorials

Documentation

View code examples and tutorials.

Get Started
C# Library Licensing

Licensing

Free for development. License from $499.

See Licenses
Install The C# PDF library

Try IronPDF Free

Get set up in 5 minutes.

Download
Try IronPDF for Free
Get Set Up in 5 Minutes
C# Nuget Library for PDF
Install with NuGet
Version: 2022.5
Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. In Solution Explorer, right-click References, Manage NuGet Packages
  2. Select Browse and search "IronPdf"
  3. Select the package and install
C# PDF DLL
Download DLL
Version: 2022.5
Download Now
Manually install into your project
  1. Download and unzip IronPDF to a location such as ~/Libs within your Solution directory
  2. In Visual Studio Solution Explorer, right click References. Select Browse, "IronPdf.dll"
Licenses from $499

Have a question? Get in touch with our development team.

Now that you’ve downloaded IronPDF
Want to deploy IronPDF to a live project for FREE?
What’s included?
30 days of fully-functional product
Test and share in a live environment
No watermarks in production
Get your free 30-day Trial Key instantly.
No credit card or account creation required
Your Trial License Key has been emailed to you.
Thank you.
View your license options:
View License
Have a question? Get in touch with our development team.
Want to deploy IronPDF to a live project for FREE?
What’s included?
30 days of fully-functional product
Test and share in a live environment
No watermarks in production
Get your free 30-day Trial Key instantly.
No credit card or account creation required
Your Trial License Key has been emailed to you.
Download IronPDF free to apply
your Trial Licenses Key
Install with NuGet View Licenses
Licenses from $499. Have a question? Get in touch.
Free 30-Day Trial Key
IronPDF for .NET

When you need your PDF to look like HTML, fast.

Search

Documentation

  • Code Examples
  • API Reference
  • FAQ
  • Features
  • Blog
  • Credits
  • Product Brochure

Tutorials

  • Get Started
  • HTML to PDF
  • ASPX to PDF
  • VB.NET to PDF

Licensing

  • Buy a License
  • Support Extensions
  • Resellers
  • License Keys
  • EULA

Try IronPDF Free

  • Download on NuGet
  • Download DLL
  • 30-Day Trial License

When you need your PDF to look like HTML, fast.

Tesseract 5 OCR in the languages you need, We support 127+.

When you need to read, write, and style, QR & Barcodes, fast.

The Excel API you need, without the Office Interop hassle.

The power you need to scrape & output clean, structured data.

The complete .NET Suite for your office.

  • IRONSUITE
  • |
  • IRONPDF
  • IRONOCR
  • IRONBARCODE
  • IRONXL
  • IRONWEBSCRAPER
IronSoftware
205 N. Michigan Ave. Chicago, IL 60611 USA +1 (312) 500-3060
  • About Us
  • Contact Us

Supporting Teamseas

Copyright © Iron Software LLC 2013-2022

  • Terms
  • Privacy

Thank you!

Your license key has been delivered to the email provided. Contact us

1 week Upgrade Offer:

Save 50% on a
Professional Upgrade

Go Professional to cover 10 developers
and unlimited projects.

mailtimers.com

Upgrade to Professional

Upgrade

Professional

$600 USD

$299 USD


  • 10 developers
  • 10 locations
  • 10 projects