PDF Viewer in VB.NET Source code and Tutorial

PDF Viewer in VB.NET Source code and Tutorial

Problem

Create a Windows Form Application program in Visual Basic.Net that will allow users to view pdf.

Description

This tutorial will allow the user to open and view a pdf file within the form of visual basic.

Before the tutorial the following are required to start:

  1. Microsoft Visual Studio 2008 – Above
  2. Edraw Office Viewer Component

The tutorial starts here:

  1. Download Edraw Office Viewer Component from the internet and save it to your preferred directory.
  2. Open Microsoft Visual Studio 2012
  3. Select a New Project on the File menu.
  4. Select Visual Basic, Windows Form Application then click OK.
  5. On the solution Panel, right click the “name of your project” then click add reference
PDF Viewer in VB.NET - Step 5
PDF Viewer in VB.NET – Step 5
  1. On the reference manager, Click Browse on the left panel and check the Edraw Office Viewer Component, if it doesn’t appear, then click the Browse button on the bottom. Search and select for Edraw Office Viewer Component then click “Add”
PDF Viewer in VB.NET - Step 6
PDF Viewer in VB.NET – Step 6

­

  1. Go to COM panel, look and check for Edraw Office Viewer Component then hit “Ok” and we are ready now to design our form
PDF Viewer in VB.NET - Step 7
PDF Viewer in VB.NET – Step 7
  1. We need the following for our forms:

For the first form:

  • 9 Command Buttons – 9 buttons for New, Open, Save As, Close, Print, Print Preview, Toolbars, Automating, and Open file in read-only mode.
  • 1 Office Viewer Component– picture box where the barcode is displayed.

For the second form:

  • 5 Radio Buttons – 9 buttons for MS word, MS Excel, MS Power Point, MS Visio, and MS Project.
  • 2 Command Buttons – 2 Command Buttons for OK and cancel
  1. We will also name our form controls in this way:

For the first form(form1):

  • btnNew is the name of the command button for New.
  • btnOpen is the name of the command button for Open.
  • OpenReadOnly is the name of the command button for Open File Read-only mode.
  • btnSaveAs is the name of the command button for save as.
  • btnClose is the name of the command button for Close.
  • btnPrint is the name of the command button for Print.
  • btnPreview is the name of the command button for Print Preview.
  • btnToolbars is the name of the command button for Toolbars.
  • Automating is the name of the command button for Automating.

For the second form (dailog1):

  • OK_Button is the name of the command button for OK.
  • Cancel_Button is the name of the command button for Cancel.
  • RadioButtonWord is the name of the radio button for MS word.
  • RadioButtonExcel is the name of the radio button for MS Excel.
  • RadioButtonPpt is the name of the radio button for MS Power point.
  • RadioButtonVisio is the name of the radio button for MS Visio.
  • RadioButtonProject is the name of the radio button for MS Project.
  1. This is how we design the form. (Feel free to layout your own)
PDF Viewer in VB.NET - Step 10 Form Design
PDF Viewer in VB.NET – Step 10 Form Design

­­­

Figure 1. Design of the Form1

PDF Viewer in VB.NET - Step 10 Dialog1 Design
PDF Viewer in VB.NET – Step 10 Dialog1 Design

Figure 2. Design of the Dialog1

  1. Paste the following code to import the statement.

Code here

Imports Microsoft.Office.Interop.Word

End Code

Code Explanation:

The code imported above is to support Microsoft office word automation in the form.

  1. Paste the following codes for all the functions in each button at the first form.

Code here

Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
        If Dialog1.ShowDialog() Then
            If Dialog1.GetChooseType() = 1 Then
                AxEDOffice1.CreateNew("Word.Application")
            ElseIf Dialog1.GetChooseType() = 2 Then
                AxEDOffice1.CreateNew("Excel.Application")
            ElseIf Dialog1.GetChooseType() = 3 Then
                AxEDOffice1.CreateNew("PowerPoint.Application")
            ElseIf Dialog1.GetChooseType() = 4 Then
                AxEDOffice1.CreateNew("Visio.Application")
            ElseIf Dialog1.GetChooseType() = 5 Then
                AxEDOffice1.CreateNew("MSProject.Application")
            End If
        End If
End Sub


Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        AxEDOffice1.OpenFileDialog()
End Sub

Private Sub OpenReadOnly_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenReadOnly.Click
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableNew, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableOpen, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableOfficeButton, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableSave, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableSaveAs, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableClose, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisablePrint, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisablePrintQuick, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisablePrintPreview, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableSaveAsMenu, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableCopyButton, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableCutButton, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableUpgradeDocument, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisablePermissionRestrictMenu, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisablePrepareMenu, True)
        AxEDOffice1.DisableFileCommand(EDOfficeLib.WdUIType.wdUIDisableServerTasksMenu, True)
        AxEDOffice1.OpenFileDialog()
        If AxEDOffice1.GetCurrentProgID = "Word.Application" Then
            AxEDOffice1.WordDisableCopyHotKey(True)
            AxEDOffice1.WordDisableDragAndDrop(True)
            AxEDOffice1.WordDisablePrintHotKey(True)
            AxEDOffice1.WordDisableSaveHotKey(True)
            AxEDOffice1.DisableViewRightClickMenu(True)
            AxEDOffice1.ProtectDoc(EDOfficeLib.WdProtectType.wdAllowOnlyFormFields)
        ElseIf AxEDOffice1.GetCurrentProgID = "Excel.Application" Then
            AxEDOffice1.WordDisableCopyHotKey(True)
            AxEDOffice1.WordDisablePrintHotKey(True)
            AxEDOffice1.WordDisableSaveHotKey(True)
            AxEDOffice1.DisableViewRightClickMenu(True)
            AxEDOffice1.ProtectDoc(EDOfficeLib.XlProtectType.XlProtectTypeNormal)
        End If
End Sub

Private Sub btnSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveAs.Click
        AxEDOffice1.SaveFileDialog()
End Sub

Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
        AxEDOffice1.CloseDoc()
End Sub

Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
        AxEDOffice1.PrintDialog()
End Sub

Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
        AxEDOffice1.PrintPreview()
End Sub

Private Sub btnToolbars_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToolbars.Click
        If AxEDOffice1.Toolbars = True Then
            AxEDOffice1.Toolbars = False
        Else
            AxEDOffice1.Toolbars = True
        End If
End Sub

Private Sub Automating_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Automating.Click
        If AxEDOffice1.GetCurrentProgID() = "Word.Application" Then
            Dim word = AxEDOffice1.GetApplication()
            word.Selection.TypeText("This the First text")
        ElseIf AxEDOffice1.GetCurrentProgID() = "Excel.Application" Then
            Dim excel = AxEDOffice1.ActiveDocument()
            Dim oSheet As Object = excel.Worksheets(1)
            'Dim cellValue As String = oSheet.Range("A2").Value
            oSheet.Range("A2").Value = "This is the First Text"
        End If
End Sub
End Class

End Code

Code Explanation:

The code will give functions to each button in the form 1 that will enable the user to close/open or save/create a new document, print or show a print preview, open a file in read-only mode, and automate other MS Office Applications.

  1. In another form named dialog1 and paste the code to import a statement.

Code here

Imports System.Windows.Forms

End Code

Code Explanation:

The code imported above is a name space that contains classes for creating Windows-based applications.

  1. paste the following code for the command and radio buttons.

Code here

    Dim nType As Integer = 1
    Public Function GetChooseType() As Integer
        Return nType
    End Function

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.Close()
    End Sub

    Private Sub RadioButtonWord_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonWord.CheckedChanged
        nType = 1
    End Sub

    Private Sub RadioButtonExcel_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonExcel.CheckedChanged
        nType = 2
    End Sub

    Private Sub RadioButtonPpt_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonPpt.CheckedChanged
        nType = 3
    End Sub

    Private Sub RadioButtonVisio_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonVisio.CheckedChanged
        nType = 4
    End Sub

    Private Sub RadioButtonProject_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonProject.CheckedChanged
        nType = 5
    End Sub

End Code

Code Explanation:

The ntype is an integer that will serve as a request from 1 (default) which is MS Word to 5 which is MS Project. When the OK command button is clicked, it will return the request to the form which application is going to be automated according the value of the ntype.

PDF Viewer in VB.NET - Final Output
PDF Viewer in VB.NET – Final Output

Author:

Name: Charlie Devera
Email Address: charliedevera000@gmail.com

Free Download Source code (PDF Viewer in VB.NET)

You may visit our facebook page for more information, inquiries and comments.

Hire our team to do the project.

, , ,

Post navigation