diff --git a/Controls.DocumentViewer/DocumentViewer.Designer.vb b/Controls.DocumentViewer/DocumentViewer.Designer.vb
index 9e3aebd2..356666fb 100644
--- a/Controls.DocumentViewer/DocumentViewer.Designer.vb
+++ b/Controls.DocumentViewer/DocumentViewer.Designer.vb
@@ -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()
diff --git a/Controls.DocumentViewer/DocumentViewer.resx b/Controls.DocumentViewer/DocumentViewer.resx
index dc74ec2b..75a0f04e 100644
--- a/Controls.DocumentViewer/DocumentViewer.resx
+++ b/Controls.DocumentViewer/DocumentViewer.resx
@@ -126,7 +126,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -146,7 +146,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -166,7 +166,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -185,7 +185,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPMCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -205,7 +205,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -224,7 +224,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHIBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -238,7 +238,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHMBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -252,7 +252,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIIBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -266,7 +266,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIABAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -280,7 +280,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANUBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -295,7 +295,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP8AAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -307,7 +307,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP0AAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -319,7 +319,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4BAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
@@ -334,7 +334,7 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGQEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb
index 9a9350ff..a8bb89b6 100644
--- a/Controls.DocumentViewer/DocumentViewer.vb
+++ b/Controls.DocumentViewer/DocumentViewer.vb
@@ -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
'''
''' Initialize the Viewer
@@ -72,7 +82,55 @@ Public Class DocumentViewer
_Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath)
End Sub
+ '''
+ ''' Load a file from a path and display it
+ '''
+ 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
+
+ '''
+ ''' Load a file from a stream and display it
+ '''
+ 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
'''
''' Terminate Viewer, freeing up resources and deleting temp files
@@ -93,63 +151,42 @@ Public Class DocumentViewer
End Try
End Sub
- '''
- ''' Load a file and display it
- '''
- '''
- 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 If
- End Sub
+
+ 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()