Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
This article explores the significance of direct PDF printing and demonstrates how IronPDF, a robust C# library, can facilitate this process.
IronPDF is a powerful C# library designed to facilitate the creation, manipulation, and interaction with PDF documents. With IronPDF, developers can effortlessly generate PDFs from HTML content, images, and other sources, making it a versatile tool for both simple and complex PDF-related tasks. Its capabilities extend beyond mere PDF document generation; IronPDF also empowers you to merge, split, and manipulate PDFs in various ways. Moreover, its intuitive API makes it accessible to both beginners and experienced developers. Some of the important features include:
When working with PDFs, printing is a fundamental requirement. Printing PDFs directly from a C# application without presenting a print dialog offers several advantages. It enhances user experience by eliminating unnecessary interaction, automates printing tasks, and enables seamless integration into larger workflows. IronPDF streamlines this process, allowing developers to maintain control over the printing process while ensuring the integrity of the printed output.
Before moving on to the PDF printing process, ensure that you have the following prerequisites in place:
Creating a Visual Studio console project is a straightforward process. Follow these steps to create a new Console Application using Visual Studio:
Choose Project Template: In the "Create a new project" window, you'll see a list of project templates. Select Visual C# Console Application.
Create a new C# Console App project in Visual Studio
Configure Project Details: After selecting the template, you'll be prompted to configure the project details.
Configure your new project
You can refer to the following steps to install IronPDF in your project:
Go to the "Tools" menu and choose "NuGet Package Manager," then click on "Manage NuGet Packages for Solution."
Navigate to NuGet Package Manager
In the "Browse" tab, search for "IronPDF" in the search box.
Search for IronPDF in NuGet Package Manager UI
IronPdf
package and select it for your project, then click the "Install" button.IronPdf
NamespaceThe code begins by importing the IronPdf
and System.Drawing.Printing
namespaces, which allow the use of classes and methods from the IronPDF library, and drawing and printing options from the System namespace.
using IronPdf;
using System.Drawing.Printing;
using IronPdf;
using System.Drawing.Printing;
Imports IronPdf
Imports System.Drawing.Printing
The ChromePdfRenderer
is responsible for rendering the web page. The PdfDocument
class represents the PDF document and provides methods to perform various operations on it, including printing. The following code generates a PDF file from the IronPDF website URL (https://ironpdf.com/):
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/");
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")
In the above code sample, the first line initializes an instance of ChromePdfRenderer
from the IronPDF library, responsible for converting web pages to PDF format. The second line uses this instance to create a PdfDocument
by rendering content from a specified URL, enabling further PDF-related actions.
pdfDocument.Print(300, "Microsoft Print to PDF", "files/printedfile1.pdf");
pdfDocument.Print(300, "Microsoft Print to PDF", "files/printedfile1.pdf");
pdfDocument.Print(300, "Microsoft Print to PDF", "files/printedfile1.pdf")
The above line of code initiates the printing process for the PdfDocument
using the specified print resolution (DPI), sending it to the "Microsoft Print to PDF" printer, which is normally the default printer if no printer is installed, and saving the printed output as a PDF file named "printedfile1.pdf" in the files directory. You can change the printer name and file location as per your needs.
The PDF file is printed pixel-perfect:
Output image of the PDF file named "printedfile1.pdf"
To have more control over printing PDF files programmatically, have a look at the following code snippet with advanced options:
using (var printDocument = pdfDocument.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.PrinterSettings.PrintFileName = "files/printedfile2.pdf";
printDocument.PrinterSettings.PrintToFile = true;
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
Kind = PrinterResolutionKind.Custom,
X = 1200,
Y = 1200
};
printDocument.Print();
}
using (var printDocument = pdfDocument.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.PrinterSettings.PrintFileName = "files/printedfile2.pdf";
printDocument.PrinterSettings.PrintToFile = true;
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
Kind = PrinterResolutionKind.Custom,
X = 1200,
Y = 1200
};
printDocument.Print();
}
Using printDocument = pdfDocument.GetPrintDocument()
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
printDocument.PrinterSettings.PrintFileName = "files/printedfile2.pdf"
printDocument.PrinterSettings.PrintToFile = True
printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
.Kind = PrinterResolutionKind.Custom,
.X = 1200,
.Y = 1200
}
printDocument.Print()
End Using
In the above code snippet, IronPDF facilitates advanced PDF printing customization. It generates a PrintDocument
from a PdfDocument
, allowing customization of printer settings, printer name, output file name, and resolution. Setting the PrintFileName
is important, as it allows you to bypass the print dialog for printing. The code then triggers printing using the print method, directing the print PDF document content to a specified printer, i.e., "Microsoft Print to PDF" in this case. Finally, save the output as a PDF file. This enables seamless, dialog-free PDF printing with tailored settings.
You can also specify a page range to print a PDF document without a printer dialog and Adobe Acrobat Reader, all by incorporating IronPDF into your project. For more detailed information on printing, visit the code examples page.
After executing the project, the two output printed PDF files are generated in the specified folder without any user interaction. You can also compare the size difference with the advanced options used.
Image displaying the two printed PDF files "printedfile1.pdf" and "printedfile2.pdf"
Printing a PDF file directly from a C# application simplifies document processing and enhances the user experience. IronPDF, with its array of PDF manipulation tools, empowers developers to print PDF documents seamlessly. By integrating IronPDF into your C# project, you can take full advantage of its features.
IronPDF is a commercial library renowned for its robust PDF handling capabilities. It offers a free trial period, enabling users to test and experience its features. Following the trial, a license can be acquired for continued usage. To get started, you can download the product from the official IronPDF website.
9 .NET API products for your office documents