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#
- Open Visual Studio and install the
IronPdf
NuGet Package - Adding references to the code - enabling the use of available classes and functions
- Declare a common object for
ChromePdfRenderer
- Using the
RenderHtmlAsPdf
function - 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.
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.
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.
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)
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.
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
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.