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 Code Imports ImageGear.Formats.PDF
- Add the following statements right before a call to InitializeComponent()in Form1 constructor:
VB .NET Copy Code ImGearFileFormats.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:
VB .NET Copy Code ImGearPDF.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 Code Private 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
VB .NET Copy Code Private igPage As ImGearPage
VB .NET Copy Code Private igPage As ImGearPage Private igDocument As ImGearDocument
- In loadPageToolStripMenuItem_Click find the following code:
VB .NET Copy Code // Load the image into the page igPage = ImGearFileFormats.LoadPage(stream, 0)
VB .NET Copy Code igDocument = 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 Code Private 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.