Imports System Imports System.Drawing Imports System.Collections Imports System.ComponentModel Imports System.Windows.Forms Imports System.Data Imports pdftron Imports pdftron.PDF Imports pdftron.Filters Imports pdftron.Common Imports PDFTRON.SDF Namespace PDFViewSimpleVB Module Module1 Sub Main() PDFNet.Initialize() Dim resource_path As String = "resources" Dim found As Boolean = False Dim i As Integer = 0 While Not found AndAlso i < 7 found = PDFNet.SetResourcesPath(resource_path) If Not found Then resource_path = "../" + resource_path End If System.Threading.Interlocked.Increment(i) End While If Not found Then MessageBox.Show("PDFNet resource file 'pdfnet.res' was not found." & Microsoft.VisualBasic.Chr(10) & "Some files may not render properly.", "PDFView Error") End If Application.Run(New PDFViewSimple) PDFNet.Terminate() End Sub End Module End Namespace Public Class PDFViewSimple Inherits System.Windows.Forms.Form Private components As System.ComponentModel.Container = Nothing Private mainMenu1 As System.Windows.Forms.MainMenu Private menuItem1 As System.Windows.Forms.MenuItem Private menuItem5 As System.Windows.Forms.MenuItem Private WithEvents MenuFileOpen As System.Windows.Forms.MenuItem Private WithEvents MenuFileExit As System.Windows.Forms.MenuItem Private _pdfview As PDFView Private _pdfdoc As PDFDoc Public Sub New() InitializeComponent() _pdfview = New PDFView _pdfview.Location = New Point(0, 0) _pdfview.Dock = System.Windows.Forms.DockStyle.Fill Controls.Add(_pdfview) End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Private Sub InitializeComponent() Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(PDFViewSimple)) Me.mainMenu1 = New System.Windows.Forms.MainMenu Me.menuItem1 = New System.Windows.Forms.MenuItem Me.MenuFileOpen = New System.Windows.Forms.MenuItem Me.menuItem5 = New System.Windows.Forms.MenuItem Me.MenuFileExit = New System.Windows.Forms.MenuItem ' 'mainMenu1 ' Me.mainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuItem1}) ' 'menuItem1 ' Me.menuItem1.Index = 0 Me.menuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuFileOpen, Me.menuItem5, Me.MenuFileExit}) Me.menuItem1.Text = "File" ' 'MenuFileOpen ' Me.MenuFileOpen.Index = 0 Me.MenuFileOpen.Text = "Open.." ' 'menuItem5 ' Me.menuItem5.Index = 1 Me.menuItem5.Text = "-" ' 'MenuFileExit ' Me.MenuFileExit.Index = 2 Me.MenuFileExit.Text = "Exit" ' 'PDFViewSimple ' Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15) Me.ClientSize = New System.Drawing.Size(744, 512) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Menu = Me.mainMenu1 Me.Name = "PDFViewSimple" Me.Text = "PDFViewSimple" End Sub Private Sub menuFileOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuFileOpen.Click Dim dlg As OpenFileDialog = New OpenFileDialog dlg.CheckFileExists = True dlg.CheckPathExists = True dlg.Filter = "PDF (*.pdf)|*.pdf|All files (*.*)|*.*" dlg.DefaultExt = ".pdf" If dlg.ShowDialog = DialogResult.OK Then OpenPDF(dlg.FileName) End If End Sub Public Function OpenPDF(ByVal filename As String) As Boolean Try _pdfdoc = New PDFDoc(filename) If Not _pdfdoc.InitSecurityHandler Then Dim dlg As AuthorizeDlg = New AuthorizeDlg Dim Count As Integer = 0 Dim failed As Boolean = True While Count < 3 AndAlso failed Dim res As DialogResult = dlg.ShowDialog If res = DialogResult.OK AndAlso _pdfdoc.InitStdSecurityHandler(dlg.pass.Text) Then failed = False ElseIf res = DialogResult.Cancel Then 'the user pressed cancel so end the loop Count = 3 Else MessageBox.Show("Authorize Failed...", "PDFView Error") System.Math.Min(System.Threading.Interlocked.Increment(Count), Count - 1) End If End While If failed Then MessageBox.Show("Document authentication error", "PDFView Error") Return False End If End If _pdfview.SetDoc(_pdfdoc) Catch ex As PDFNetException MessageBox.Show(ex.Message) Return False Catch ex As Exception MessageBox.Show(ex.ToString) Return False End Try Me.Text = filename Return True End Function Private Sub MenuFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuFileExit.Click Application.Exit() End Sub End Class