DocumentViever: Add Support for Annotations
This commit is contained in:
parent
aeb1b5fce5
commit
6d0a2e3a45
15
Controls.DocumentViewer/DocumentViewer.Designer.vb
generated
15
Controls.DocumentViewer/DocumentViewer.Designer.vb
generated
@ -129,7 +129,7 @@ Partial Class DocumentViewer
|
||||
Me.GdViewer.ScrollLargeChange = CType(50, Short)
|
||||
Me.GdViewer.ScrollSmallChange = CType(1, Short)
|
||||
Me.GdViewer.SilentMode = True
|
||||
Me.GdViewer.Size = New System.Drawing.Size(1015, 557)
|
||||
Me.GdViewer.Size = New System.Drawing.Size(1079, 557)
|
||||
Me.GdViewer.TabIndex = 0
|
||||
Me.GdViewer.ViewRotation = System.Drawing.RotateFlipType.RotateNoneFlipNone
|
||||
Me.GdViewer.Zoom = 1.0R
|
||||
@ -151,7 +151,6 @@ Partial Class DocumentViewer
|
||||
Me.RichEditControl1.ReadOnly = True
|
||||
Me.RichEditControl1.Size = New System.Drawing.Size(249, 161)
|
||||
Me.RichEditControl1.TabIndex = 8
|
||||
Me.RichEditControl1.Text = "RichEditControl1"
|
||||
Me.RichEditControl1.Visible = False
|
||||
'
|
||||
'BarManager1
|
||||
@ -164,7 +163,7 @@ Partial Class DocumentViewer
|
||||
Me.BarManager1.Form = Me
|
||||
Me.BarManager1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.buttonPrint, Me.buttonFitPage, Me.buttonFitWidth, Me.buttonZoomIn, Me.buttonZoomOut, Me.buttonRotateRight, Me.buttonRotateLeft, Me.buttonFlipX, Me.buttonFlipY, Me.buttonSettings, Me.buttonPrevPage, Me.buttonNextPage, Me.buttonFirstPage, Me.buttonLastPage, Me.txtCurrentPage, Me.BarStaticItem1, Me.labelPageCount})
|
||||
Me.BarManager1.MainMenu = Me.ToolbarDocumentViewer
|
||||
Me.BarManager1.MaxItemId = 25
|
||||
Me.BarManager1.MaxItemId = 26
|
||||
Me.BarManager1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemColorEdit1, Me.RepositoryItemComboBox1})
|
||||
'
|
||||
'ToolbarDocumentViewer
|
||||
@ -318,7 +317,7 @@ Partial Class DocumentViewer
|
||||
Me.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.barDockControlTop.Location = New System.Drawing.Point(0, 0)
|
||||
Me.barDockControlTop.Manager = Me.BarManager1
|
||||
Me.barDockControlTop.Size = New System.Drawing.Size(1015, 33)
|
||||
Me.barDockControlTop.Size = New System.Drawing.Size(1079, 33)
|
||||
'
|
||||
'barDockControlBottom
|
||||
'
|
||||
@ -326,7 +325,7 @@ Partial Class DocumentViewer
|
||||
Me.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.barDockControlBottom.Location = New System.Drawing.Point(0, 590)
|
||||
Me.barDockControlBottom.Manager = Me.BarManager1
|
||||
Me.barDockControlBottom.Size = New System.Drawing.Size(1015, 0)
|
||||
Me.barDockControlBottom.Size = New System.Drawing.Size(1079, 0)
|
||||
'
|
||||
'barDockControlLeft
|
||||
'
|
||||
@ -340,7 +339,7 @@ Partial Class DocumentViewer
|
||||
'
|
||||
Me.barDockControlRight.CausesValidation = False
|
||||
Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right
|
||||
Me.barDockControlRight.Location = New System.Drawing.Point(1015, 33)
|
||||
Me.barDockControlRight.Location = New System.Drawing.Point(1079, 33)
|
||||
Me.barDockControlRight.Manager = Me.BarManager1
|
||||
Me.barDockControlRight.Size = New System.Drawing.Size(0, 557)
|
||||
'
|
||||
@ -386,15 +385,15 @@ Partial Class DocumentViewer
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Controls.Add(Me.SpreadsheetControl1)
|
||||
Me.Controls.Add(Me.RichEditControl1)
|
||||
Me.Controls.Add(Me.SpreadsheetControl1)
|
||||
Me.Controls.Add(Me.GdViewer)
|
||||
Me.Controls.Add(Me.barDockControlLeft)
|
||||
Me.Controls.Add(Me.barDockControlRight)
|
||||
Me.Controls.Add(Me.barDockControlBottom)
|
||||
Me.Controls.Add(Me.barDockControlTop)
|
||||
Me.Name = "DocumentViewer"
|
||||
Me.Size = New System.Drawing.Size(1015, 590)
|
||||
Me.Size = New System.Drawing.Size(1079, 590)
|
||||
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="buttonPrint.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
@ -146,7 +146,7 @@
|
||||
</data>
|
||||
<data name="buttonFitWidth.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -166,7 +166,7 @@
|
||||
</data>
|
||||
<data name="buttonFitPage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJcCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -185,7 +185,7 @@
|
||||
</data>
|
||||
<data name="buttonZoomIn.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPMCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
@ -205,7 +205,7 @@
|
||||
</data>
|
||||
<data name="buttonZoomOut.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
@ -224,7 +224,7 @@
|
||||
</data>
|
||||
<data name="buttonRotateLeft.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHIBAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -238,7 +238,7 @@
|
||||
</data>
|
||||
<data name="buttonRotateRight.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHMBAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -252,7 +252,7 @@
|
||||
</data>
|
||||
<data name="buttonFlipX.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIIBAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -266,7 +266,7 @@
|
||||
</data>
|
||||
<data name="buttonFlipY.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIABAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -280,7 +280,7 @@
|
||||
</data>
|
||||
<data name="buttonFirstPage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANUBAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -295,7 +295,7 @@
|
||||
</data>
|
||||
<data name="buttonPrevPage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP8AAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -307,7 +307,7 @@
|
||||
</data>
|
||||
<data name="buttonNextPage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP0AAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -319,7 +319,7 @@
|
||||
</data>
|
||||
<data name="buttonLastPage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4BAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
@ -334,7 +334,7 @@
|
||||
</data>
|
||||
<data name="buttonSettings.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGQEAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
|
||||
|
||||
@ -1,11 +1,7 @@
|
||||
Imports System.IO
|
||||
Imports System.ComponentModel
|
||||
Imports System.Globalization
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports DevExpress
|
||||
Imports DevExpress.Spreadsheet
|
||||
Imports DevExpress.XtraRichEdit.Commands
|
||||
Imports DevExpress.XtraRichEdit
|
||||
Imports DevExpress.Office.Utils
|
||||
Imports GdPicture14
|
||||
Imports DigitalData.Modules.Logging
|
||||
@ -30,6 +26,11 @@ Public Class DocumentViewer
|
||||
Excel
|
||||
End Enum
|
||||
|
||||
Private Enum FileLoadMode
|
||||
File
|
||||
Stream
|
||||
End Enum
|
||||
|
||||
Private _ViewerMode As ViewerMode
|
||||
Private _currentSearchOccurence As Integer = 0
|
||||
Private _toggleGamma As Boolean = True
|
||||
@ -40,10 +41,14 @@ Public Class DocumentViewer
|
||||
Private _email As Email2
|
||||
Private _Config As ConfigManager(Of Config)
|
||||
Private _Annotations As Annotations
|
||||
Private _AnnotationsPending As Boolean = False
|
||||
|
||||
Private _hide_file_info_from_user As Boolean = False
|
||||
|
||||
Private _FileStream As Stream
|
||||
Private _FilePath As String
|
||||
Private _Fileinfo As FileInfo
|
||||
Private _FileLoadMode As FileLoadMode = FileLoadMode.File
|
||||
|
||||
' List of all created temp files when converting msg files
|
||||
Private _TempFiles As New List(Of String)
|
||||
@ -54,6 +59,11 @@ Public Class DocumentViewer
|
||||
|
||||
|
||||
Public Property FileLoaded As Boolean = False
|
||||
Public ReadOnly Property AnnotationsSaved As Boolean
|
||||
Get
|
||||
Return Not _AnnotationsPending
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Initialize the Viewer
|
||||
@ -72,7 +82,55 @@ Public Class DocumentViewer
|
||||
_Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Load a file from a path and display it
|
||||
''' </summary>
|
||||
Public Sub LoadFile(FilePath As String)
|
||||
FileLoaded = False
|
||||
|
||||
If _licenseKey = String.Empty Then
|
||||
_logger.Warn("License key was not provided. File {0} not loaded.", FilePath)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If FilePath Is Nothing OrElse FilePath.Trim().Length = 0 Then
|
||||
_logger.Warn("FilePath was not provided. File not loaded.")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
_FilePath = FilePath
|
||||
_FileLoadMode = FileLoadMode.File
|
||||
_Fileinfo = New FileInfo(FilePath)
|
||||
|
||||
_logger.Info("Loading File [{0}] from Filesystem", FilePath)
|
||||
FileLoaded = DoLoadFile(FilePath)
|
||||
|
||||
SetViewerMode(_Fileinfo.Extension)
|
||||
UpdateMainUi()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Load a file from a stream and display it
|
||||
''' </summary>
|
||||
Public Sub LoadFile(FileName As String, Stream As Stream)
|
||||
FileLoaded = False
|
||||
|
||||
If _licenseKey = String.Empty Then
|
||||
_logger.Warn("License key was not provided. File [{0}] not loaded.", FileName)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim oExtension As String = FileName.Substring(FileName.LastIndexOf("."))
|
||||
|
||||
_FileStream = Stream
|
||||
_FileLoadMode = FileLoadMode.Stream
|
||||
|
||||
_logger.Info("Loading file [{0}] from Stream", FileName)
|
||||
FileLoaded = DoLoadFile(Stream, oExtension)
|
||||
|
||||
SetViewerMode(oExtension)
|
||||
UpdateMainUi()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Terminate Viewer, freeing up resources and deleting temp files
|
||||
@ -93,63 +151,42 @@ Public Class DocumentViewer
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Load a file and display it
|
||||
''' </summary>
|
||||
''' <param name="FilePath"></param>
|
||||
Public Sub LoadFile(FilePath As String)
|
||||
FileLoaded = False
|
||||
|
||||
If _licenseKey = String.Empty Then
|
||||
_logger.Warn("License key was not provided. File {0} not loaded.", FilePath)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If FilePath Is Nothing OrElse FilePath.Trim().Length = 0 Then
|
||||
_logger.Warn("FilePath was not provided. File not loaded.")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
_logger.Info("Loading File {0}", FilePath)
|
||||
|
||||
FileLoaded = DoLoadFile(FilePath)
|
||||
_FilePath = FilePath
|
||||
_Fileinfo = New FileInfo(FilePath)
|
||||
|
||||
SetViewerMode(_Fileinfo.Extension)
|
||||
UpdateMainUi()
|
||||
End Sub
|
||||
|
||||
Public Sub LoadFile(FileName As String, Stream As Stream)
|
||||
FileLoaded = False
|
||||
|
||||
If _licenseKey = String.Empty Then
|
||||
_logger.Warn("License key was not provided. File [{0}] not loaded.", FileName)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim oExtension As String = FileName.Substring(FileName.LastIndexOf("."))
|
||||
|
||||
_logger.Info("Loading File [{0}]", FileName)
|
||||
|
||||
FileLoaded = DoLoadFile(Stream, oExtension)
|
||||
|
||||
SetViewerMode(oExtension)
|
||||
UpdateMainUi()
|
||||
End Sub
|
||||
|
||||
Public Function AddAnnotation(pText As String) As Boolean
|
||||
Dim oFontStyle = System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline
|
||||
GdViewer.AddTextAnnotationInteractive(pText, Color.Black, "Arial", oFontStyle, 12, True, Color.Red, Color.White, 1, 0)
|
||||
Dim oFontStyle = FontStyle.Regular
|
||||
Dim oFontColor = Color.Black
|
||||
Dim oFontFamily = "Arial"
|
||||
Dim oFontSize = 8
|
||||
Dim oBorderColor = Color.Red
|
||||
Dim oBackColor = Color.LightYellow
|
||||
Dim oOpacity = 1.0F
|
||||
Dim oRotation = 0.0F
|
||||
|
||||
GdViewer.AddTextAnnotationInteractive(pText, oFontColor, oFontFamily, oFontStyle, oFontSize, Fill:=True, oBorderColor, oBackColor, oOpacity, oRotation)
|
||||
_AnnotationsPending = True
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Sub Save()
|
||||
If GdViewer.SaveDocumentToPDF(_FilePath) = GdPictureStatus.OK Then
|
||||
_logger.Debug("PDF Successfully saved")
|
||||
|
||||
|
||||
Public Function Save() As Boolean
|
||||
Dim oSaveResult As GdPictureStatus = GdPictureStatus.OK
|
||||
|
||||
If GdViewer.BurnAnnotationsToPage(True, False) = GdPictureStatus.OK Then
|
||||
If _FileLoadMode = FileLoadMode.Stream Then
|
||||
oSaveResult = GdViewer.SaveDocumentToPDF(_FileStream)
|
||||
Else
|
||||
oSaveResult = GdViewer.SaveDocumentToPDF(_FilePath)
|
||||
End If
|
||||
End Sub
|
||||
End If
|
||||
|
||||
If oSaveResult = GdPictureStatus.OK Then
|
||||
_AnnotationsPending = False
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Sub CloseDocument()
|
||||
Try
|
||||
@ -455,12 +492,13 @@ Public Class DocumentViewer
|
||||
SpreadsheetControl1.Dock = DockStyle.Fill
|
||||
|
||||
Case Else
|
||||
'ToolbarDocumentViewer.Visible = True
|
||||
|
||||
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
|
||||
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
|
||||
GdViewer.ForceTemporaryMode = True
|
||||
GdViewer.AnnotationDropShadow = True
|
||||
|
||||
GdViewer.DisplayFromFile(FilePath)
|
||||
|
||||
End Select
|
||||
|
||||
UpdateMainUi()
|
||||
@ -528,13 +566,13 @@ Public Class DocumentViewer
|
||||
SpreadsheetControl1.Dock = DockStyle.Fill
|
||||
|
||||
Case Else
|
||||
'ToolbarDocumentViewer.Visible = True
|
||||
|
||||
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
|
||||
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
|
||||
GdViewer.ForceTemporaryMode = True
|
||||
GdViewer.AnnotationDropShadow = True
|
||||
|
||||
GdViewer.DisplayFromStream(Stream)
|
||||
|
||||
End Select
|
||||
|
||||
UpdateMainUi()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user