Form1.vb
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Windows.Forms
Imports Bytescout.PDFViewer
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Protected Overrides Sub OnLoad(e As EventArgs)
pdfViewerControl1.InputFile = "sample.pdf"
MyBase.OnLoad(e)
End Sub
Private Sub tsbOpen_Click(sender As Object, e As EventArgs) Handles tsbOpen.Click
Using openFileDialog As New OpenFileDialog()
openFileDialog.Title = "Open PDF Document"
openFileDialog.Filter = "PDF Files (*.pdf)|*.pdf|All Files|*.*"
If openFileDialog.ShowDialog() = DialogResult.OK Then
Me.Text = openFileDialog.FileName
Cursor = Cursors.WaitCursor
Try
pdfViewerControl1.InputFile = openFileDialog.FileName
Catch exception As Exception
MessageBox.Show(exception.Message)
Finally
Cursor = Cursors.[Default]
End Try
End If
End Using
End Sub
Private Sub cbMultiSelectMode_CheckedChanged(sender As Object, e As EventArgs) Handles cbMultiSelectMode.CheckedChanged
pdfViewerControl1.MultiSelectMode = cbMultiSelectMode.Checked
End Sub
Private Sub cbAllowResizeSelection_CheckedChanged(sender As Object, e As EventArgs) Handles cbAllowResizeSelection.CheckedChanged
pdfViewerControl1.AllowResizeSelectionRectangles = cbAllowResizeSelection.Checked
End Sub
Private Sub cbLockSelection_CheckedChanged(sender As Object, e As EventArgs) Handles cbLockSelection.CheckedChanged
pdfViewerControl1.LockSelection = cbLockSelection.Checked
End Sub
Private _labels As List(Of [String]) = New List(Of String)()
Private Sub pdfViewerControl1_SelectionChanged(ByVal sender As Object, ByVal selectionChange As SelectionChange, ByVal selectionIndex As Integer) Handles pdfViewerControl1.SelectionChanged
If pdfViewerControl1.Selection.Length > _labels.Count Then
For i As Integer = _labels.Count To pdfViewerControl1.Selection.Length - 1
_labels.Add(New Random().[Next]().ToString())
Next
End If
End Sub
Private Sub pdfViewerControl1_CustomPaint(sender As Object, e As PaintEventArgs) Handles pdfViewerControl1.CustomPaint
' Paint labels
For i As Integer = 0 To pdfViewerControl1.Selection.Length - 1
Dim r As Rectangle = Rectangle.Round(pdfViewerControl1.Selection(i))
r = pdfViewerControl1.TranslateRectangleToViewport(r)
Dim textSize As Size = TextRenderer.MeasureText(_labels(i), Font)
Dim textRectangle As New Rectangle(r.Left, r.Top - textSize.Height - 6, textSize.Width + 2, textSize.Height + 2)
e.Graphics.FillRectangle(Brushes.DarkBlue, textRectangle)
TextRenderer.DrawText(e.Graphics, _labels(i), Font, textRectangle, Color.White, TextFormatFlags.HorizontalCenter Or TextFormatFlags.VerticalCenter)
Next
End Sub
End Class
Program.vb
Imports System.Collections.Generic Imports System.Windows.Forms NotInheritable Class Program Private Sub New() End Sub ''' <summary> ''' The main entry point for the application. ''' </summary> <STAThread> _ Private Shared Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Application.Run(New Form1()) End Sub End Class