Get Selection Points with PDF Viewer UI Application - VB.NET
PDF Viewer SDK sample in VB.NET demonstrating ‘Get Selection Points with PDF Viewer UI Application’
Form1.Designer.vb
��Partial Class Form1
''' <summary>
''' Required designer variable.
''' </summary>
Private components As System.ComponentModel.IContainer = Nothing
''' <summary>
''' Clean up any resources being used.
''' </summary>
''' <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
Protected Overrides Sub Dispose(disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
#Region "Windows Form Designer generated code"
''' <summary>
''' Required method for Designer support - do not modify
''' the contents of this method with the code editor.
''' </summary>
Private Sub InitializeComponent()
Me.tsbOpen = New System.Windows.Forms.ToolStripButton()
Me.toolStrip1 = New System.Windows.Forms.ToolStrip()
Me.pdfViewerControl1 = New Bytescout.PDFViewer.PDFViewerControl()
Me.txtSelectionPixel = New System.Windows.Forms.TextBox()
Me.txtSelectionPDFUnit = New System.Windows.Forms.TextBox()
Me.label2 = New System.Windows.Forms.Label()
Me.label1 = New System.Windows.Forms.Label()
Me.btnGetSelectionPoints = New System.Windows.Forms.Button()
Me.toolStrip1.SuspendLayout()
Me.SuspendLayout()
'
'tsbOpen
'
Me.tsbOpen.Image = Global.Sample_UI_Application.My.Resources.Resources.folder_page
Me.tsbOpen.ImageTransparentColor = System.Drawing.Color.Magenta
Me.tsbOpen.Name = "tsbOpen"
Me.tsbOpen.Size = New System.Drawing.Size(99, 24)
Me.tsbOpen.Text = "&Open PDF"
'
'toolStrip1
'
Me.toolStrip1.ImageScalingSize = New System.Drawing.Size(20, 20)
Me.toolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbOpen})
Me.toolStrip1.Location = New System.Drawing.Point(0, 0)
Me.toolStrip1.Name = "toolStrip1"
Me.toolStrip1.Size = New System.Drawing.Size(1240, 27)
Me.toolStrip1.TabIndex = 1
Me.toolStrip1.Text = "toolStrip1"
'
'pdfViewerControl1
'
Me.pdfViewerControl1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pdfViewerControl1.BackColor = System.Drawing.SystemColors.ButtonShadow
Me.pdfViewerControl1.Location = New System.Drawing.Point(0, 129)
Me.pdfViewerControl1.Margin = New System.Windows.Forms.Padding(4)
Me.pdfViewerControl1.MouseMode = Bytescout.PDFViewer.MouseMode.Selection
Me.pdfViewerControl1.Name = "pdfViewerControl1"
Me.pdfViewerControl1.RegistrationKey = Nothing
Me.pdfViewerControl1.RegistrationName = Nothing
Me.pdfViewerControl1.ResetRotationOnPageChange = False
Me.pdfViewerControl1.Scale = 100
Me.pdfViewerControl1.SelectionColor = System.Drawing.Color.Red
Me.pdfViewerControl1.ShowImageObjects = True
Me.pdfViewerControl1.ShowTextObjects = True
Me.pdfViewerControl1.ShowVectorObjects = True
Me.pdfViewerControl1.Size = New System.Drawing.Size(1240, 532)
Me.pdfViewerControl1.TabIndex = 0
'
'txtSelectionPixel
'
Me.txtSelectionPixel.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.2!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSelectionPixel.Location = New System.Drawing.Point(470, 84)
Me.txtSelectionPixel.Multiline = True
Me.txtSelectionPixel.Name = "txtSelectionPixel"
Me.txtSelectionPixel.ReadOnly = True
Me.txtSelectionPixel.Size = New System.Drawing.Size(761, 25)
Me.txtSelectionPixel.TabIndex = 11
'
'txtSelectionPDFUnit
'
Me.txtSelectionPDFUnit.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.2!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSelectionPDFUnit.Location = New System.Drawing.Point(470, 40)
Me.txtSelectionPDFUnit.Multiline = True
Me.txtSelectionPDFUnit.Name = "txtSelectionPDFUnit"
Me.txtSelectionPDFUnit.ReadOnly = True
Me.txtSelectionPDFUnit.Size = New System.Drawing.Size(761, 25)
Me.txtSelectionPDFUnit.TabIndex = 10
'
'label2
'
Me.label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.label2.Location = New System.Drawing.Point(187, 84)
Me.label2.Name = "label2"
Me.label2.RightToLeft = System.Windows.Forms.RightToLeft.Yes
Me.label2.Size = New System.Drawing.Size(277, 25)
Me.label2.TabIndex = 9
Me.label2.Text = "Selection in Pixels"
'
'label1
'
Me.label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.label1.Location = New System.Drawing.Point(187, 40)
Me.label1.Name = "label1"
Me.label1.RightToLeft = System.Windows.Forms.RightToLeft.Yes
Me.label1.Size = New System.Drawing.Size(277, 25)
Me.label1.TabIndex = 8
Me.label1.Text = "Selection in PDF Units"
'
'btnGetSelectionPoints
'
Me.btnGetSelectionPoints.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnGetSelectionPoints.Location = New System.Drawing.Point(9, 40)
Me.btnGetSelectionPoints.Name = "btnGetSelectionPoints"
Me.btnGetSelectionPoints.Size = New System.Drawing.Size(172, 69)
Me.btnGetSelectionPoints.TabIndex = 7
Me.btnGetSelectionPoints.Text = "Get Selection Points"
Me.btnGetSelectionPoints.UseVisualStyleBackColor = True
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1240, 663)
Me.Controls.Add(Me.txtSelectionPixel)
Me.Controls.Add(Me.txtSelectionPDFUnit)
Me.Controls.Add(Me.label2)
Me.Controls.Add(Me.label1)
Me.Controls.Add(Me.btnGetSelectionPoints)
Me.Controls.Add(Me.pdfViewerControl1)
Me.Controls.Add(Me.toolStrip1)
Me.Margin = New System.Windows.Forms.Padding(4)
Me.Name = "Form1"
Me.Text = "Form1"
Me.toolStrip1.ResumeLayout(False)
Me.toolStrip1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Private WithEvents tsbOpen As Windows.Forms.ToolStripButton
Private WithEvents toolStrip1 As Windows.Forms.ToolStrip
Private WithEvents pdfViewerControl1 As Bytescout.PDFViewer.PDFViewerControl
Private WithEvents txtSelectionPixel As Windows.Forms.TextBox
Private WithEvents txtSelectionPDFUnit As Windows.Forms.TextBox
Private WithEvents label2 As Windows.Forms.Label
Private WithEvents label1 As Windows.Forms.Label
Private WithEvents btnGetSelectionPoints As Windows.Forms.Button
#End Region
End Class
+ Show More
Explore SDK documentations here.
Form1.vb
Imports System.Drawing
Imports System.Windows.Forms
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
' Assign default document
pdfViewerControl1.InputFile = "sample.pdf"
' Initially set selection
pdfViewerControl1.Selection = New Rectangle() {New Rectangle(20, 20, 100, 100)}
' Get Selection Information
GetSelectionInformation()
End Sub
Private Sub tsbOpen_Click(ByVal sender As Object, ByVal 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 btnGetSelectionPoints_Click(sender As Object, e As EventArgs) Handles btnGetSelectionPoints.Click
GetSelectionInformation()
End Sub
Private Sub GetSelectionInformation()
If pdfViewerControl1.SelectionInPoints.Length > 0 Then
' If need to get selection in PDF format then use .SelectionInPoints that returns coordinates in PDF points.
' PDF points can be used with other SDK to extract text, draw on pdf, add text, images etc.
' These PDF points coordinates are staying the same with any rendering resolution for PDF because resolution affects only how pdf Is converted into displaying image.
Dim selectionInPoints As RectangleF = pdfViewerControl1.SelectionInPoints(0)
txtSelectionPDFUnit.Text = String.Format("Top={0}, Left={1}, Bottom={2}, Right={3}, Width={4}, Height={5}",
selectionInPoints.Top,
selectionInPoints.Left,
selectionInPoints.Bottom,
selectionInPoints.Right,
selectionInPoints.Width,
selectionInPoints.Height)
' If you need to draw on screen on the control then please use .Selection property to get coordinates.
Dim selectionInPixels As RectangleF = pdfViewerControl1.Selection(0)
txtSelectionPixel.Text = String.Format("Top={0}, Left={1}, Bottom={2}, Right={3}, Width={4}, Height={5}",
selectionInPixels.Top.ToString(),
selectionInPixels.Left.ToString(),
selectionInPixels.Bottom.ToString(),
selectionInPixels.Right.ToString(),
selectionInPixels.Width,
selectionInPixels.Height)
Else
MessageBox.Show("Selection not available.")
End If
End Sub
End Class
+ Show More
Explore SDK documentations here.
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> _
Friend Shared Sub Main()
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
Application.Run(New Form1())
End Sub
End Class
+ Show More
Explore SDK documentations here.
Resources.Designer.vb
��'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:2.0.50727.5448
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Sample_UI_Application.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
Friend ReadOnly Property folder_page() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("folder_page", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace
+ Show More
Explore SDK documentations here.
Settings.Designer.vb
��'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:2.0.50727.5448
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Namespace Properties
<System.Runtime.CompilerServices.CompilerGeneratedAttribute> _
<System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")> _
Friend NotInheritable Partial Class Settings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As Settings = DirectCast(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New Settings()), Settings)
Public Shared ReadOnly Property [Default]() As Settings
Get
Return defaultInstance
End Get
End Property
End Class
End Namespace
+ Show More
Explore SDK documentations here.