Once the base of the tutorial application is completed, you can extend it with PDF support using the following steps:
- First, you need to add reference to the ImageGear for .NET PDF Assembly.
- In the Solution Explorer, right-click on References, and click Add Reference.
- Choose the Browse tab and go to "ImageGear for .NET v21\Bin" directory.
- Select ImageGear21.Formats.Pdf.dll and click OK.
You should now have the ImageGear21.Formats.Pdf assembly listed under References in the Solution Explorer.

- Next, add the PDF import statement. Open the code for Form1.vb by right-clicking on the form and clicking View Code. At the top of the code, add the following statement:
VB .NET
Copy CodeImports ImageGear.Formats.PDF - Add the following statements right before a call to InitializeComponent()in Form1 constructor:
This will add PDF and PS formats to the ImageGear formats list and initialize the PDF engine. ImGearPDF.Initialize() must be called once per process, unless you are using multi-threading.
VB .NET
Copy CodeImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePDFFormat()) ImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePSFormat()) ImGearPDF.Initialize()
- Now we should add a call to terminate the PDF engine. The best place to terminate the PDF engine would be the FormClosed() event handler. Add it using the Events tab in Form1 property window and paste the following code:
This will terminate the PDF engine. Every ImGearPDF.Initialize() must have a corresponding ImGearPDF.Terminate() call.
VB .NET
Copy CodeImGearPDF.Terminate()
- The next step is to open project properties and change the output path to "...\ ImageGear for .NET v21\Bin". (As an alternative, you can define a directory containing ImageGear binaries and PDF resources explicitly, as a parameter for ImGearPDF.CreatePDFFormat, ImGearPDF.CreatePSFormat and ImGearPDF.Initialize methods).
- Now, add the following code to the main form class to dispose the PDF page object:
VB .NET
Copy CodePrivate Sub DisposePDFObjects() If Not igPage Is Nothing AndAlso TypeOf igPage Is ImGearPDFPage Then ImGearPageView1.Display = Nothing Dim page As ImGearPDFPage page = igPage page.Dispose() End If End Sub
- Add a call to DisposePDFObjects()to Form1_FormClosed event handler before terminating the PDF engine.
- Remove all "Not igPageDisplay.Page.DIB.IsEmpty" checks from all menu handlers, because PDF Page always has an empty DIB field. These checks will occur two times; disable both.
- In loadPageToolStripMenuItem_Click: remove "And Also Not igPage.DIB Is Nothing" check and add a call to DisposePDFObjects()right before the ImGearFileFormats.LoadPage call. It is required to clean up the unmanaged PDF page resources.
- And now you are ready to compile and run the finished application supporting PDF pages. If you want to deal with PDF documents, here is what needs to be added/changed:
- Replace
withVB .NET
Copy CodePrivate igPage As ImGearPage
VB .NET
Copy CodePrivate igPage As ImGearPage Private igDocument As ImGearDocument
- In loadPageToolStripMenuItem_Click find the following code:
and replace it with:VB .NET
Copy Code// Load the image into the page igPage = ImGearFileFormats.LoadPage(stream, 0)
It does the same thing, but using the ImGearDocument API.VB .NET
Copy CodeigDocument = ImGearFileFormats.LoadDocument(stream, 0, 1) igPage = igDocument.Pages.Item(0)
- Note that ImGearPDFDocument must be disposed just like ImGearPDFPage. To do it, replace the implementation of DisposePDFObjects() method with the following:
VB .NET
Copy CodePrivate Sub DisposePDFObjects() If Not igDocument Is Nothing AndAlso TypeOf igDocument Is ImGearPDFDocument Then ImGearPageView1.Display = Nothing Dim doc As ImGearPDFDocument doc = igDocument doc.Dispose() End If End Sub
- Replace
- Now you are ready to compile and run the finished application working with PDF documents.