Skip to footer content
USING IRONPDF

How to Open a PDF File in C#

As one of the most popular formats for digital documents, PDF allows users to generate invoices, print bank statements, and so much more. PDFs also allow users to sign documents digitally, as well as provide secure authentication. Learn about IronPDF abilities for creating, reading, and editing PDFs with ease. In this article, we are going to generate a PDF file in C# using IronPDF's C# integration and read the PDF using Acrobat Reader/Adobe Reader. We are also going to read the PDF file in C# using IronPDF.

How to Open PDF in C#

  1. Open Visual Studio and install the IronPdf NuGet Package
  2. Adding references to the code - enabling the use of available classes and functions
  3. Declare a common object for ChromePdfRenderer
  4. Using the RenderHtmlAsPdf function
  5. Using System.Diagnostics.Process.Start

1. Open Visual Studio and Install the NuGet Package

Open Visual Studio and go to the "File menu." Select "New Project," then select Console Application/Windows Forms/WPF Application. IronPDF can be used on all applications. You can also use it in apps such as Webform, MVC/MVC Core.

How to Open a PDF File in C#, Figure 1: Create a new project in Visual Studio Create a new project in Visual Studio

Enter the project name and select the file path in the appropriate text box. Then click the "Create" button. Next, select the required .NET Framework. Now the project will generate the structure for the selected application. If you have selected the console application, it will now open the Program.cs file where you can enter the code and build/run the application.

How to Open a PDF File in C#, Figure 2: Configure .Net project in Visual Studio Configure .Net project in Visual Studio

Next Install NuGet Package Install IronPdf from NuGet

Left-click the project and a menu will pop up. Select NuGet Package Manager from the menu and search for IronPDF. Select the first result in the NuGet Package dialog and click the Install/Download option.

How to Open a PDF File in C#, Figure 3: Install IronPdf package in NuGet Package Manager Install IronPdf package in NuGet Package Manager

Alternatively:

In Visual Studio go to Tools -> NuGet Package Manager -> Package Manager Console

Enter the following code on the Package Manager Console tab.

Install-Package IronPdf

Now the package will download/install on the current project and it is ready to use in the code.

2. Adding Reference to the Code - Enabling the use of available classes and functions

Add the reference IronPdf to the code as shown below. This will allow us to use the class and functions available from IronPdf in our code.

3. Declare a Common Object for ChromePdfRenderer

Declaring a common object for ChromePdfRenderer from IronPDF will help you convert any web page or HTML snippet into a PDF using IronPDF. By creating a common object, we will be able to use it without creating any more objects of the same class, allowing us to reuse the code more than once. Multiple functions can be used to create PDF files with IronPDF. We can use strings, transform URLs into PDF, or HTML files and convert them into PDFs, which can then be saved to the desired location.

We can also use a static function without creating any object for the ChromePdfRenderer. The static function is as follows:

We can use any one of these static methods to generate a PDF file. We can also include setting various PDF document options such as margins, titles, DPI, headers, footers, text, etc. By using ChromePdfRenderOptions, we can pass parameters to any one of these static methods.

We can declare the ChromePdfRenderOptions as common or individual for every PDF document. It is very simple and easy to use. We are going to use any one of the non-static functions to generate a PDF file and save it to a default location.

4. Using the RenderHtmlAsPdf

We can use any one of the above IronPDF functions to create a PDF. If you are using the function name RenderHtmlAsPdf, then pass any string as a parameter and then use the SaveAs Pdf file option from IronPDF function to save the PDF at the desired file path. While using the SaveAs function, we need to pass the filename and location as parameters, or if we are using a Windows application, we can use the SaveAs dialog to save the PDF file to the desired location. With the help of an HTML string, we can format the PDF document. Also, we can use CSS for designing text in PDF via HTML, and we can use any HTML tag to design a PDF document, as IronPDF does not have any restrictions on using HTML tags.

When we use large HTML text, it is difficult to add all the HTML text to the text box, so we can use another method which we have referred to above as RenderHtmlFileAsPdf, which will help us to convert all the HTML into a PDF document. With this method, we can add large HTML files. Also, we can include an external CSS file in these HTML files, as well as external images, etc.

IronPDF also helps us print data from any links using the RenderUrlAsPdf function. This function processes the link to generate a PDF and saves the PDF files to the desired file path using the SaveAs function. This IronPDF function will include the CSS and all the images available on the site.

The following code shows an example of the IronPDF function.

using IronPdf; // Ensure you add the IronPdf namespace

// Create an instance of the ChromePdfRenderer class
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render a PDF from a simple HTML string
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello IronPdf");

// Specify the path where the resulting PDF will be saved
var outputPath = "DemoIronPdf.pdf";

// Save the PDF document to the specified path
pdf.SaveAs(outputPath);

// Open the resulting PDF document using the default associated application
System.Diagnostics.Process.Start(outputPath);
using IronPdf; // Ensure you add the IronPdf namespace

// Create an instance of the ChromePdfRenderer class
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render a PDF from a simple HTML string
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello IronPdf");

// Specify the path where the resulting PDF will be saved
var outputPath = "DemoIronPdf.pdf";

// Save the PDF document to the specified path
pdf.SaveAs(outputPath);

// Open the resulting PDF document using the default associated application
System.Diagnostics.Process.Start(outputPath);
Imports IronPdf ' Ensure you add the IronPdf namespace

' Create an instance of the ChromePdfRenderer class
Private renderer As New ChromePdfRenderer()

' Render a PDF from a simple HTML string
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("Hello IronPdf")

' Specify the path where the resulting PDF will be saved
Private outputPath = "DemoIronPdf.pdf"

' Save the PDF document to the specified path
pdf.SaveAs(outputPath)

' Open the resulting PDF document using the default associated application
System.Diagnostics.Process.Start(outputPath)
$vbLabelText   $csharpLabel

This example shows how we can use the IronPDF function to generate a PDF file from a string. In this code, we have created an instance object for the ChromePdfRenderer, and then by using the instance object with the help of RenderHtmlAsPdf, we generate the PDF file. Then, by using the SaveAs IronPDF function, we can save the PDF file on the given path. If we don't specify a file path, it will be saved at the execution location in the program.

5. Using System.Diagnostics.Process.Start to Preview the PDF file

For this last step, we are using System.Diagnostics.Process.Start to preview a PDF file. This function invokes the command line function to open the PDF file from the path. If we have a PDF reader, it will open the saved PDF file in the reader. If we do not have a PDF reader, it will open with a dialog, and from the dialog, we need to select the program to open the PDF.

How to Open a PDF File in C#, Figure 4: The PDF file displayed in a default PDF Reader The PDF file displayed in a default PDF Reader

We can read PDF files using IronPDF, and this will read the PDF document line-by-line. We are even able to open a password-restricted PDF file using IronPDF. The following code demonstrates how to read a PDF document.

using IronPdf; // Ensure you add the IronPdf namespace

// Open a password-protected PDF
PdfDocument pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Extract all text from the PDF document
string allText = pdf.ExtractAllText();

// Extract all images from the PDF document
IEnumerable<System.Drawing.Image> allImages = pdf.ExtractAllImages();

// Iterate through each page in the document
for (var index = 0; index < pdf.PageCount; index++)
{
    // Page numbers are typically 1-based, so add 1 to the index
    int pageNumber = index + 1;

    // Extract text from the current page
    string text = pdf.ExtractTextFromPage(index);

    // Extract images from the current page
    IEnumerable<System.Drawing.Image> images = pdf.ExtractImagesFromPage(index);
}
using IronPdf; // Ensure you add the IronPdf namespace

// Open a password-protected PDF
PdfDocument pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Extract all text from the PDF document
string allText = pdf.ExtractAllText();

// Extract all images from the PDF document
IEnumerable<System.Drawing.Image> allImages = pdf.ExtractAllImages();

// Iterate through each page in the document
for (var index = 0; index < pdf.PageCount; index++)
{
    // Page numbers are typically 1-based, so add 1 to the index
    int pageNumber = index + 1;

    // Extract text from the current page
    string text = pdf.ExtractTextFromPage(index);

    // Extract images from the current page
    IEnumerable<System.Drawing.Image> images = pdf.ExtractImagesFromPage(index);
}
Imports IronPdf ' Ensure you add the IronPdf namespace

' Open a password-protected PDF
Private pdf As PdfDocument = PdfDocument.FromFile("encrypted.pdf", "password")

' Extract all text from the PDF document
Private allText As String = pdf.ExtractAllText()

' Extract all images from the PDF document
Private allImages As IEnumerable(Of System.Drawing.Image) = pdf.ExtractAllImages()

' Iterate through each page in the document
For index = 0 To pdf.PageCount - 1
	' Page numbers are typically 1-based, so add 1 to the index
	Dim pageNumber As Integer = index + 1

	' Extract text from the current page
	Dim text As String = pdf.ExtractTextFromPage(index)

	' Extract images from the current page
	Dim images As IEnumerable(Of System.Drawing.Image) = pdf.ExtractImagesFromPage(index)
Next index
$vbLabelText   $csharpLabel

The above code shows how we can read PDF files using IronPDF. IronPDF first reads the PDF document from the entered string filename, and it also allows users to include a password if there is one. It will read all the lines. This is very useful when we need to get data from a PDF, as it reduces the amount of manual work and does not require any human supervision.

Check out our code samples on PDF security and password handling.

Conclusion

IronPDF provides a simple and easy way to create a PDF with straightforward steps. The IronPDF library can be used in various environments such as Windows Forms, mobile apps, and web apps using .NET Framework or .Net Core's latest version. We don't need a separate library for each platform. We only need IronPDF to generate the PDF.

IronPDF offers a free trial key and you can currently buy five products from Iron Software for a bundled price package.

You can download a C# file project to help get started with IronPdf.

Frequently Asked Questions

What is this library used for PDF manipulation in C#?

IronPDF is a library that allows developers to create, read, and edit PDF files in C# effortlessly. It supports features like password protection and integration with various .NET applications.

How do I open a PDF file in C# using a PDF library?

To open a PDF file in C# using IronPDF, first install the IronPdf NuGet package in Visual Studio. Then, use IronPDF's classes and functions to create or read PDF files as demonstrated in the provided code examples.

How can I install a PDF library NuGet package in Visual Studio?

To install the IronPdf NuGet package, open Visual Studio, select your project, go to 'Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution', search for IronPDF, and click 'Install'. Alternatively, use the Package Manager Console and run 'Install-Package IronPdf'.

Can I use a PDF library to open password-protected PDF files?

Yes, IronPDF can open password-protected PDF files. You need to provide the password when opening the file using IronPDF's functions.

What are the steps to create a PDF file in C# using a PDF library?

To create a PDF file in C# using IronPDF, install the IronPdf NuGet package, create an instance of ChromePdfRenderer, use the RenderHtmlAsPdf function with your HTML content, and save the output using the SaveAs function.

Does this PDF library support adding CSS to PDFs?

Yes, IronPDF supports adding CSS to PDFs. You can design your PDF using CSS styles within HTML content that you convert to a PDF using IronPDF.

How can I preview a PDF file after generating it with a PDF library?

After generating a PDF file with IronPDF, you can preview it using System.Diagnostics.Process.Start to open the PDF file with the default PDF reader application.

Can this PDF library extract text and images from a PDF file?

Yes, IronPDF can extract text and images from a PDF file. You can use functions like ExtractAllText and ExtractAllImages to retrieve content from a PDF document.

What environments support this PDF manipulation library?

IronPDF supports various environments, including Windows Forms, mobile apps, and web apps using both .NET Framework and .NET Core.

Is there a trial version available for this PDF library?

Yes, IronPDF offers a free trial key that allows users to test its features before purchasing a license.

Chipego
Software Engineer
Chipego has a natural skill for listening that helps him to comprehend customer issues, and offer intelligent solutions. He joined the Iron Software team in 2023, after studying a Bachelor of Science in Information Technology. IronPDF and IronOCR are the two products Chipego has been focusing on, but his knowledge of all products is growing daily, as he finds new ways to support customers. He enjoys how collaborative life is at Iron Software, with team members from across the company bringing their varied experience to contribute to effective, innovative solutions. When Chipego is away from his desk, he can often be found enjoying a good book or playing football.