Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
using IronPdf;
using IronPdf.Engines.Chrome;
// Instantiate Renderer
var renderer = new 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.WaitFor.RenderDelay(50); // in milliseconds
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.FitToPaperMode = FitToPaperModes.Zoom;
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 cover page
renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a cover page will be appended
// Settings have been set, we can render:
renderer.RenderHtmlFileAsPdf("assets/wikipedia.html").SaveAs("output/my-content.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
<p>IronPDF aims to be as flexible as possible for the developer.</p> <p>In this <a href="/blog/using-ironpdf/csharp-generate-pdf-tutorial/" target="_blank" rel="nofollow noopener noreferrer">C# PDF Generation Tutorial Example</a>, we show the balance between providing an API that automates internal functionality and providing one that gives you control.</p> <p>IronPDF supports many customizations for generated PDF files, including: page sizing, page margins, header/footer content, content scaling, CSS rulesets, and JavaScript execution.</p> <hr class="separator"> <p>We want developers to be able to control how Chrome turns a web page into a PDF. The <a href="/object-reference/api/IronPdf.ChromePdfRenderOptions.html" target="_blank" rel="nofollow noopener noreferrer"><code>ChromePdfRenderer</code> Class Overview</a> makes this possible.</p> <p>Examples of settings available on the <code>ChromePDFRenderOptions</code> class include settings for margins, headers, footers, paper size, and form creation.</p>
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
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
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Dim 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
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
<p>IronPDF allows developers to create PDF documents easily in C#, F#, and VB.NET for .NET Core and .NET Framework.</p> <p>In this example, we show that a PDF document can be rendered from any HTML. This allows us to create PDFs that closely match the branding of existing websites.</p> <p>You can choose simple HTML like the above, or incorporate CSS, images, and JavaScript.</p> <p>This <a href="/tutorials/html-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">HTML to PDF conversion tutorial</a> also allows PDF design to be delegated to web designers, rather than be tasked to back-end coders.</p> <p>IronPDF uses a <a href="/how-to/pixel-perfect-html-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">pixel perfect Chrome rendering engine guide</a> to turn your HTML5 with CSS3 and JavaScript support into PDF documents. This can take the form of strings, external files, or external URLs, all of which can be rendered to PDF easily using IronPDF.</p>
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
<p>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.</p> <p>Rendering PDFs from ASP.NET URLs that accept query string variables can facilitate smooth PDF development as a collaborative effort between designers and coders.</p> <hr /> <h2 id="anchor-steps-to-convert-url-to-pdf-in-c">Steps to Convert URL to PDF in C</h2> <ol> <li>Download the <a href="/" target="_blank" rel="nofollow noopener noreferrer">IronPDF URL to PDF Conversion Library</a></li> <li>Install the library with NuGet to test its features</li> <li>Render PDFs from ASP.NET URLs that accept query string variables using IronPDF</li> <li>Create a PDF document directly from a URL with IronPDF</li> <li>View and validate your PDF output document easily</li> </ol>
using IronPdf;
private void Form1_Load(object sender, EventArgs e)
{
//Changes the ASPX output into a pdf instead of HTML
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Imports IronPdf
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
'Changes the ASPX output into a pdf instead of HTML
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
<p>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 <strong><code>Form_Load</code></strong> event.</p> <p>This example shows how IronPDF can produce complex, data-driven PDFs that are designed and tested as HTML first for simplicity.</p> <p>IronPDF's <a href="/how-to/aspx-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">ASPX to PDF Conversion</a> functionality allows you to call a single method within an ASPX page and have it return a PDF instead of HTML.</p> <p>You can code the PDF to either display "in-browser," or to behave as a file download.</p>
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from an existing HTML file using C#
Private pdf = renderer.RenderHtmlFileAsPdf("example.html")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
<p>One of the easiest ways to use IronPDF is to tell it to render an HTML file.</p> <p>IronPDF can render any HTML file saved on a machine.</p> <p>In this <a href="/tutorials/html-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">HTML to PDF tutorial</a>, we show that all relative assets such as CSS, images, and JavaScript will be rendered as if the file had been opened using the <code>file://</code> protocol.</p> <p>This method has the advantage of allowing the developer the opportunity to test the HTML content in a browser during development. They can, in particular, test the fidelity in rendering. We recommend Chrome, as it is the web browser on which IronPDF's rendering engine is based.</p> <p>If it looks right in Chrome, then it will be <a href="/how-to/pixel-perfect-html-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">pixel-perfect rendering of HTML to PDF</a> in IronPDF as well.</p>
using IronPdf;
var PdfOptions = new IronPdf.ChromePdfRenderOptions()
{
CreatePdfFormsFromHtml = true,
EnableJavaScript = false,
Title = "My ASPX Page Rendered as a PDF"
//.. many more options available
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "MyPdfFile.pdf", PdfOptions);
Imports IronPdf
Private PdfOptions = New IronPdf.ChromePdfRenderOptions() With {
.CreatePdfFormsFromHtml = True,
.EnableJavaScript = False,
.Title = "My ASPX Page Rendered as a PDF"
}
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "MyPdfFile.pdf", PdfOptions)
<p>This example demonstrates how the user can change PDF print options to turn form into HTML.</p> <p>IronPDF's <a href="/how-to/aspx-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">ASPX to PDF Conversion Guide</a> functionality has many options available for rendering HTML to PDF from a string or a file.</p> <p>Two options of particular importance are:</p> <ul> <li>Allowing developers to specify if HTML forms should be rendered as interactive PDF forms during conversion.</li> <li>Allowing developers to specify if the PDF should be displayed "in browser," or as a file download.</li> </ul>
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 = 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
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 = 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
<p>Construct a PDF from one or more image files using the <code>IronPdf.ImageToPdfConverter</code> class.</p> <h2 id="anchor-how-to-convert-an-image-to-a-pdf-in-c-num">How to Convert an Image to a PDF in C#</h2> <p>Given a single image located on a computer at <code>C:\images\example.png</code>, we can convert it quickly into a PDF document by calling the <code>IronPdf.ImageToPdfConverter.ImageToPdf</code> method with its file path:</p> <pre class='naked-code'><code class="language-cs">IronPdf.ImageToPdfConverter.ImageToPdf(@"C:\images\example.png").SaveAs("example.pdf");</code></pre> <div class="code-content code-content-inner"> <div class="code_window" > <div class="language-selection__content-page-wrapper"> </div> <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Click to copy" class=" code-window__action-button code-window__action-button--copy copy-clipboard " data-copy-text="Click to copy" data-copied-text="Copied to clipboard" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Full Screen Mode" class=" code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal " > <i class="fas fa-expand"></i> </button> <button title="Exit Full Screen" class=" code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal " > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-cs"><code>IronPdf.ImageToPdfConverter.ImageToPdf(@"C:\images\example.png").SaveAs("example.pdf");</code></pre> <pre class="prettyprint linenums lang-vb"><code>IronPdf.ImageToPdfConverter.ImageToPdf("C:\images\example.png").SaveAs("example.pdf")</code></pre> </div> <div class="code_window_bottom"> <span class="language_selection"> <span class="ls-span">VB </span> <span> <label class="switch"> <input type="checkbox" checked="checked"> <span class="slider round"></span> </label> </span> <span class="ls-span">C#</span> </span> </div> </div> </div> <h2 id="anchor-combine-multiple-images-into-a-pdf-file">Combine Multiple Images Into a PDF File</h2> <p>We can also convert images to PDFs in batch into a single PDF document using <code>System.IO.Directory.EnumerateFiles</code> along with <code>ImageToPdfConverter.ImageToPdf</code>:</p> <pre class='naked-code'><code class="language-cs">string sourceDirectory = "D:\web\assets"; string destinationFile = "JpgToPDF.pdf"; var imageFiles = Directory.EnumerateFiles(sourceDirectory, "*.jpg"); ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs(destinationFile);</code></pre> <div class="code-content code-content-inner"> <div class="code_window" > <div class="language-selection__content-page-wrapper"> </div> <div class="code_window_content"> <div class="code-window__action-buttons-wrapper code-window__action-buttons-wrapper--content-page"> <button title="Click to copy" class=" code-window__action-button code-window__action-button--copy copy-clipboard " data-copy-text="Click to copy" data-copied-text="Copied to clipboard" data-clipboard-id="code-explorer" data-placement="bottom" > <i class="fa-kit fa-copy-example"></i> </button> <button title="Full Screen Mode" class=" code-window__action-button code-window__action-button--full-screen js-full-screen-code-example-modal " > <i class="fas fa-expand"></i> </button> <button title="Exit Full Screen" class=" code-window__action-button code-window__action-button--exit-full-screen js-exit-full-screen-code-example-modal " > <i class="fas fa-compress"></i> </button> </div> <pre class="prettyprint linenums lang-cs"><code>string sourceDirectory = "D:\web\assets"; string destinationFile = "JpgToPDF.pdf"; var imageFiles = Directory.EnumerateFiles(sourceDirectory, "*.jpg"); ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs(destinationFile);</code></pre> <pre class="prettyprint linenums lang-vb"><code>Dim sourceDirectory As String = "D:\web" & ChrW(7) & "ssets" Dim destinationFile As String = "JpgToPDF.pdf" Dim imageFiles = Directory.EnumerateFiles(sourceDirectory, "*.jpg") ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs(destinationFile)</code></pre> </div> <div class="code_window_bottom"> <span class="language_selection"> <span class="ls-span">VB </span> <span> <label class="switch"> <input type="checkbox" checked="checked"> <span class="slider round"></span> </label> </span> <span class="ls-span">C#</span> </span> </div> </div> </div> <p>Explore more about <a href="/how-to/image-to-pdf/" target="_blank" rel="nofollow noopener noreferrer">converting images to PDFs using IronPDF</a> to enhance your applications, or visit the <a href="https://ironsoftware.com" target="__blank">Iron Software website</a> to discover the entire suite of developer tools offered by Iron Software, including IronBarcode, IronOCR, and more.</p>
using IronPdf;
using System;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
// Radio Button and Checkbox can also be implemented with input type 'radio' and 'checkbox'
const string 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=''> <br>
<br>
<p>Please specify your gender:</p>
<input type='radio' id='female' name='gender' value= 'Female'>
<label for='female'>Female</label> <br>
<br>
<input type='radio' id='male' name='gender' value='Male'>
<label for='male'>Male</label> <br>
<br>
<input type='radio' id='non-binary/other' name='gender' value='Non-Binary / Other'>
<label for='non-binary/other'>Non-Binary / Other</label>
<br>
<p>Please select all medical conditions that apply:</p>
<input type='checkbox' id='condition1' name='Hypertension' value='Hypertension'>
<label for='condition1'> Hypertension</label><br>
<input type='checkbox' id='condition2' name='Heart Disease' value='Heart Disease'>
<label for='condition2'> Heart Disease</label><br>
<input type='checkbox' id='condition3' name='Stoke' value='Stoke'>
<label for='condition3'> Stoke</label><br>
<input type='checkbox' id='condition4' name='Diabetes' value='Diabetes'>
<label for='condition4'> Diabetes</label><br>
<input type='checkbox' id='condition5' name='Kidney Disease' value='Kidney Disease'>
<label for='condition5'> Kidney Disease</label><br>
</form>
</body>
</html>";
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(formHtml).SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
// Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
// Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
FormDocument.SaveAs("FilledForm.pdf");
Imports IronPdf
Imports System
' Step 1. Creating a PDF with editable forms from HTML using form and input tags
' Radio Button and Checkbox can also be implemented with input type 'radio' and 'checkbox'
Private Const formHtml As String = "
<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=''> <br>
<br>
<p>Please specify your gender:</p>
<input type='radio' id='female' name='gender' value= 'Female'>
<label for='female'>Female</label> <br>
<br>
<input type='radio' id='male' name='gender' value='Male'>
<label for='male'>Male</label> <br>
<br>
<input type='radio' id='non-binary/other' name='gender' value='Non-Binary / Other'>
<label for='non-binary/other'>Non-Binary / Other</label>
<br>
<p>Please select all medical conditions that apply:</p>
<input type='checkbox' id='condition1' name='Hypertension' value='Hypertension'>
<label for='condition1'> Hypertension</label><br>
<input type='checkbox' id='condition2' name='Heart Disease' value='Heart Disease'>
<label for='condition2'> Heart Disease</label><br>
<input type='checkbox' id='condition3' name='Stoke' value='Stoke'>
<label for='condition3'> Stoke</label><br>
<input type='checkbox' id='condition4' name='Diabetes' value='Diabetes'>
<label for='condition4'> Diabetes</label><br>
<input type='checkbox' id='condition5' name='Kidney Disease' value='Kidney Disease'>
<label for='condition5'> Kidney Disease</label><br>
</form>
</body>
</html>"
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(formHtml).SaveAs("BasicForm.pdf")
' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")
' Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)
' Set and Read the value of the "lastname" field
Dim LastNameField = FormDocument.Form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)
FormDocument.SaveAs("FilledForm.pdf")
<div class="alert alert-info iron-variant-1" role="alert"> Your business is spending too much on yearly subscriptions for PDF security and compliance. Consider <a href="https://ironsoftware.com/enterprise/securedoc/">IronSecureDoc, a Comprehensive PDF Security Solution</a>, which provides solutions for managing SaaS services like digital signing, redaction, encryption, and protection, all for one-time payment. <a href="https://ironsoftware.com/enterprise/securedoc/docs/">Explore IronSecureDoc Documentation</a> </div> <p>You can create editable PDF documents with IronPDF as easily as a normal document. The <code>PdfForm</code> class is a collection of user-editable form fields within a PDF document. It can be implemented into your PDF render to make it a form or an editable document.</p> <p>This example shows you how to create editable PDF forms in IronPDF.</p> <p>PDFs with editable forms can be created from HTML simply by adding <code><form></code>, <code><input></code>, and <code><textarea></code> tags to the document parts.</p> <p>The <code>PdfDocument.Form.FindFormField</code> can be used to read and write the value of any form field. The field's name will be the same as the 'name' attribute given to that field in your HTML.</p> <p>The <code>PdfDocument.Form</code> object can be used in two ways.</p> <ul> <li>The first is to populate the default value of form fields, which must be focused in Adobe Reader to display this value.</li> <li>The second is to read data from user-filled PDF forms in any language.</li> </ul>
using IronPdf;
using IronSoftware.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\example_pdf_image_*.jpg", 100, 80);
// Extract all pages as AnyBitmap objects
AnyBitmap[] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing
Private 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\example_pdf_image_*.jpg", 100, 80)
' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
<p>Use IronPDF to convert a PDF to images in your preferred file type, image dimensions, and DPI quality.</p> <p>To convert a PDF document to images, call IronPDF's <code>RasterizeToImageFiles</code> method on a <code>PdfDocument</code> object. A PDF document can be loaded using the <code>PdfDocument.FromFile</code> method or one of the available <a href="/tutorials/dotnet-core-pdf-generating/" target="_blank" rel="nofollow noopener noreferrer">PDF generation methods for .NET Core</a>.</p> <hr /> <p><div class="main-article__video-wrapper js-article-video-modal-wrapper"><iframe class="" loading="lazy" src="https://www.youtube.com/embed/1MdE_nGu0UM?start=0" title="YouTube Video Player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div></p> <hr /> <p><code>RasterizeToImageFiles</code> renders each page of the PDF as a rasterized image. The first argument specifies the naming pattern to use for each image. Optional arguments can be used to customize the quality and dimensions for each image. Another option allows the method to convert selected pages from the PDF into images.</p> <p>Line 24 of the featured code example demonstrates the <code>ToBitMap</code> method. Call this method on any <code>PdfDocument</code> object to quickly convert the PDF into <code>AnyBitmap</code> objects that can be saved to files or manipulated as needed.</p> <hr /> <div class="hsg-featured-snippet"> <h2>How to Convert a PDF to Images in C#</h2> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPdf/" target="_blank" rel="nofollow noopener noreferrer">Install the PDF to image C# library</a></li> <li>Import existing PDF file with <code>FromFile</code> method</li> <li>Convert PDF to image using <code>RasterizeToImageFiles</code> method</li> <li>Specify save directory and image size</li> <li>Check the output images</li> </ol> </div>
using IronPdf;
using IronPdf.Signing;
// 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 ChromePdfRenderer();
var 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
SigningContact = "support@ironsoftware.com",
SigningLocation = "Chicago, USA",
SigningReason = "To show how to sign a PDF"
};
//Step 3. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.Sign(signature);
//Step 4. The PDF is not signed until saved to file, steam or byte array.
doc.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
' 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 ChromePdfRenderer()
Dim 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
Dim signature = New IronPdf.Signing.PdfSignature("Iron.pfx", "123456") With {
.SigningContact = "support@ironsoftware.com",
.SigningLocation = "Chicago, USA",
.SigningReason = "To show how to sign a PDF"
}
'Step 3. Sign the PDF with the PdfSignature. Multiple signing certificates may be used
doc.Sign(signature)
'Step 4. The PDF is not signed until saved to file, steam or byte array.
doc.SaveAs("signed.pdf")
<div class="alert alert-info iron-variant-1" role="alert"> Your business is spending too much on yearly subscriptions for PDF security and compliance. Consider <a href="https://ironsoftware.com/enterprise/securedoc/">IronSecureDoc</a>, which provides solutions for managing SaaS services like digital signing, redaction, encryption, and protection, all for one-time payment. <a href="https://ironsoftware.com/enterprise/securedoc/docs/">Explore IronSecureDoc documentation</a>. </div> <p>IronPDF has options to digitally sign new or existing PDF files using .pfx and .p12 X509Certificate2 digital certificates.</p> <p>Once a PDF is signed, it cannot be modified without the certificate being invalidated. This ensures fidelity.</p> <p>To generate a signing certificate for free using Adobe Reader, please read <a href="https://helpx.adobe.com/acrobat/using/digital-ids.html" target="_blank" rel="nofollow noopener noreferrer">Adobe's guide on digital IDs</a>.</p> <p>In addition to cryptographic signing, a handwritten signature image or company stamp image may also be used to sign using IronPDF.</p> <p>You can download a sample project that demonstrates PDF digital signing using IronPDF from this <a href="https://ironpdf.com/downloads/digitally-sign-pdf.zip" target="_blank" rel="nofollow noopener noreferrer">IronPDF digitally sign PDF sample project</a>.</p>
using IronPdf;
using System.Collections.Generic;
// Instantiate Renderer
var renderer = new 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"));
var 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("excerpt.pdf");
foreach (var eachPdf in pdfs)
{
eachPdf.Dispose();
}
Imports IronPdf
Imports System.Collections.Generic
' Instantiate Renderer
Private renderer = New 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"))
Dim 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("excerpt.pdf")
For Each eachPdf In pdfs
eachPdf.Dispose()
Next eachPdf
<p>IronPDF offers <a href="/features/" target="_blank" rel="nofollow noopener noreferrer">50+ features</a> for reading and editing PDFs. The most popular are <a href="/how-to/merge-or-split-pdfs/" target="_blank" rel="nofollow noopener noreferrer">merging PDFs</a>, <a href="/examples/copy-pdf-page-to-another-pdf-file/" target="_blank" rel="nofollow noopener noreferrer">cloning pages</a>, and <a href="/how-to/rotating-text/" target="_blank" rel="nofollow noopener noreferrer">extracting text from rotated content</a>.</p> <p>IronPDF also allows its users to add watermarks, rotate pages, add annotations, digitally sign PDF pages, create new PDF documents, attach cover pages, customize PDF sizes, and much more when generating and formatting PDF files. Moreover, it supports conversion of PDFs into all conventional image file types, including JPG, BMP, JPEG, GIF, PNG, TIFF, etc.</p> <p>Read <a href="/tutorials/csharp-edit-pdf-complete-tutorial/" target="_blank" rel="nofollow noopener noreferrer">the C# PDF editing tutorial</a> to learn how to make full use of IronPDF to modify PDF documents to best suit project requirements.</p> <hr /> <div class="hsg-featured-snippet"> <h2>How to Edit PDF files in C#</h2> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPdf/" target="_blank" rel="nofollow noopener noreferrer">Install the C# library that can edit PDF files</a></li> <li>Utilize `FromFile` method to import multiple PDF files</li> <li>Access and modify PDF file using intuitive APIs in C#</li> <li>Save the updated version as a new PDF using C#</li> <li>View the newly edited PDF document</li> </ol> </div>
using IronPdf;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get file metadata
System.Collections.Generic.List<string> metadatakeys = pdf.MetaData.Keys(); // returns {"Title", "Creator", ...}
// Remove file metadata
pdf.MetaData.RemoveMetaDataKey("Title");
metadatakeys = pdf.MetaData.Keys(); // return {"Creator", ...} // title was deleted
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = System.DateTime.Now;
// 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 encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
pdf.SaveAs("secured.pdf");
Imports System
Imports IronPdf
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Get file metadata
Private metadatakeys As System.Collections.Generic.List(Of String) = pdf.MetaData.Keys() ' returns {"Title", "Creator", ...}
' Remove file metadata
pdf.MetaData.RemoveMetaDataKey("Title")
metadatakeys = pdf.MetaData.Keys() ' return {"Creator", ...} // title was deleted
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' 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 encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret" ' password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable" ' password to open the pdf
pdf.SaveAs("secured.pdf")
<p>Granular metadata 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 are supported.</p>
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
<p>IronPDF provides methods to 'watermark' PDF documents with HTML.</p> <p>Using the <code>ApplyStamp</code> method, developers can add an HTML-based watermark to a PDF file. As shown in the example above, the HTML code for the watermark goes as the first argument to the method. Additional arguments to <code>ApplyStamp</code> control the rotation, opacity, and position of the watermark.</p> <p>Utilize the <code>ApplyStamp</code> method in lieu of the <code>ApplyWatermark</code> method for more granular control over watermark placement. For example, use <code>ApplyStamp</code> to:</p> <ul> <li>Add Text, Image, or HTML watermarks to PDFs</li> <li>Apply the same watermark to every page of the PDF</li> <li>Apply different watermarks to specific PDF pages</li> <li>Adjust the placement of watermarks in front or behind page copy</li> <li>Adjust the opacity, rotation, and alignment of watermarks with more precision</li> </ul> <hr /> <div class="hsg-featured-snippet"> <h2>How to Add Watermarks to PDF Files in C#</h2> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPdf/" target="_blank" rel="nofollow noopener noreferrer">Download and install the IronPDF library from NuGet.</a></li> <li>Create a new <code>PdfDocument</code> or use an existing <code>PdfDocument</code> file.</li> <li>Call the <code>ApplyWatermark</code> method to add watermarks to the PDF.</li> <li>Export the PDF file by calling <code>SaveAs</code>.</li> </ol> </div>
using IronPdf;
// With IronPDF, we can easily merge 2 PDF files using one as a background or foreground
var renderer = new ChromePdfRenderer();
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 background or foreground
Private renderer = New ChromePdfRenderer()
Private 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")
<p>You may want to use a specific background and foreground as you create and render your PDF documents in IronPDF. In such a case, you can use an existing or rendered PDF as the background or foreground for another PDF document. This is particularly useful for design consistency and templating.</p> <p>This example shows you how to use a PDF document as the background or foreground of another PDF document.</p> <p>You can do this in C# by loading or creating a multi-page PDF as an <code>IronPdf.PdfDocument</code> object.</p> <p>You can add backgrounds using <code>PdfDocument.AddBackgroundPdf</code>. For more details on background insertion methods, refer to the <a href="/object-reference/api/IronPdf.PdfDocument.html#IronPdf_PdfDocument_AddBackgroundPdf_IronPdf_PdfDocument_System_Int32_" target="_blank" rel="nofollow noopener noreferrer">IronPDF.PdfDocument background documentation</a>; it describes several background insertion methods and their overrides. This adds a background to each page of your working PDF. The background is copied from a page in another PDF document.</p> <p>You can add foregrounds, also known as "Overlays," using <code>PdfDocument.AddForegroundOverlayPdfToPage</code>. For detailed information on foreground insertion methods, consult the <a href="/object-reference/api/IronPdf.PdfDocument.html" target="_blank" rel="nofollow noopener noreferrer">IronPDF.PdfDocument overlay documentation</a>.</p>
Whether it's product, integration or licensing queries, the Iron product development team is 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 QuestionIronPDF 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.
Read the How-Tos TutorialsIronPDF 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 API ReferenceFrom 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 DocumentationPoint 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.
For ASP.NET, C#, VB, MVC, ASPX, .NET, .NET Core
Get to Hello-World in 5 minutesIronPDF 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 DLLFree community development licenses. Commercial licenses from $749.
C# PDF ASP.NET ASPX
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 ExampleC# PDF HTML
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 ExamplesVB PDF ASP.NET
Learn how to create and edit PDF documents in VB.NET applications and websites. A free tutorial with code examples.…
View Veronica's VB.NET PDF TutorialIron's team have over 10 years experience in the .NET software component market.
9 .NET API products for your office documents