ImageGear for .NET
Adding PDF Support

Once the base of the tutorial application is completed, you can extend it with PDF support using the following steps:

  1. First, you need to add reference to the ImageGear for .NET PDF Assembly.
    1. In the Solution Explorer, right-click on References, and click Add Reference.
    2. Choose the Browse tab and go to "ImageGear for .NET v21\Bin" directory.
    3. Select ImageGear21.Formats.Pdf.dll and click OK.

    You should now have the ImageGear21.Formats.Pdf assembly listed under References in the Solution Explorer.

  2. 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
  3. 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()
    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.
  4. 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()
    This will terminate the PDF engine. Every ImGearPDF.Initialize() must have a corresponding ImGearPDF.Terminate() call.
  5. 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).
  6. 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
  7. Add a call to DisposePDFObjects()to Form1_FormClosed event handler before terminating the PDF engine.
  8. 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.
  9. 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.
  10. 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:
    1. Replace
      VB .NET
      Copy Code
      Private igPage As ImGearPage
      with
      VB .NET
      Copy Code
      Private igPage As ImGearPage
      Private igDocument As ImGearDocument
    2. In loadPageToolStripMenuItem_Click find the following code:
      VB .NET
      Copy Code
      // Load the image into the page  
      igPage = ImGearFileFormats.LoadPage(stream, 0)
      and replace it with:
      VB .NET
      Copy Code
      igDocument = ImGearFileFormats.LoadDocument(stream, 0, 1)
      igPage = igDocument.Pages.Item(0)
      It does the same thing, but using the ImGearDocument API.
    3. 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
  11. Now you are ready to compile and run the finished application working with PDF documents.
     

 

 

 


©2014. Accusoft Corporation. All Rights Reserved.

Send Feedback