diff --git a/App.config b/App.config
new file mode 100644
index 0000000..0927f88
--- /dev/null
+++ b/App.config
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/Annotations.vb b/Classes/Annotations.vb
new file mode 100644
index 0000000..56c72d1
--- /dev/null
+++ b/Classes/Annotations.vb
@@ -0,0 +1,70 @@
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Logging
+Imports GdPicture14
+Imports GdPicture14.Annotations
+
+Public Class Annotations
+ Inherits BaseClass
+
+ Private Const DEFAULT_LEFT = 10
+ Private Const DEFAULT_TOP = 10
+ Private Const DEFAULT_WIDTH = 200
+ Private Const DEFAULT_HEIGHT = 50
+
+ Public Sub New(pLogConfig As LogConfig)
+ MyBase.New(pLogConfig)
+ End Sub
+
+ Public Function AddAnnotationInteractive(pGDViewer As GdViewer, pText As String) As Boolean
+ pGDViewer.AddTextAnnotationInteractive(pText, Color.Black, "Arial", Drawing.FontStyle.Bold Or Drawing.FontStyle.Underline, 12, True, Color.Red, Color.White, 1, 0)
+ If pGDViewer.GetStat = GdPictureStatus.OK Then
+ Return True
+ Else
+ Return False
+ End If
+ End Function
+
+ Public Function AddAnnotation(pGDViewer As GdViewer, pText As String) As Boolean
+ Try
+ Dim oStatus As GdPictureStatus = GdPictureStatus.OK
+ Using oManager As AnnotationManager = pGDViewer.GetAnnotationManager()
+ If oManager.InitFromGdViewer(pGDViewer) = GdPictureStatus.OK AndAlso oManager.PageCount > 0 AndAlso oManager.SelectPage(1) = GdPictureStatus.OK Then
+ Using oAnnotation As AnnotationText = oManager.AddTextAnnot(0, 0, 0, 0, pText)
+ If oManager.GetStat = GdPictureStatus.OK AndAlso oAnnotation IsNot Nothing Then
+ oAnnotation.Alignment = StringAlignment.Near
+ oAnnotation.Author = Environment.UserName
+ oAnnotation.Fill = True
+ oAnnotation.FillColor = Color.LightYellow
+ oAnnotation.FontSize = 16
+ oAnnotation.ForeColor = Color.Black
+ oAnnotation.Opacity = 0.7F
+ oAnnotation.StrokeColor = Color.Yellow
+ oAnnotation.Top = DEFAULT_TOP
+ oAnnotation.Left = DEFAULT_LEFT
+ oAnnotation.Width = DEFAULT_WIDTH
+ oAnnotation.Height = DEFAULT_HEIGHT
+ oAnnotation.Text = pText
+
+ 'pGDViewer.ann
+
+ If oManager.SaveAnnotationsToPage() = GdPictureStatus.OK Then
+ oManager.BurnAnnotationsToPage(True)
+ End If
+ End If
+ End Using
+ End If
+ oStatus = oManager.GetStat()
+ End Using
+
+ If oStatus = GdPictureStatus.OK Then
+ Return True
+ Else
+ Return False
+ End If
+ Catch ex As Exception
+ Return False
+ End Try
+ End Function
+
+
+End Class
diff --git a/Classes/Search.vb b/Classes/Search.vb
new file mode 100644
index 0000000..26b6eb3
--- /dev/null
+++ b/Classes/Search.vb
@@ -0,0 +1,137 @@
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Logging
+Imports GdPicture14
+
+Public Class Search
+ Inherits BaseClass
+
+ Public Property SearchQuery As String = ""
+ Public Property CaseSensitive As Boolean = False
+ Public Property WholeWords As Boolean = False
+
+ Private _Viewer As GdViewer = Nothing
+ Private _AnnotationManager As New AnnotationManager()
+
+ Private _CurrentPage As Integer = 0
+ Private _CurrentQuery As String = ""
+ Private _CurrentOccurrenceCount = 0
+ Private _CurrentSelectedOccurrence = 0
+
+ Public Sub New(pLogConfig As LogConfig, pGDViewer As GdViewer)
+ MyBase.New(pLogConfig)
+ _Viewer = pGDViewer
+ _AnnotationManager.InitFromGdViewer(pGDViewer)
+
+ AddHandler _Viewer.PageDisplayed, AddressOf Viewer_PageDisplayed
+ End Sub
+
+ Public Sub SearchAll(pQuery As String)
+ ' Exit, if query has not changed
+ If _CurrentQuery = pQuery Then
+ Exit Sub
+ End If
+
+ ' Save query
+ _CurrentQuery = pQuery
+
+ ' Reset previous highlights, then search for the new query
+ _Viewer.RemoveAllRegions()
+ DoSearchText()
+
+ ' Select the next occurrence
+ NextHighlight()
+ End Sub
+
+ Public Sub NextHighlight()
+ ' This also applies when the page has *NO* occurrences, so 0 = 0
+ If _CurrentOccurrenceCount = _CurrentSelectedOccurrence Then
+ Dim oCount = 0
+ ' If there are no occurrences on the current page, got to the *next page*
+ While _CurrentOccurrenceCount = _CurrentSelectedOccurrence And _CurrentPage <= _Viewer.PageCount
+ oCount += 1
+ If _CurrentPage = _Viewer.PageCount Then
+ _Viewer.DisplayFirstPage()
+ Else
+ _Viewer.DisplayNextPage()
+ End If
+ If oCount > 333 Then
+ Exit While
+ End If
+ End While
+
+ ' Safeguard against selecting a non-existing occurrence on the last page
+ If _CurrentOccurrenceCount > 0 Then
+ SelectHighlight(1)
+ Else
+ ' Disable next button
+ End If
+ Else
+ ' Otherwise just select the next occurrence
+ SelectHighlight(_CurrentSelectedOccurrence + 1)
+ End If
+ End Sub
+
+ Public Sub PrevHighlight()
+ If _CurrentOccurrenceCount = 0 Or _CurrentSelectedOccurrence = 1 Then
+ Dim oCount = 0
+ While (_CurrentOccurrenceCount = 0 Or _CurrentSelectedOccurrence = 1) And _CurrentPage >= 1
+ oCount += 1
+ If _CurrentPage = 1 Then
+ _Viewer.DisplayLastPage()
+ Else
+ _Viewer.DisplayPreviousPage()
+ End If
+ If oCount > 333 Then
+ Exit While
+ End If
+ End While
+
+ If _CurrentOccurrenceCount > 0 Then
+ SelectHighlight(_CurrentOccurrenceCount)
+ End If
+
+ Else
+ ' Otherwise just select the previous occurrence
+ SelectHighlight(_CurrentSelectedOccurrence - 1)
+ End If
+ End Sub
+
+ Private Sub SelectHighlight(pOccurrence As Integer)
+ Dim oFound = _Viewer.SearchText(_CurrentQuery, pOccurrence, CaseSensitive, WholeWords)
+ If _Viewer.GetStat() = GdPictureStatus.OK And _Viewer.IsRect() Then
+ _Viewer.RectIsEditable = False
+ _Viewer.CenterOnRect()
+
+ _CurrentSelectedOccurrence = pOccurrence
+ Else
+ _CurrentSelectedOccurrence = 0
+ End If
+ End Sub
+
+ Private Sub Viewer_PageDisplayed()
+ If _CurrentPage <> _Viewer.CurrentPage Then
+ _CurrentPage = _Viewer.CurrentPage
+
+ If _CurrentQuery.Length > 0 Then
+ DoSearchText()
+ End If
+ End If
+ End Sub
+
+ Private Sub DoSearchText()
+
+
+ _Viewer.SearchText(_CurrentQuery, 0, CaseSensitive, WholeWords)
+
+ Dim oRegionCount = _Viewer.RegionCount()
+ For index = 1 To oRegionCount
+ Dim oId = _Viewer.GetRegionID(index)
+ _Viewer.SetRegionEditable(oId, False)
+ Next
+
+
+ _CurrentOccurrenceCount = _Viewer.GetTextOccurrenceCount(_CurrentPage, _CurrentQuery, CaseSensitive, WholeWords)
+ _CurrentSelectedOccurrence = 0
+ End Sub
+
+End Class
diff --git a/Config.vb b/Config.vb
new file mode 100644
index 0000000..54d76ae
--- /dev/null
+++ b/Config.vb
@@ -0,0 +1,10 @@
+Public Class Config
+ Public Enum PageFitSetting
+ Undefined
+ FitPage
+ FitWidth
+ End Enum
+
+ Public Property PageFit
+
+End Class
diff --git a/DocumentViewer.Designer.vb b/DocumentViewer.Designer.vb
new file mode 100644
index 0000000..1e2603f
--- /dev/null
+++ b/DocumentViewer.Designer.vb
@@ -0,0 +1,553 @@
+
+Partial Class DocumentViewer
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(DocumentViewer))
+ Me.OpenFileDialog = New System.Windows.Forms.OpenFileDialog()
+ Me.BarManager1 = New DevExpress.XtraBars.BarManager(Me.components)
+ Me.ToolbarDocumentViewer = New DevExpress.XtraBars.Bar()
+ Me.buttonPrint = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonFitWidth = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonFitPage = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonZoomIn = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonZoomOut = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonRotateLeft = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonRotateRight = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonFlipX = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonFlipY = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonFirstPage = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonPrevPage = New DevExpress.XtraBars.BarButtonItem()
+ Me.txtCurrentPage = New DevExpress.XtraBars.BarEditItem()
+ Me.RepositoryItemTextEdit2 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
+ Me.labelPageCount = New DevExpress.XtraBars.BarStaticItem()
+ Me.buttonNextPage = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonLastPage = New DevExpress.XtraBars.BarButtonItem()
+ Me.buttonSettings = New DevExpress.XtraBars.BarButtonItem()
+ Me.txtSearch = New DevExpress.XtraBars.BarEditItem()
+ Me.RepositoryItemTextEdit3 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
+ Me.btnSearch2 = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnPrevHighlight = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnNextHighlight = New DevExpress.XtraBars.BarButtonItem()
+ Me.barDockControlTop = New DevExpress.XtraBars.BarDockControl()
+ Me.barDockControlBottom = New DevExpress.XtraBars.BarDockControl()
+ Me.barDockControlLeft = New DevExpress.XtraBars.BarDockControl()
+ Me.barDockControlRight = New DevExpress.XtraBars.BarDockControl()
+ Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
+ Me.btnSearch = New DevExpress.XtraBars.BarButtonItem()
+ Me.RepositoryItemTextEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
+ Me.RepositoryItemColorEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorEdit()
+ Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
+ Me.RepositoryItemSearchControl1 = New DevExpress.XtraEditors.Repository.RepositoryItemSearchControl()
+ Me.MyGDPViewer = New GdPicture14.GdViewer()
+ Me.SpreadsheetControl1 = New DevExpress.XtraSpreadsheet.SpreadsheetControl()
+ Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument()
+ Me.lbFileNotLoaded = New DevExpress.XtraEditors.LabelControl()
+ Me.RichEditControl1 = New DevExpress.XtraRichEdit.RichEditControl()
+ Me.lblInfo = New System.Windows.Forms.Label()
+ Me.lblNoFileSelected = New DevExpress.XtraEditors.LabelControl()
+ CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTextEdit3, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemSearchControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'OpenFileDialog
+ '
+ Me.OpenFileDialog.FileName = "OpenFileDialog1"
+ '
+ 'BarManager1
+ '
+ Me.BarManager1.Bars.AddRange(New DevExpress.XtraBars.Bar() {Me.ToolbarDocumentViewer})
+ Me.BarManager1.DockControls.Add(Me.barDockControlTop)
+ Me.BarManager1.DockControls.Add(Me.barDockControlBottom)
+ Me.BarManager1.DockControls.Add(Me.barDockControlLeft)
+ Me.BarManager1.DockControls.Add(Me.barDockControlRight)
+ 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.txtSearch, Me.btnPrevHighlight, Me.btnNextHighlight, Me.btnSearch, Me.btnSearch2})
+ Me.BarManager1.MainMenu = Me.ToolbarDocumentViewer
+ Me.BarManager1.MaxItemId = 34
+ Me.BarManager1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemColorEdit1, Me.RepositoryItemComboBox1, Me.RepositoryItemSearchControl1, Me.RepositoryItemTextEdit3})
+ '
+ 'ToolbarDocumentViewer
+ '
+ Me.ToolbarDocumentViewer.BarName = "Hauptmenü"
+ Me.ToolbarDocumentViewer.DockCol = 0
+ Me.ToolbarDocumentViewer.DockRow = 0
+ Me.ToolbarDocumentViewer.DockStyle = DevExpress.XtraBars.BarDockStyle.Top
+ Me.ToolbarDocumentViewer.LinksPersistInfo.AddRange(New DevExpress.XtraBars.LinkPersistInfo() {New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrint), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitWidth), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomIn), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomOut), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateLeft), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateRight), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipX), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipY), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFirstPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrevPage), New DevExpress.XtraBars.LinkPersistInfo(Me.txtCurrentPage), New DevExpress.XtraBars.LinkPersistInfo(Me.labelPageCount), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonNextPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonLastPage), New DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, Me.buttonSettings, DevExpress.XtraBars.BarItemPaintStyle.Standard), New DevExpress.XtraBars.LinkPersistInfo(Me.txtSearch), New DevExpress.XtraBars.LinkPersistInfo(Me.btnSearch2), New DevExpress.XtraBars.LinkPersistInfo(Me.btnPrevHighlight), New DevExpress.XtraBars.LinkPersistInfo(Me.btnNextHighlight)})
+ Me.ToolbarDocumentViewer.OptionsBar.AllowCollapse = True
+ Me.ToolbarDocumentViewer.OptionsBar.AllowQuickCustomization = False
+ Me.ToolbarDocumentViewer.OptionsBar.DrawDragBorder = False
+ Me.ToolbarDocumentViewer.OptionsBar.UseWholeRow = True
+ Me.ToolbarDocumentViewer.Text = "Hauptmenü"
+ '
+ 'buttonPrint
+ '
+ Me.buttonPrint.Caption = "Drucken"
+ Me.buttonPrint.Id = 0
+ Me.buttonPrint.ImageOptions.SvgImage = CType(resources.GetObject("buttonPrint.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.buttonPrint.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonPrint.Name = "buttonPrint"
+ '
+ 'buttonFitWidth
+ '
+ Me.buttonFitWidth.Caption = "An Breite anpassen"
+ Me.buttonFitWidth.Id = 2
+ Me.buttonFitWidth.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.fittowidth
+ Me.buttonFitWidth.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonFitWidth.Name = "buttonFitWidth"
+ '
+ 'buttonFitPage
+ '
+ Me.buttonFitPage.Caption = "An Seite Anpassen"
+ Me.buttonFitPage.Id = 1
+ Me.buttonFitPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.fittopage
+ Me.buttonFitPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonFitPage.Name = "buttonFitPage"
+ '
+ 'buttonZoomIn
+ '
+ Me.buttonZoomIn.Caption = "Zoom +"
+ Me.buttonZoomIn.Id = 3
+ Me.buttonZoomIn.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.zoomin
+ Me.buttonZoomIn.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonZoomIn.Name = "buttonZoomIn"
+ '
+ 'buttonZoomOut
+ '
+ Me.buttonZoomOut.Caption = "Zoom -"
+ Me.buttonZoomOut.Id = 4
+ Me.buttonZoomOut.ImageOptions.SvgImage = CType(resources.GetObject("buttonZoomOut.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.buttonZoomOut.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonZoomOut.Name = "buttonZoomOut"
+ '
+ 'buttonRotateLeft
+ '
+ Me.buttonRotateLeft.Caption = "Drehen -90 Grad"
+ Me.buttonRotateLeft.Id = 6
+ Me.buttonRotateLeft.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.rotatecounterclockwise
+ Me.buttonRotateLeft.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonRotateLeft.Name = "buttonRotateLeft"
+ '
+ 'buttonRotateRight
+ '
+ Me.buttonRotateRight.Caption = "Drehen 90 Grad"
+ Me.buttonRotateRight.Id = 5
+ Me.buttonRotateRight.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.rotateclockwise
+ Me.buttonRotateRight.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonRotateRight.Name = "buttonRotateRight"
+ '
+ 'buttonFlipX
+ '
+ Me.buttonFlipX.Caption = "Spiegeln Horizontal"
+ Me.buttonFlipX.Id = 7
+ Me.buttonFlipX.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.flipimage_horizontal
+ Me.buttonFlipX.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonFlipX.Name = "buttonFlipX"
+ '
+ 'buttonFlipY
+ '
+ Me.buttonFlipY.Caption = "Spiegeln Vertikal"
+ Me.buttonFlipY.Id = 8
+ Me.buttonFlipY.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.flipimage_vertical
+ Me.buttonFlipY.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonFlipY.Name = "buttonFlipY"
+ '
+ 'buttonFirstPage
+ '
+ Me.buttonFirstPage.Caption = "Erste Seite"
+ Me.buttonFirstPage.Id = 13
+ Me.buttonFirstPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.doublefirst
+ Me.buttonFirstPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonFirstPage.Name = "buttonFirstPage"
+ '
+ 'buttonPrevPage
+ '
+ Me.buttonPrevPage.Caption = "Zurück"
+ Me.buttonPrevPage.Id = 11
+ Me.buttonPrevPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.prev
+ Me.buttonPrevPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonPrevPage.Name = "buttonPrevPage"
+ '
+ 'txtCurrentPage
+ '
+ Me.txtCurrentPage.Caption = "BarEditItem1"
+ Me.txtCurrentPage.Edit = Me.RepositoryItemTextEdit2
+ Me.txtCurrentPage.Id = 16
+ Me.txtCurrentPage.Name = "txtCurrentPage"
+ '
+ 'RepositoryItemTextEdit2
+ '
+ Me.RepositoryItemTextEdit2.AutoHeight = False
+ Me.RepositoryItemTextEdit2.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric
+ Me.RepositoryItemTextEdit2.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric
+ Me.RepositoryItemTextEdit2.Name = "RepositoryItemTextEdit2"
+ '
+ 'labelPageCount
+ '
+ Me.labelPageCount.Caption = "/ 0"
+ Me.labelPageCount.Id = 24
+ Me.labelPageCount.Name = "labelPageCount"
+ '
+ 'buttonNextPage
+ '
+ Me.buttonNextPage.Caption = "Vor"
+ Me.buttonNextPage.Id = 12
+ Me.buttonNextPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources._next
+ Me.buttonNextPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonNextPage.Name = "buttonNextPage"
+ '
+ 'buttonLastPage
+ '
+ Me.buttonLastPage.Caption = "Letzte Seite"
+ Me.buttonLastPage.Id = 14
+ Me.buttonLastPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.doublelast
+ Me.buttonLastPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonLastPage.Name = "buttonLastPage"
+ '
+ 'buttonSettings
+ '
+ Me.buttonSettings.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right
+ Me.buttonSettings.Caption = "Einstellungen"
+ Me.buttonSettings.Id = 9
+ Me.buttonSettings.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.viewsettings
+ Me.buttonSettings.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25)
+ Me.buttonSettings.Name = "buttonSettings"
+ Me.buttonSettings.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ '
+ 'txtSearch
+ '
+ Me.txtSearch.Caption = "Suchtext"
+ Me.txtSearch.Edit = Me.RepositoryItemTextEdit3
+ Me.txtSearch.Id = 27
+ Me.txtSearch.Name = "txtSearch"
+ '
+ 'RepositoryItemTextEdit3
+ '
+ Me.RepositoryItemTextEdit3.AutoHeight = False
+ Me.RepositoryItemTextEdit3.Name = "RepositoryItemTextEdit3"
+ '
+ 'btnSearch2
+ '
+ Me.btnSearch2.Caption = "Text suchen"
+ Me.btnSearch2.Id = 32
+ Me.btnSearch2.ImageOptions.SvgImage = CType(resources.GetObject("btnSearch2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnSearch2.Name = "btnSearch2"
+ '
+ 'btnPrevHighlight
+ '
+ Me.btnPrevHighlight.Caption = "Vorheriges Ergebnis"
+ Me.btnPrevHighlight.Enabled = False
+ Me.btnPrevHighlight.Id = 28
+ Me.btnPrevHighlight.ImageOptions.SvgImage = CType(resources.GetObject("btnPrevHighlight.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnPrevHighlight.Name = "btnPrevHighlight"
+ '
+ 'btnNextHighlight
+ '
+ Me.btnNextHighlight.Caption = "Nächstes Ergebnis"
+ Me.btnNextHighlight.Enabled = False
+ Me.btnNextHighlight.Id = 29
+ Me.btnNextHighlight.ImageOptions.SvgImage = CType(resources.GetObject("btnNextHighlight.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnNextHighlight.Name = "btnNextHighlight"
+ '
+ 'barDockControlTop
+ '
+ Me.barDockControlTop.CausesValidation = False
+ 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(634, 33)
+ '
+ 'barDockControlBottom
+ '
+ Me.barDockControlBottom.CausesValidation = False
+ Me.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.barDockControlBottom.Location = New System.Drawing.Point(0, 555)
+ Me.barDockControlBottom.Manager = Me.BarManager1
+ Me.barDockControlBottom.Size = New System.Drawing.Size(634, 0)
+ '
+ 'barDockControlLeft
+ '
+ Me.barDockControlLeft.CausesValidation = False
+ Me.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left
+ Me.barDockControlLeft.Location = New System.Drawing.Point(0, 33)
+ Me.barDockControlLeft.Manager = Me.BarManager1
+ Me.barDockControlLeft.Size = New System.Drawing.Size(0, 522)
+ '
+ 'barDockControlRight
+ '
+ Me.barDockControlRight.CausesValidation = False
+ Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right
+ Me.barDockControlRight.Location = New System.Drawing.Point(634, 33)
+ Me.barDockControlRight.Manager = Me.BarManager1
+ Me.barDockControlRight.Size = New System.Drawing.Size(0, 522)
+ '
+ 'BarStaticItem1
+ '
+ Me.BarStaticItem1.Caption = "Seiten"
+ Me.BarStaticItem1.Id = 17
+ Me.BarStaticItem1.Name = "BarStaticItem1"
+ '
+ 'btnSearch
+ '
+ Me.btnSearch.Caption = "Search"
+ Me.btnSearch.Id = 31
+ Me.btnSearch.ImageOptions.SvgImage = CType(resources.GetObject("btnSearch.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnSearch.Name = "btnSearch"
+ '
+ 'RepositoryItemTextEdit1
+ '
+ Me.RepositoryItemTextEdit1.AutoHeight = False
+ Me.RepositoryItemTextEdit1.Name = "RepositoryItemTextEdit1"
+ '
+ 'RepositoryItemColorEdit1
+ '
+ Me.RepositoryItemColorEdit1.AutoHeight = False
+ Me.RepositoryItemColorEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
+ Me.RepositoryItemColorEdit1.Name = "RepositoryItemColorEdit1"
+ Me.RepositoryItemColorEdit1.ShowCustomColors = False
+ Me.RepositoryItemColorEdit1.ShowSystemColors = False
+ Me.RepositoryItemColorEdit1.ShowWebColors = False
+ '
+ 'RepositoryItemComboBox1
+ '
+ Me.RepositoryItemComboBox1.AutoHeight = False
+ Me.RepositoryItemComboBox1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
+ Me.RepositoryItemComboBox1.Items.AddRange(New Object() {"Arrow", "Text"})
+ Me.RepositoryItemComboBox1.Name = "RepositoryItemComboBox1"
+ '
+ 'RepositoryItemSearchControl1
+ '
+ Me.RepositoryItemSearchControl1.AutoHeight = False
+ Me.RepositoryItemSearchControl1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Repository.ClearButton(), New DevExpress.XtraEditors.Repository.SearchButton()})
+ Me.RepositoryItemSearchControl1.Name = "RepositoryItemSearchControl1"
+ '
+ 'MyGDPViewer
+ '
+ Me.MyGDPViewer.AllowDropFile = False
+ Me.MyGDPViewer.AnimateGIF = True
+ Me.MyGDPViewer.AnnotationDropShadow = True
+ Me.MyGDPViewer.AnnotationEnableMultiSelect = True
+ Me.MyGDPViewer.AnnotationResizeRotateHandlesColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.MyGDPViewer.AnnotationResizeRotateHandlesScale = 1.0!
+ Me.MyGDPViewer.AnnotationSelectionLineColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer))
+ Me.MyGDPViewer.AutoScrollMargin = New System.Drawing.Size(0, 0)
+ Me.MyGDPViewer.AutoScrollMinSize = New System.Drawing.Size(0, 0)
+ Me.MyGDPViewer.BackColor = System.Drawing.Color.Black
+ Me.MyGDPViewer.BackgroundImage = Nothing
+ Me.MyGDPViewer.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
+ Me.MyGDPViewer.ClipAnnotsToPageBounds = True
+ Me.MyGDPViewer.ClipRegionsToPageBounds = True
+ Me.MyGDPViewer.ContinuousViewMode = True
+ Me.MyGDPViewer.DisplayQuality = GdPicture14.DisplayQuality.DisplayQualityAutomatic
+ Me.MyGDPViewer.DisplayQualityAuto = True
+ Me.MyGDPViewer.DocumentAlignment = GdPicture14.ViewerDocumentAlignment.DocumentAlignmentMiddleCenter
+ Me.MyGDPViewer.DocumentPosition = GdPicture14.ViewerDocumentPosition.DocumentPositionMiddleCenter
+ Me.MyGDPViewer.DrawPageBorders = True
+ Me.MyGDPViewer.EnableDeferredPainting = True
+ Me.MyGDPViewer.EnabledProgressBar = True
+ Me.MyGDPViewer.EnableFuzzySearch = False
+ Me.MyGDPViewer.EnableICM = False
+ Me.MyGDPViewer.EnableMenu = True
+ Me.MyGDPViewer.EnableMouseWheel = True
+ Me.MyGDPViewer.EnableTextSelection = True
+ Me.MyGDPViewer.ForceScrollBars = False
+ Me.MyGDPViewer.ForceTemporaryMode = False
+ Me.MyGDPViewer.ForeColor = System.Drawing.Color.Black
+ Me.MyGDPViewer.Gamma = 1.0!
+ Me.MyGDPViewer.HQAnnotationRendering = True
+ Me.MyGDPViewer.IgnoreDocumentResolution = False
+ Me.MyGDPViewer.KeepDocumentPosition = False
+ Me.MyGDPViewer.Location = New System.Drawing.Point(185, 138)
+ Me.MyGDPViewer.LockViewer = False
+ Me.MyGDPViewer.MagnifierHeight = 90
+ Me.MyGDPViewer.MagnifierWidth = 160
+ Me.MyGDPViewer.MagnifierZoomX = 2.0!
+ Me.MyGDPViewer.MagnifierZoomY = 2.0!
+ Me.MyGDPViewer.MouseButtonForMouseMode = GdPicture14.MouseButton.MouseButtonLeft
+ Me.MyGDPViewer.MouseMode = GdPicture14.ViewerMouseMode.MouseModePan
+ Me.MyGDPViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeZoom
+ Me.MyGDPViewer.Name = "MyGDPViewer"
+ Me.MyGDPViewer.PageBordersColor = System.Drawing.Color.Black
+ Me.MyGDPViewer.PageBordersPenSize = 1
+ Me.MyGDPViewer.PageDisplayMode = GdPicture14.PageDisplayMode.MultiplePagesView
+ Me.MyGDPViewer.PdfDisplayFormField = True
+ Me.MyGDPViewer.PdfEnableFileLinks = True
+ Me.MyGDPViewer.PdfEnableLinks = True
+ Me.MyGDPViewer.PdfIncreaseTextContrast = False
+ Me.MyGDPViewer.PdfShowDialogForPassword = True
+ Me.MyGDPViewer.PdfShowOpenFileDialogForDecryption = True
+ Me.MyGDPViewer.PdfVerifyDigitalCertificates = False
+ Me.MyGDPViewer.PreserveViewRotation = True
+ Me.MyGDPViewer.RectBorderColor = System.Drawing.Color.Black
+ Me.MyGDPViewer.RectBorderSize = 1
+ Me.MyGDPViewer.RectIsEditable = True
+ Me.MyGDPViewer.RegionsAreEditable = True
+ Me.MyGDPViewer.RenderGdPictureAnnots = True
+ Me.MyGDPViewer.ScrollBars = True
+ Me.MyGDPViewer.ScrollLargeChange = CType(50, Short)
+ Me.MyGDPViewer.ScrollSmallChange = CType(1, Short)
+ Me.MyGDPViewer.SilentMode = True
+ Me.MyGDPViewer.Size = New System.Drawing.Size(235, 206)
+ Me.MyGDPViewer.TabIndex = 6
+ Me.MyGDPViewer.TabStop = False
+ Me.MyGDPViewer.ViewRotation = System.Drawing.RotateFlipType.RotateNoneFlipNone
+ Me.MyGDPViewer.Visible = False
+ Me.MyGDPViewer.Zoom = 1.0R
+ Me.MyGDPViewer.ZoomCenterAtMousePosition = False
+ Me.MyGDPViewer.ZoomMode = GdPicture14.ViewerZoomMode.ZoomMode100
+ Me.MyGDPViewer.ZoomStep = 25
+ '
+ 'SpreadsheetControl1
+ '
+ Me.SpreadsheetControl1.Location = New System.Drawing.Point(40, 350)
+ Me.SpreadsheetControl1.MenuManager = Me.BarManager1
+ Me.SpreadsheetControl1.Name = "SpreadsheetControl1"
+ Me.SpreadsheetControl1.ReadOnly = True
+ Me.SpreadsheetControl1.Size = New System.Drawing.Size(216, 133)
+ Me.SpreadsheetControl1.TabIndex = 0
+ Me.SpreadsheetControl1.TabStop = False
+ Me.SpreadsheetControl1.Text = "SpreadsheetControl1"
+ Me.SpreadsheetControl1.Visible = False
+ '
+ 'lbFileNotLoaded
+ '
+ Me.lbFileNotLoaded.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lbFileNotLoaded.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lbFileNotLoaded.Appearance.Options.UseFont = True
+ Me.lbFileNotLoaded.Appearance.Options.UseTextOptions = True
+ Me.lbFileNotLoaded.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
+ Me.lbFileNotLoaded.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center
+ Me.lbFileNotLoaded.AutoEllipsis = True
+ Me.lbFileNotLoaded.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None
+ Me.lbFileNotLoaded.Location = New System.Drawing.Point(3, 74)
+ Me.lbFileNotLoaded.Name = "lbFileNotLoaded"
+ Me.lbFileNotLoaded.Size = New System.Drawing.Size(628, 72)
+ Me.lbFileNotLoaded.TabIndex = 0
+ Me.lbFileNotLoaded.Tag = ""
+ Me.lbFileNotLoaded.Text = "Die Datei konnte nicht geladen werden"
+ Me.lbFileNotLoaded.Visible = False
+ '
+ 'RichEditControl1
+ '
+ Me.RichEditControl1.Location = New System.Drawing.Point(309, 350)
+ Me.RichEditControl1.MenuManager = Me.BarManager1
+ Me.RichEditControl1.Name = "RichEditControl1"
+ Me.RichEditControl1.Size = New System.Drawing.Size(224, 122)
+ Me.RichEditControl1.TabIndex = 5
+ Me.RichEditControl1.Visible = False
+ '
+ 'lblInfo
+ '
+ Me.lblInfo.Location = New System.Drawing.Point(0, 0)
+ Me.lblInfo.Name = "lblInfo"
+ Me.lblInfo.Size = New System.Drawing.Size(100, 23)
+ Me.lblInfo.TabIndex = 0
+ '
+ 'lblNoFileSelected
+ '
+ Me.lblNoFileSelected.Appearance.Font = New System.Drawing.Font("Tahoma", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblNoFileSelected.Appearance.ForeColor = System.Drawing.Color.Firebrick
+ Me.lblNoFileSelected.Appearance.Options.UseFont = True
+ Me.lblNoFileSelected.Appearance.Options.UseForeColor = True
+ Me.lblNoFileSelected.Location = New System.Drawing.Point(18, 39)
+ Me.lblNoFileSelected.Name = "lblNoFileSelected"
+ Me.lblNoFileSelected.Size = New System.Drawing.Size(130, 19)
+ Me.lblNoFileSelected.TabIndex = 11
+ Me.lblNoFileSelected.Text = "No file selected"
+ '
+ 'DocumentViewer
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.lblNoFileSelected)
+ Me.Controls.Add(Me.RichEditControl1)
+ Me.Controls.Add(Me.lbFileNotLoaded)
+ Me.Controls.Add(Me.SpreadsheetControl1)
+ Me.Controls.Add(Me.MyGDPViewer)
+ 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(634, 555)
+ CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTextEdit3, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemSearchControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents MyGDPViewer As GdPicture14.GdViewer
+ Friend WithEvents OpenFileDialog As OpenFileDialog
+ Friend WithEvents SpreadsheetControl1 As DevExpress.XtraSpreadsheet.SpreadsheetControl
+ Friend WithEvents PrintDocument1 As Printing.PrintDocument
+ Friend WithEvents BarManager1 As DevExpress.XtraBars.BarManager
+ Friend WithEvents ToolbarDocumentViewer As DevExpress.XtraBars.Bar
+ Friend WithEvents buttonPrint As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonFitWidth As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonFitPage As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonZoomIn As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonZoomOut As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonRotateRight As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonRotateLeft As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonFlipX As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonFlipY As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonSettings As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents barDockControlTop As DevExpress.XtraBars.BarDockControl
+ Friend WithEvents barDockControlBottom As DevExpress.XtraBars.BarDockControl
+ Friend WithEvents barDockControlLeft As DevExpress.XtraBars.BarDockControl
+ Friend WithEvents barDockControlRight As DevExpress.XtraBars.BarDockControl
+ Friend WithEvents buttonFirstPage As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonPrevPage As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonNextPage As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents buttonLastPage As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents txtCurrentPage As DevExpress.XtraBars.BarEditItem
+ Friend WithEvents RepositoryItemTextEdit2 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
+ Friend WithEvents RepositoryItemTextEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
+ Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents RepositoryItemColorEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemColorEdit
+ Friend WithEvents RepositoryItemComboBox1 As DevExpress.XtraEditors.Repository.RepositoryItemComboBox
+ Friend WithEvents labelPageCount As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents txtSearch As DevExpress.XtraBars.BarEditItem
+ Friend WithEvents RepositoryItemTextEdit3 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
+ Friend WithEvents btnPrevHighlight As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnNextHighlight As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents RepositoryItemSearchControl1 As DevExpress.XtraEditors.Repository.RepositoryItemSearchControl
+ Friend WithEvents lbFileNotLoaded As DevExpress.XtraEditors.LabelControl
+ Friend WithEvents btnSearch As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnSearch2 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents RichEditControl1 As DevExpress.XtraRichEdit.RichEditControl
+ Friend WithEvents lblInfo As Label
+ Friend WithEvents lblNoFileSelected As DevExpress.XtraEditors.LabelControl
+End Class
diff --git a/DocumentViewer.resx b/DocumentViewer.resx
new file mode 100644
index 0000000..63fd272
--- /dev/null
+++ b/DocumentViewer.resx
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 19
+
+
+ 285, 22
+
+
+ 147
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
+ QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
+ MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iUHJpbnRfMV8i
+ Pg0KICAgIDxwYXRoIGQ9Ik0xMCw0aDEydjhoMlYySDh2MTBoMlY0eiBNMjgsMTBoLTJ2M2MwLDAuNi0w
+ LjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xdi0zSDRjLTEuMSwwLTIsMC45LTIsMiAgIHYxMmMwLDEu
+ MSwwLjksMiwyLDJoNHY0aDE2di00aDRjMS4xLDAsMi0wLjksMi0yVjEyQzMwLDEwLjksMjkuMSwxMCwy
+ OCwxMHogTTIyLDI0djJ2MkgxMHYtMnYtMnYtNGgxMlYyNHoiIGlkPSJQcmludCIgY2xhc3M9IkJsYWNr
+ IiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+ Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBpZD0iWm9vbV9PdXQiPg0KICAgIDxyZWN0
+ IHg9IjgiIHk9IjEyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iQmx1
+ ZSIgLz4NCiAgICA8cGF0aCBkPSJNMjkuNywyNy4zbC03LjktNy45YzEuMy0xLjgsMi4xLTQsMi4xLTYu
+ NWMwLTYuMS00LjktMTEtMTEtMTFDNi45LDIsMiw2LjksMiwxM3M0LjksMTEsMTEsMTEgICBjMi40LDAs
+ NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy
+ OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00
+ LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
+ YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
+ Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
+ Pg0KICA8ZyBpZD0iQmFja3dhcmQiPg0KICAgIDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZz
+ Ni4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMyMy43LDIsMTYsMnogTTI0LDE4aC04djZsLTgtOGw4LTh2
+ Nmg4VjE4eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
+ YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
+ Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
+ Pg0KICA8ZyBpZD0iRm9yd2FyZF8xXyI+DQogICAgPHBhdGggZD0iTTE2LDJDOC4zLDIsMiw4LjMsMiwx
+ NnM2LjMsMTQsMTQsMTRzMTQtNi4zLDE0LTE0UzIzLjcsMiwxNiwyeiBNMTYsMjR2LTZIOHYtNGg4Vjhs
+ OCw4TDE2LDI0eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFQEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
+ QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
+ MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRW5hYmxlU2Vh
+ cmNoIj4NCiAgICA8cGF0aCBkPSJNMTQuNSwxNy44QzEwLjgsMTcuMSw4LDEzLjksOCwxMGMwLTQuNCwz
+ LjYtOCw4LThzOCwzLjYsOCw4YzAsMS41LTAuNCwyLjgtMS4xLDRjMCwwLDAuMSwwLDAuMSwwICAgYzAu
+ NywwLDEuNCwwLjEsMi4xLDAuMmMwLjYtMS4zLDAuOS0yLjcsMC45LTQuMmMwLTUuNS00LjUtMTAtMTAt
+ MTBDMTAuNSwwLDYsNC41LDYsMTBjMCwyLjEsMC43LDQuMSwxLjgsNS43bC03LjUsNy42ICAgYy0wLjQs
+ MC4zLTAuNCwwLjksMCwxLjNsMS4yLDEuMmMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsNy42LTcuNmMwLjks
+ MC42LDEuOSwxLjEsMi45LDEuNEMxMy42LDE5LDE0LDE4LjQsMTQuNSwxNy44eiIgY2xhc3M9IkJsdWUi
+ IC8+DQogICAgPHBhdGggZD0iTTIzLDE2Yy00LjQsMC04LjEsMy05LDdjMC45LDQsNC42LDcsOSw3YzQu
+ NCwwLDguMS0zLDktN0MzMS4xLDE5LDI3LjQsMTYsMjMsMTZ6IE0yMywyOGMtMy4zLDAtNi4xLTItNy01
+ ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj
+ LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i
+ QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM
+ MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5
+ YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu
+ MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x
+ LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N
+ Cjwvc3ZnPgs=
+
+
+
+ 152, 18
+
+
\ No newline at end of file
diff --git a/DocumentViewer.resx.bak b/DocumentViewer.resx.bak
new file mode 100644
index 0000000..39f91ea
--- /dev/null
+++ b/DocumentViewer.resx.bak
@@ -0,0 +1,364 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 19
+
+
+ 285, 22
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
+ QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
+ MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iUHJpbnRfMV8i
+ Pg0KICAgIDxwYXRoIGQ9Ik0xMCw0aDEydjhoMlYySDh2MTBoMlY0eiBNMjgsMTBoLTJ2M2MwLDAuNi0w
+ LjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xdi0zSDRjLTEuMSwwLTIsMC45LTIsMiAgIHYxMmMwLDEu
+ MSwwLjksMiwyLDJoNHY0aDE2di00aDRjMS4xLDAsMi0wLjksMi0yVjEyQzMwLDEwLjksMjkuMSwxMCwy
+ OCwxMHogTTIyLDI0djJ2MkgxMHYtMnYtMnYtNGgxMlYyNHoiIGlkPSJQcmludCIgY2xhc3M9IkJsYWNr
+ IiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv
+ c3R5bGU+DQogIDwvZGVmcz4NCiAgPHBvbHlnb24gcG9pbnRzPSIyLjkyMSAwLjg5MyAyLjkyMSAxLjg5
+ MyAzLjkyMSAxLjg5MyA0LjAzOCAxLjg5MyA0LjAzOCAxNC40MzYgMy45MjEgMTQuNDM2IDIuOTIxIDE0
+ LjQzNiAyLjkyMSAxNS40MzYgNS4wMzggMTUuNDM2IDUuMDM4IDAuODkzIDIuOTIxIDAuODkzIiBjbGFz
+ cz0iY2xzLTEiIC8+DQogIDxwb2x5Z29uIHBvaW50cz0iNi41MzggMTYuOTg5IDYuNTM4IDE5LjEwNyA3
+ LjYgMTkuMTA3IDcuNiAxOC4xMDcgNy41OTkgMTguMTA3IDcuNTk5IDE3Ljk4OSA3LjYgMTcuOTg5IDE2
+ LjAxOCAxNy45ODkgMTYuMDE4IDE4LjEwNyAxNi4wMTggMTkuMTA3IDE3LjA3OSAxOS4xMDcgMTcuMDc5
+ IDE2Ljk4OSA2LjUzOCAxNi45ODkiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBhdGggZD0iTTExLjM3Mjks
+ Mi44OTM1bDMuNzA2MywzLjQ5MzRWMTMuNDM2SDguNTM4MVYyLjg5MzVoMi44MzQ4bS43OTQxLTJINi41
+ MzgxVjE1LjQzNkgxNy4wNzkyVjUuNTIzN0wxMi4xNjcuODkzNVoiIGNsYXNzPSJjbHMtMiIgLz4NCjwv
+ c3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiM3MDZmNmY7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHJlY3QgeD0iNi4wNTg2IiB5PSI3LjYwNzUiIHdpZHRoPSI3Ljg4MzgiIGhlaWdodD0iMS41MDgxIiBy
+ eD0iMCIgcnk9IjAiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHJlY3QgeD0iNi4wNTg2IiB5PSIxMC44ODQ0
+ IiB3aWR0aD0iNy44ODM4IiBoZWlnaHQ9IjEuNTA4MSIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iY2xzLTEi
+ IC8+DQogIDxyZWN0IHg9IjYuMDU4NiIgeT0iMTQuMTYxOSIgd2lkdGg9IjcuODgzOCIgaGVpZ2h0PSIx
+ LjUwODEiIHJ4PSIwIiByeT0iMCIgY2xhc3M9ImNscy0xIiAvPg0KICA8cmVjdCB4PSI2LjA1ODYiIHk9
+ IjQuMzMiIHdpZHRoPSIzLjc3OTMiIGhlaWdodD0iMS41MDgxIiByeD0iMCIgcnk9IjAiIGNsYXNzPSJj
+ bHMtMSIgLz4NCiAgPHBhdGggZD0iTTE3LDE5LjEwNjVIM1YuODkzNWg4Ljc1MUwxNyw2LjE3MVpNNSwx
+ Ny4wOTU2SDE1VjcuMDAzNkwxMC45MjI5LDIuOTA0NEg1WiIgY2xhc3M9ImNscy0xIiAvPg0KPC9zdmc+
+ Cw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPMCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+ Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8cG9seWdvbiBwb2ludHM9IjE4LDEyIDE0LDEy
+ IDE0LDggMTIsOCAxMiwxMiA4LDEyIDgsMTQgMTIsMTQgMTIsMTggMTQsMTggMTQsMTQgMTgsMTQgIiBj
+ bGFzcz0iQmx1ZSIgLz4NCiAgPHBhdGggZD0iTTI5LjcsMjcuM0wyMiwxOS42YzAsMC0wLjEtMC4xLTAu
+ MS0wLjFjMS4zLTEuOCwyLjEtNC4xLDIuMS02LjVjMC02LjEtNC45LTExLTExLTExQzYuOSwyLDIsNi45
+ LDIsMTMgIHM0LjksMTEsMTEsMTFjMi40LDAsNC43LTAuOCw2LjUtMi4xYzAsMCwwLDAuMSwwLjEsMC4x
+ bDcuNyw3LjdjMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwyOC4yLDMwLjEsMjcuNiwy
+ OS43LDI3LjN6ICAgTTQsMTNjMC01LDQtOSw5LTljNSwwLDksNCw5LDlzLTQsOS05LDlDOCwyMiw0LDE4
+ LDQsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+ Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBpZD0iWm9vbV9PdXQiPg0KICAgIDxyZWN0
+ IHg9IjgiIHk9IjEyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iQmx1
+ ZSIgLz4NCiAgICA8cGF0aCBkPSJNMjkuNywyNy4zbC03LjktNy45YzEuMy0xLjgsMi4xLTQsMi4xLTYu
+ NWMwLTYuMS00LjktMTEtMTEtMTFDNi45LDIsMiw2LjksMiwxM3M0LjksMTEsMTEsMTEgICBjMi40LDAs
+ NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy
+ OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00
+ LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHIBAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTExLjI5MiwxOC42OTh2LTJBNi42OTgsNi42OTgsMCwxLDAsNC41OTM4LDEwaC0yQTgu
+ Njk4Myw4LjY5ODMsMCwxLDEsMTEuMjkyLDE4LjY5OFoiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBvbHls
+ aW5lIHBvaW50cz0iMC4wMSAxMCAzLjU2NiAxNC45MjQgNy4xMjIgMTAiIGNsYXNzPSJjbHMtMSIgLz4N
+ Cjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHMBAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTguNzA4LDE4LjY5OHYtMkE2LjY5OCw2LjY5OCwwLDEsMSwxNS40MDYyLDEwaDJBOC42
+ OTgzLDguNjk4MywwLDEsMCw4LjcwOCwxOC42OThaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxwb2x5bGlu
+ ZSBwb2ludHM9IjE5Ljk5IDEwIDE2LjQzNCAxNC45MjQgMTIuODc4IDEwIiBjbGFzcz0iY2xzLTEiIC8+
+ DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIIBAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv
+ c3R5bGU+DQogIDwvZGVmcz4NCiAgPHJlY3QgeD0iMi45ODk3IiB5PSIyLjk5MDEiIHdpZHRoPSI3LjAx
+ MDMiIGhlaWdodD0iMTQuMDIiIHJ4PSIwIiByeT0iMCIgY2xhc3M9ImNscy0xIiAvPg0KICA8cGF0aCBk
+ PSJNMTkuMDEsMTkuMDFILjk5Vi45OUgxOS4wMVpNMi45OSwxNy4wMUgxNy4wMVYyLjk5SDIuOTlaIiBj
+ bGFzcz0iY2xzLTIiIC8+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIABAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv
+ c3R5bGU+DQogIDwvZGVmcz4NCiAgPHJlY3QgeD0iMi45ODk3IiB5PSIyLjk5IiB3aWR0aD0iMTQuMDIw
+ NSIgaGVpZ2h0PSI3LjAxIiByeD0iMCIgcnk9IjAiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBhdGggZD0i
+ TTE5LjAxLDE5LjAxSC45OVYuOTlIMTkuMDFaTTIuOTksMTcuMDFIMTcuMDFWMi45OUgyLjk5WiIgY2xh
+ c3M9ImNscy0yIiAvPg0KPC9zdmc+Cw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANUBAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTIwLDIwLDYuNjY2NywxMC4wMDA3LDIwLDBaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxw
+ YXRoIGQ9Ik0xMy4zMzMzLDE1VjVsLTYuNjY2Niw1WiIgY2xhc3M9ImNscy0xIiAvPg0KICA8cG9seWdv
+ biBwb2ludHM9IjEyLjYzIDE2LjQwNSA1Ljk2MyAxMS40MDUgNC4wOTEgMTAuMDAxIDUuOTYzIDguNTk2
+ IDEyLjYzIDMuNTk2IDEzLjMzMyAzLjA2OCAxMy4zMzMgMCAwIDEwLjAwMSAxMy4zMzMgMjAgMTMuMzMz
+ IDE2LjkzMiAxMi42MyAxNi40MDUiIGNsYXNzPSJjbHMtMSIgLz4NCjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP8AAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTE2LjY2NjcsMjAsMy4zMzMzLDEwLjAwMDcsMTYuNjY2NywwWiIgY2xhc3M9ImNscy0x
+ IiAvPg0KPC9zdmc+Cw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP0AAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTMuMzMzMywyMGwxMy4zMzM0LTkuOTk5M0wzLjMzMzMsMFoiIGNsYXNzPSJjbHMtMSIg
+ Lz4NCjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4BAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTAsMjBsMTMuMzMzMy05Ljk5OTNMMCwwWiIgY2xhc3M9ImNscy0xIiAvPg0KICA8cGF0
+ aCBkPSJNNi42NjY3LDE1VjVsNi42NjY2LDVaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxwb2x5Z29uIHBv
+ aW50cz0iNy4zNyAxNi40MDUgMTQuMDM3IDExLjQwNSAxNS45MDkgMTAuMDAxIDE0LjAzNyA4LjU5NiA3
+ LjM3IDMuNTk2IDYuNjY3IDMuMDY4IDYuNjY3IDAgMjAgMTAuMDAxIDYuNjY3IDIwIDYuNjY3IDE2Ljkz
+ MiA3LjM3IDE2LjQwNSIgY2xhc3M9ImNscy0xIiAvPg0KPC9zdmc+Cw==
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGQEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw
+ IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl
+ ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg
+ PHBhdGggZD0iTTE5LjY5NDEsMTAuOTM3M0E3Ljc5NjcsNy43OTY3LDAsMCwwLDE5Ljc0MzUsMTBhNy43
+ OTczLDcuNzk3MywwLDAsMC0uMDQ5NC0uOTM3NEwxNi44NDUyLDguMDM5YTcuMDYsNy4wNiwwLDAsMC0u
+ NjI5MS0xLjUwNDhsMS4yOTUxLTIuNzI1NmE4Ljk4OTMsOC45ODkzLDAsMCwwLTEuMzItMS4zMzIxbC0y
+ LjcyNTcsMS4yOTVhNy4zOSw3LjM5LDAsMCwwLTEuNTE3LS42MTY2TDEwLjkzNzQuMzA1OEE3LjgxOTIs
+ Ny44MTkyLDAsMCwwLDEwLC4yNTY1YTcuODE5Miw3LjgxOTIsMCwwLDAtLjkzNzQuMDQ5M0w4LjA1MTIs
+ My4xNTQ5YTcuMzksNy4zOSwwLDAsMC0xLjUxNy42MTY2TDMuODA4NSwyLjQ3NjVhOC45ODkzLDguOTg5
+ MywwLDAsMC0xLjMyLDEuMzMyMUwzLjc4MzksNi41MzQyQTYuNDgwNiw2LjQ4MDYsMCwwLDAsMy4xNTQ4
+ LDguMDM5TC4zMDU5LDkuMDYyNkE3Ljc5NzMsNy43OTczLDAsMCwwLC4yNTY1LDEwYTcuNzk2Nyw3Ljc5
+ NjcsMCwwLDAsLjA0OTQuOTM3M2wyLjg0ODksMS4wMTE0YTYuNDc5MSw2LjQ3OTEsMCwwLDAsLjYyOTEs
+ MS41MDQ2TDIuNDg4OCwxNi4xOTE0YTkuNTQ3Miw5LjU0NzIsMCwwLDAsMS4zMiwxLjMybDIuNzI1Ny0x
+ LjI5NWE4LjIwMTQsOC4yMDE0LDAsMCwwLDEuNTE3LjYyOWwxLjAxMTQsMi44NDlBNy44MTksNy44MTks
+ MCwwLDAsMTAsMTkuNzQzNWE3LjgxOSw3LjgxOSwwLDAsMCwuOTM3NC0uMDQ5NGwxLjAxMTQtMi44NDlh
+ OC4yMDE0LDguMjAxNCwwLDAsMCwxLjUxNy0uNjI5bDIuNzI1NywxLjI5NWE5LjU0NzIsOS41NDcyLDAs
+ MCwwLDEuMzItMS4zMmwtMS4yOTUxLTIuNzM4MWE3LjA1NzksNy4wNTc5LDAsMCwwLC42MjkxLTEuNTA0
+ NlpNMTAsMTQuMTNBNC4xMzMxLDQuMTMzMSwwLDEsMSwxNC4xMzMxLDkuOTk3LDQuMTMzMiw0LjEzMzIs
+ MCwwLDEsMTAsMTQuMTNaIiBjbGFzcz0iY2xzLTEiIC8+DQo8L3N2Zz4L
+
+
+
+ 152, 18
+
+
\ No newline at end of file
diff --git a/DocumentViewer.sln b/DocumentViewer.sln
new file mode 100644
index 0000000..132c0d8
--- /dev/null
+++ b/DocumentViewer.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36915.13 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DocumentViewer", "DocumentViewer.vbproj", "{0958CDDF-4A16-41F6-8837-8335F71D599C}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {96C1F891-6F63-4E32-B5BD-BC359FD0CEA0}
+ EndGlobalSection
+EndGlobal
diff --git a/DocumentViewer.vb b/DocumentViewer.vb
new file mode 100644
index 0000000..5a9421e
--- /dev/null
+++ b/DocumentViewer.vb
@@ -0,0 +1,1009 @@
+Imports System.IO
+Imports DevExpress
+Imports DevExpress.Spreadsheet
+Imports DevExpress.XtraRichEdit.Commands
+Imports DevExpress.Office.Utils
+Imports GdPicture14
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Messaging
+Imports DigitalData.Modules.Config
+
+Public Class DocumentViewer
+ Private Enum ZoomMode
+ Zoom50
+ Zoom100
+ Zoom150
+ Zoom200
+ ZoomSelectedArea
+ ZoomFitToViewer
+ ZoomFitWidth
+ ZoomFitHeight
+ End Enum
+
+ Private Enum ViewerMode
+ GDPicture
+ Excel
+ Richtext
+ End Enum
+
+ Private Enum FileLoadMode
+ File
+ Stream
+ End Enum
+
+ Public ReadOnly Property PdfViewer As GdViewer
+ Get
+ Return MyGDPViewer
+ End Get
+ End Property
+
+ Private _logConfig As LogConfig
+ Private _logger As Logger
+ Private _Config As ConfigManager(Of Config)
+ Private _email As Email2
+
+ Private _ViewerMode As ViewerMode
+
+ Private _licenseKey As String = String.Empty
+ Private _licenseManager As New GdPicture14.LicenseManager()
+
+ Private _Search As Search
+ Private _Annotations As Annotations
+ Private _AnnotationsPending As Boolean = False
+
+ Private _ToolbarSettings As New ToolbarSettings
+
+ 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
+ Private _ViewOverride As String = ""
+
+ ' List of all created temp files when converting msg files
+ Private _TempFiles As New List(Of String)
+
+ Private Sub DocumentViewer_Load(sender As Object, e As EventArgs) Handles Me.Load
+ ' Ensure search is initialized once the control (and GdViewer) exists
+ EnsureSearchInitialized()
+ UpdateMainUi()
+ UpdateNoFileSelectedLabel(FileLoaded)
+ End Sub
+
+ Private Sub DocumentViewer_FileLoadedChanged(ByVal sender As Object, ByVal isLoaded As Boolean) Handles Me.FileLoadedChanged
+ UpdateNoFileSelectedLabel(isLoaded)
+ End Sub
+
+ Private Sub UpdateNoFileSelectedLabel(ByVal isLoaded As Boolean)
+ If lblNoFileSelected IsNot Nothing Then
+ lblNoFileSelected.Visible = Not isLoaded
+ End If
+ End Sub
+
+ 'hallo
+ Public Class ToolbarSettings
+ Public Property ShowPrintButton As Boolean = True
+ Public Property ShowFitWidthButton As Boolean = True
+ Public Property ShowFitPageButton As Boolean = True
+ Public Property ShowZoomButton As Boolean = True
+ Public Property ShowRotateButton As Boolean = True
+ Public Property ShowFlipButton As Boolean = True
+ Public Property ShowSearchButton As Boolean = True
+ Public Property ShowSettingButton As Boolean = True
+ End Class
+
+ Private _fileLoaded As Boolean = False
+
+ Public Event FileLoadedChanged(ByVal sender As Object, ByVal isLoaded As Boolean)
+
+ Public Property FileLoaded As Boolean
+ Get
+ Return _fileLoaded
+ End Get
+ Set(ByVal value As Boolean)
+ If _fileLoaded = value Then
+ Return
+ End If
+
+ _fileLoaded = value
+ RaiseEvent FileLoadedChanged(Me, _fileLoaded)
+ End Set
+ End Property
+
+ Public Property Viewer_ForceTemporaryMode As Boolean = False
+ Public ReadOnly Property AnnotationsSaved As Boolean
+ Get
+ Return Not _AnnotationsPending
+ End Get
+ End Property
+
+ '''
+ ''' Initialize the Viewer
+ '''
+ ''' A LogConfig object
+ ''' The GDPicture.NET License Key
+ Public Function Init(pLogConfig As LogConfig, pLicenseKey As String, Optional pToolbarSettings As ToolbarSettings = Nothing) As Boolean
+ _logConfig = pLogConfig
+ _logger = pLogConfig.GetLogger()
+
+ If pToolbarSettings Is Nothing Then
+ pToolbarSettings = New ToolbarSettings
+ End If
+
+ Try
+ _email = New Email2(pLogConfig)
+ If pLicenseKey = String.Empty Then
+ _logger.Warn("License key was not provided during init-process!")
+ Return False
+ End If
+ _licenseKey = pLicenseKey
+ _licenseManager.RegisterKEY(_licenseKey)
+ _Annotations = New Annotations(pLogConfig)
+ ' Defer creating Search until GdViewer is ready
+ EnsureSearchInitialized()
+ _ToolbarSettings = pToolbarSettings
+
+ Dim oConfigPath = ConfigPath()
+ _Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath)
+ Return True
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ ' Create the Search helper only when both the log config and the GdViewer control exist
+ Private Sub EnsureSearchInitialized()
+ Try
+ If _Search Is Nothing AndAlso _logConfig IsNot Nothing AndAlso MyGDPViewer IsNot Nothing Then
+ _Search = New Search(_logConfig, MyGDPViewer)
+ End If
+ Catch ex As Exception
+ _logger?.Error(ex)
+ End Try
+ End Sub
+
+ '''
+ ''' Load a file from a path and display it
+ '''
+ Public Sub LoadFile_FromPath(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)
+ SetViewerMode(_FileInfo.Extension)
+ FileLoaded = DoLoadFile(FilePath)
+ UpdateMainUi()
+ End Sub
+
+ '''
+ ''' Load a file from a stream and display it
+ '''
+ Public Sub LoadFile_FromStream(FileName As String, Stream As Stream)
+ FileLoaded = False
+
+
+
+ Dim oExtension As String = FileName.Substring(FileName.LastIndexOf("."))
+
+ _FileStream = Stream
+ _FileLoadMode = FileLoadMode.Stream
+
+ _logger.Info("Loading file [{0}] from Stream", FileName)
+ FileLoaded = DoLoadFileExtension(Stream, oExtension)
+
+ SetViewerMode(oExtension)
+ UpdateMainUi()
+ End Sub
+
+ '''
+ ''' Terminate Viewer, freeing up resources and deleting temp files
+ '''
+ Public Sub Done()
+ Try
+ _logger.Debug("Done: Deleting Temp Files")
+ DeleteTempFiles()
+
+ _logger.Debug("Done: Closing Documents")
+ FreeFile()
+
+ _logger.Debug("Done: Triggering GC")
+ GC.Collect()
+ Catch ex As Exception
+ _logger.Warn("Error while cleaning up DocumentViewer")
+ _logger.Error(ex)
+ End Try
+ End Sub
+
+ Public Function AddAnnotation(pText As String) As Boolean
+ 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
+
+ MyGDPViewer.AddTextAnnotationInteractive(pText, oFontColor, oFontFamily, oFontStyle, oFontSize, Fill:=True, oBorderColor, oBackColor, oOpacity, oRotation)
+ _AnnotationsPending = True
+
+ Return True
+ End Function
+
+ Public Function Save() As Boolean
+ Dim oSaveResult As GdPictureStatus = GdPictureStatus.OK
+
+ If MyGDPViewer.BurnAnnotationsToPage(True, False) = GdPictureStatus.OK Then
+ If _FileLoadMode = FileLoadMode.Stream Then
+ oSaveResult = MyGDPViewer.SaveDocumentToPDF(_FileStream)
+ Else
+ oSaveResult = MyGDPViewer.SaveDocumentToPDF(_FilePath)
+ End If
+ End If
+
+ If oSaveResult = GdPictureStatus.OK Then
+ _AnnotationsPending = False
+ Return True
+ Else
+ Return False
+ End If
+ End Function
+
+ Public Sub CloseDocument()
+ Try
+ ' Null-sicher schließen
+ If MyGDPViewer IsNot Nothing Then
+ Try
+ MyGDPViewer.CloseDocument()
+ Catch exInner As Exception
+ _logger?.Warn("Fehler beim Schließen von GdViewer")
+ _logger?.Error(exInner)
+ End Try
+ Else
+ _logger?.Debug("CloseDocument: GdViewer ist Nothing – nichts zu schließen")
+ End If
+
+ _FileInfo = Nothing
+ _FilePath = Nothing
+ _FileStream = Nothing
+ FileLoaded = False
+ UpdateMainUi()
+ Catch ex As Exception
+ _logger.Error(ex)
+ FileLoaded = False
+ End Try
+ End Sub
+
+ '''
+ ''' Configures the viewer to hide the file path to the end-user.
+ '''
+ '''
+ ''' True means that all file info should be hidden from the end-user
+ ''' False means the end user may see the filepath or other info about the file
+ '''
+ Public Sub SetViewOnly(ViewOnly As Boolean)
+ If ViewOnly Then
+ buttonPrint.Visibility = XtraBars.BarItemVisibility.Never
+ Else
+ buttonPrint.Visibility = XtraBars.BarItemVisibility.Always
+ End If
+
+ _hide_file_info_from_user = ViewOnly
+ End Sub
+
+ Public Sub SetAllowAnnotations(AllowAnnotations As Boolean)
+
+ End Sub
+
+ '''
+ ''' DEPRECATED: Use SetViewOnly
+ '''
+ Public Sub RightViewOnly(ViewOnly As Boolean)
+ SetViewOnly(ViewOnly)
+ End Sub
+
+ '''
+ ''' DEPRECATED: Use SetViewOnly
+ '''
+ Public Sub RightOnlyView(ViewOnly As Boolean)
+ SetViewOnly(ViewOnly)
+ End Sub
+
+
+
+
+
+#Region "Form Events"
+
+ Private Sub btnFitWidth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitWidth.ItemClick
+ FitToWidth()
+ _Config.Config.PageFit = Config.PageFitSetting.FitWidth
+ _Config.Save()
+ End Sub
+
+ Private Sub btnFitPage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitPage.ItemClick
+ FitToPage()
+ _Config.Config.PageFit = Config.PageFitSetting.FitPage
+ _Config.Save()
+ End Sub
+
+ Private Sub btnOpen_Click(sender As Object, e As EventArgs)
+ FitToWidth()
+ MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
+
+ If OpenFileDialog.ShowDialog() = DialogResult.OK Then
+ MyGDPViewer.DisplayFromFile(OpenFileDialog.FileName)
+ End If
+ ShowGdViewer()
+ MyGDPViewer.Focus()
+ UpdateMainUi()
+ End Sub
+ Private Sub BtnFirstPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonFirstPage.ItemClick
+ MyGDPViewer.DisplayFirstPage()
+ End Sub
+
+ Private Sub BtnPreviousPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonPrevPage.ItemClick
+ MyGDPViewer.DisplayPreviousPage()
+ End Sub
+
+ Private Sub BtnNextPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonNextPage.ItemClick
+ MyGDPViewer.DisplayNextPage()
+ End Sub
+
+ Private Sub BtnLastPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonLastPage.ItemClick
+ MyGDPViewer.DisplayLastPage()
+ End Sub
+
+ Private Sub TbCurrentPage_Leave(ByVal sender As System.Object, ByVal e As EventArgs) Handles txtCurrentPage.EditValueChanged
+ Dim page As Integer = 0
+ If Integer.TryParse(txtCurrentPage.EditValue, page) Then
+ If page > 0 And page <= MyGDPViewer.PageCount Then
+ MyGDPViewer.DisplayPage(page)
+ UpdateaNavigationToolbar()
+ End If
+ End If
+ End Sub
+
+ Private Sub GdViewer1_PageChanged() Handles MyGDPViewer.PageChanged
+ UpdateaNavigationToolbar()
+ End Sub
+
+ Private Sub GdViewer1_AfterZoomChange() Handles MyGDPViewer.AfterZoomChange
+ UpdateaNavigationToolbar()
+ If MyGDPViewer.MouseMode = ViewerMouseMode.MouseModeAreaZooming Then
+ MyGDPViewer.MouseMode = ViewerMouseMode.MouseModePan
+ End If
+ End Sub
+
+ Private Sub btnZoomOut_Click(sender As Object, e As EventArgs) Handles buttonZoomOut.ItemClick
+ MyGDPViewer.ZoomOUT()
+ End Sub
+
+ Private Sub btnZoomIn_Click(sender As Object, e As EventArgs) Handles buttonZoomIn.ItemClick
+ MyGDPViewer.ZoomIN()
+ End Sub
+
+ Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles buttonPrint.ItemClick
+ If MyGDPViewer.PageCount = 0 Then
+ Return
+ End If
+
+ MyGDPViewer.PrintDialog()
+ End Sub
+
+ Private Sub BtnRotateLeft_Click(sender As Object, e As EventArgs) Handles buttonRotateLeft.ItemClick
+ MyGDPViewer.Rotate(RotateFlipType.Rotate270FlipNone)
+ End Sub
+
+ Private Sub BtnRotateRight_Click(sender As Object, e As EventArgs) Handles buttonRotateRight.ItemClick
+ MyGDPViewer.Rotate(RotateFlipType.Rotate90FlipNone)
+ End Sub
+
+ Private Sub btnFlipX_Click(sender As Object, e As EventArgs) Handles buttonFlipX.ItemClick
+ MyGDPViewer.Rotate(RotateFlipType.RotateNoneFlipX)
+ End Sub
+
+ Private Sub btnFlipY_Click(sender As Object, e As EventArgs) Handles buttonFlipY.ItemClick
+ MyGDPViewer.Rotate(RotateFlipType.RotateNoneFlipY)
+ End Sub
+
+ Private Sub GdViewer1_TransferEnded(ByVal status As GdPictureStatus, ByVal download As System.Boolean) Handles MyGDPViewer.TransferEnded
+ MyGDPViewer.Focus()
+ UpdateMainUi()
+ End Sub
+
+ Private Sub AddSearchRegion(ByVal occurence As Integer, ByVal leftCoordinate As Single, ByVal topCoordinate As Single, ByVal regionWidth As Single, ByVal regionheight As Single, ByVal ensureVisibility As Boolean)
+ Dim searchRegion As Integer = MyGDPViewer.AddRegionInches("SearchResult" & occurence, leftCoordinate, topCoordinate, regionWidth, regionheight, ForegroundMixMode.ForegroundMixModeMASKPEN, Color.Yellow)
+ MyGDPViewer.SetRegionEditable(searchRegion, False)
+ If ensureVisibility Then
+ MyGDPViewer.EnsureRegionVisibility(searchRegion)
+ End If
+ End Sub
+
+ Private Sub BtnSettings_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonSettings.ItemClick
+ Using frmSettings As New frmViewerSettings(MyGDPViewer)
+ frmSettings.ShowDialog(Me)
+ End Using
+ UpdateaNavigationToolbar()
+ End Sub
+#End Region
+
+#Region "Private Functions"
+ Private Function ConfigPath() As String
+ Return Path.Combine(Application.UserAppDataPath, "DocumentViewer")
+ End Function
+
+ Private Sub UpdateaNavigationToolbar()
+ Try
+ Dim oCurrentZoom As Double = MyGDPViewer.Zoom
+ Dim oCurrentPage As Integer = MyGDPViewer.CurrentPage
+ Dim oPageCount As Integer = MyGDPViewer.PageCount
+ txtCurrentPage.EditValue = oCurrentPage
+ labelPageCount.Caption = $"/ {oPageCount}"
+
+ If oCurrentPage = oPageCount Then
+ buttonLastPage.Enabled = False
+ buttonNextPage.Enabled = False
+ buttonPrevPage.Enabled = True
+ buttonFirstPage.Enabled = True
+ ElseIf oCurrentPage = 1 Then
+ buttonPrevPage.Enabled = False
+ buttonFirstPage.Enabled = False
+ buttonLastPage.Enabled = True
+ buttonNextPage.Enabled = True
+ Else
+ buttonPrevPage.Enabled = True
+ buttonFirstPage.Enabled = True
+ buttonLastPage.Enabled = True
+ buttonNextPage.Enabled = True
+ End If
+ Catch ex As Exception
+ _logger.Error(ex)
+ End Try
+ End Sub
+
+ Public Sub DeleteTempFiles()
+ For Each oFile In _TempFiles
+ Try
+ _logger.Debug("Deleting temp file [{0}]", oFile)
+ File.Delete(oFile)
+ Catch ex As Exception
+ _logger.Warn("Could not delete temp file [{0}]", oFile)
+ End Try
+ Next
+ End Sub
+
+ Private Sub SetViewerMode(Extension As String)
+ If _ViewOverride = "Richtext" Then
+ _ViewerMode = ViewerMode.Richtext
+ Else
+ Select Case Extension.ToUpper
+ Case "CSV"
+ _ViewerMode = ViewerMode.Excel
+ Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
+ _ViewerMode = ViewerMode.Richtext
+ Case Else
+ _ViewerMode = ViewerMode.GDPicture
+ End Select
+ End If
+ End Sub
+ Private Sub FreeFile()
+ Try
+ If Len(_FilePath) = 0 OrElse _FileInfo Is Nothing Then
+ Exit Sub
+ End If
+ Dim oExtension As String = _FileInfo.Extension.ToUpper
+ Select Case _ViewerMode
+ Case ViewerMode.Excel
+ _logger.Debug("Closing Excel Editor")
+ SpreadsheetControl1.CreateNewDocument()
+ Case Else
+ _logger.Debug("Closing GDPicture Viewer")
+ MyGDPViewer.CloseDocument()
+ End Select
+ Catch ex As Exception
+ _logger.Warn($"Unexpected error in FreeFile: {ex.Message}")
+ End Try
+ End Sub
+ 'Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean
+ ' Try
+ ' lblInfo.Visible = False
+ ' Dim oFileInfo = New FileInfo(FilePath)
+ ' Dim oExtension As String = oFileInfo.Extension.ToUpper
+
+ ' lbFileNotLoaded.Visible = False
+
+ ' SpreadsheetControl1.Visible = False
+ ' RichEditControl1.Visible = False
+
+ ' SpreadsheetControl1.Dock = DockStyle.None
+ ' RichEditControl1.Dock = DockStyle.None
+
+ ' Dim override_Spreadsheet As Boolean = False
+ ' If oExtension.ToLower = ".xlsx" Then
+ ' If oFileInfo.Length > 15000 Then
+ ' _logger.Info("Override")
+ ' override_Spreadsheet = True
+ ' End If
+ ' End If
+
+ ' If ViewOverride = "Richtext" Then
+ ' RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
+ ' RichEditControl1.Visible = True
+ ' GdViewer.Visible = False
+ ' RichEditControl1.Dock = DockStyle.Fill
+ ' _ViewOverride = "Richtext"
+ ' _ViewerMode = ViewerMode.Richtext
+ ' lblInfo.Visible = True
+ ' lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD"
+ ' ElseIf override_Spreadsheet = True Then
+ ' Dim oFormat = GetSpreadsheetFormat(oExtension)
+ ' SpreadsheetControl1.LoadDocument(FilePath, oFormat)
+
+ ' Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
+ ' oRange.AutoFitColumns()
+
+ ' SpreadsheetControl1.Visible = True
+ ' GdViewer.Visible = False
+ ' SpreadsheetControl1.Dock = DockStyle.Fill
+ ' Else
+ ' _ViewOverride = ""
+ ' Select Case oExtension.ToUpper
+ ' Case ".CSV"
+ ' Dim oFormat = GetSpreadsheetFormat(oExtension)
+ ' SpreadsheetControl1.LoadDocument(FilePath, oFormat)
+
+ ' Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
+ ' oRange.AutoFitColumns()
+
+ ' SpreadsheetControl1.Visible = True
+ ' GdViewer.Visible = False
+ ' SpreadsheetControl1.Dock = DockStyle.Fill
+
+ ' 'Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
+ ' ' RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
+
+ ' ' RichEditControl1.Visible = True
+ ' ' GdViewer.Visible = False
+ ' ' RichEditControl1.Dock = DockStyle.Fill
+ ' Case Else
+ ' Select Case oExtension.ToUpper
+ ' Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT"
+ ' GdViewer.ForceTemporaryMode = False
+ ' End Select
+
+ ' GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
+ ' GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
+ ' If Viewer_ForceTemporaryMode = True Then
+ ' GdViewer.ForceTemporaryMode = True
+ ' End If
+
+ ' GdViewer.AnnotationDropShadow = True
+ ' GdViewer.BackColor = Color.White
+
+ ' Dim oGDPState As GdPicture14.GdPictureStatus = GdViewer.DisplayFromFile(FilePath)
+ ' If oGDPState <> GdPictureStatus.OK Then
+ ' _logger.Warn($"GdPictureStatus is [{oGDPState}]")
+ ' If oExtension.ToUpper = ".DOCX" And oGDPState = GdPictureStatus.GenericError Then
+ ' DoLoadFile(FilePath, "Richtext")
+ ' Else
+ ' Dim oFileName = IO.Path.GetFileName(FilePath)
+ ' lbFileNotLoaded.Text = String.Format("Datei konnte nicht geladen werden:{0}{1}", vbCrLf, oFileName)
+ ' lbFileNotLoaded.Visible = True
+ ' End If
+
+ ' Else
+ ' If GdViewer.Visible = False Then
+ ' GdViewer.Visible = True
+ ' End If
+ ' End If
+
+ ' End Select
+ ' End If
+ ' If _ViewOverride = "Richtext" Then
+ ' _ViewerMode = ViewerMode.Richtext
+ ' End If
+
+
+ ' Return True
+ ' Catch ex As Exception
+ ' _logger.Error(ex)
+ ' Return False
+ ' End Try
+ 'End Function
+ Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean
+ Try
+ If Not EnsureViewerReady() Then
+ _logger?.Warn("GdViewer control is not initialized yet. Delaying load.")
+ Return False
+ End If
+
+ Dim oFileInfo = New FileInfo(FilePath)
+ Dim oExtension = oFileInfo.Extension.ToUpper
+
+ ' Reset UI state
+ HideAllViewers()
+ lbFileNotLoaded.Visible = False
+ lblInfo.Visible = False
+
+ ' Determine viewer mode and load file
+ If ViewOverride = "Richtext" Then
+ Return LoadRichtextFile(FilePath, oExtension)
+ ElseIf oExtension = ".CSV" Or (oExtension = ".XLSX" AndAlso oFileInfo.Length > 15000) Then
+ Return LoadSpreadsheetFile(FilePath, oExtension)
+ Else
+ Return LoadGdPictureFile(FilePath, oExtension)
+ End If
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ Private Sub HideAllViewers()
+ SpreadsheetControl1.Visible = False
+ SpreadsheetControl1.Dock = DockStyle.None
+ RichEditControl1.Visible = False
+ RichEditControl1.Dock = DockStyle.None
+ HideGdViewer()
+ End Sub
+
+ Private Function LoadRichtextFile(FilePath As String, Extension As String) As Boolean
+ Try
+ RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(Extension))
+ RichEditControl1.Visible = True
+ RichEditControl1.Dock = DockStyle.Fill
+ _ViewOverride = "Richtext"
+ _ViewerMode = ViewerMode.Richtext
+ lblInfo.Visible = True
+ lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD"
+ Return True
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ Private Function LoadSpreadsheetFile(FilePath As String, Extension As String) As Boolean
+ Try
+ _logger.Debug("Loading Spreadsheet: {0}", FilePath)
+ Dim oFormat = GetSpreadsheetFormat(Extension)
+ SpreadsheetControl1.LoadDocument(FilePath, oFormat)
+
+ Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
+ oRange.AutoFitColumns()
+
+ SpreadsheetControl1.Visible = True
+ SpreadsheetControl1.Dock = DockStyle.Fill
+ _ViewerMode = ViewerMode.Excel
+ _ViewOverride = ""
+ Return True
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ Private Function LoadGdPictureFile(FilePath As String, Extension As String) As Boolean
+ Try
+ _logger.Debug("Loading GdPicture: {0}", FilePath)
+
+ ' Set force temporary mode for specific file types
+ Select Case Extension
+ Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT"
+ MyGDPViewer.ForceTemporaryMode = True
+ End Select
+
+ MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
+ If Viewer_ForceTemporaryMode Then
+ MyGDPViewer.ForceTemporaryMode = True
+ End If
+ MyGDPViewer.AnnotationDropShadow = True
+
+ Dim oGDPState = MyGDPViewer.DisplayFromFile(FilePath)
+
+ If oGDPState <> GdPictureStatus.OK Then
+ _logger.Warn("GdPictureStatus: {0}", oGDPState)
+
+ ' Fallback to Richtext for corrupted DOCX
+ If Extension = ".DOCX" AndAlso oGDPState = GdPictureStatus.GenericError Then
+ HideGdViewer()
+ Return LoadRichtextFile(FilePath, Extension)
+ Else
+ ShowFileNotLoadedError(FilePath)
+ Return False
+ End If
+ End If
+
+ ShowGdViewer()
+ MyGDPViewer.MouseWheelMode = ViewerMouseWheelMode.MouseWheelModeVerticalScroll
+ _ViewerMode = ViewerMode.GDPicture
+ _ViewOverride = ""
+ Return True
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ ShowFileNotLoadedError(FilePath)
+ Return False
+ End Try
+ End Function
+
+ Private Sub ShowFileNotLoadedError(FilePath As String)
+ Dim oFileName = IO.Path.GetFileName(FilePath)
+ lbFileNotLoaded.Text = String.Format("Datei konnte nicht geladen werden:{0}{1}", vbCrLf, oFileName)
+ lbFileNotLoaded.Visible = True
+ HideGdViewer()
+ End Sub
+ ' Ensures the embedded GdViewer control exists and is added to the visual tree
+ Private Function EnsureViewerReady() As Boolean
+ Try
+ ' If the control field is Nothing (e.g., designer not yet created), try to lazy-create and add it
+ If MyGDPViewer Is Nothing Then
+ ' Attempt to find an existing instance by name in Controls collection
+ Dim existing = Me.Controls.OfType(Of GdPicture14.GdViewer)().FirstOrDefault()
+ If existing IsNot Nothing Then
+ ' Assign the designer field via reflection if needed, otherwise use it directly
+ MyGDPViewer = existing
+ Else
+ ' Last resort: create a new viewer and add it
+ Dim viewer = New GdPicture14.GdViewer()
+ viewer.Dock = DockStyle.Fill
+ Me.Controls.Add(viewer)
+ MyGDPViewer = viewer
+ End If
+ End If
+
+ Return MyGDPViewer IsNot Nothing
+ Catch ex As Exception
+ _logger?.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ Private Sub FitToPage()
+ If Not MyGDPViewer Is Nothing Then
+ MyGDPViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
+ End If
+ End Sub
+
+ Private Sub FitToWidth()
+ If Not MyGDPViewer Is Nothing Then
+ MyGDPViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
+ End If
+
+ End Sub
+
+ Private Sub ShowGdViewer()
+ If MyGDPViewer IsNot Nothing Then
+ MyGDPViewer.Dock = DockStyle.Fill
+ MyGDPViewer.Visible = True
+ FitToWidth()
+ End If
+ End Sub
+
+ Private Sub HideGdViewer()
+ If MyGDPViewer IsNot Nothing Then
+ MyGDPViewer.Visible = False
+ MyGDPViewer.Dock = DockStyle.None
+ End If
+ End Sub
+
+ Private Function DoLoadFileExtension(Stream As Stream, Extension As String) As Boolean
+
+ Try
+
+ SpreadsheetControl1.Visible = False
+ SpreadsheetControl1.Dock = DockStyle.None
+
+ Select Case Extension.ToUpper
+
+ Case ".CSV"
+ SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension))
+ Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
+ oRange.AutoFitColumns()
+ SpreadsheetControl1.Visible = True
+ SpreadsheetControl1.Dock = DockStyle.Fill
+ Case Else
+ If Not MyGDPViewer Is Nothing Then
+ MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
+ If Viewer_ForceTemporaryMode = True Then
+ MyGDPViewer.ForceTemporaryMode = True
+ End If
+ MyGDPViewer.AnnotationDropShadow = True
+ MyGDPViewer.DisplayFromStream(Stream)
+ ShowGdViewer()
+ End If
+ End Select
+ UpdateMainUi()
+ Return True
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+ Private Function StreamFile(Stream As Stream, Extension As String) As Boolean
+ Try
+
+ SpreadsheetControl1.Visible = False
+ SpreadsheetControl1.Dock = DockStyle.None
+
+ Select Case Extension.ToUpper
+
+ Case ".CSV"
+ SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension))
+
+ Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
+ oRange.AutoFitColumns()
+
+ SpreadsheetControl1.Visible = True
+ SpreadsheetControl1.Dock = DockStyle.Fill
+
+ Case Else
+ MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
+ MyGDPViewer.ForceTemporaryMode = True
+ MyGDPViewer.AnnotationDropShadow = True
+
+ MyGDPViewer.DisplayFromStream(Stream)
+ ShowGdViewer()
+ End Select
+
+ UpdateMainUi()
+
+ Return True
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return False
+ End Try
+ End Function
+
+ Private Function GetSpreadsheetFormat(Extension) As Spreadsheet.DocumentFormat
+ Dim oFormat As Spreadsheet.DocumentFormat = Spreadsheet.DocumentFormat.Undefined
+
+ Select Case Extension.ToUpper
+ Case ".XLSX" : oFormat = Spreadsheet.DocumentFormat.Xlsx
+ Case ".XLS" : oFormat = Spreadsheet.DocumentFormat.Xls
+ Case ".CSV" : oFormat = Spreadsheet.DocumentFormat.Csv
+ End Select
+
+ Return oFormat
+ End Function
+
+ Private Function GetDocumentFormat(Extension) As XtraRichEdit.DocumentFormat
+ Dim oFormat As XtraRichEdit.DocumentFormat = XtraRichEdit.DocumentFormat.Undefined
+
+ Select Case Extension.ToUpper
+ Case ".EML" : oFormat = XtraRichEdit.DocumentFormat.Mht
+ Case ".DOC" : oFormat = XtraRichEdit.DocumentFormat.Doc
+ Case ".DOCX" : oFormat = XtraRichEdit.DocumentFormat.OpenXml
+ Case ".ODT" : oFormat = XtraRichEdit.DocumentFormat.OpenDocument
+ Case ".RTF" : oFormat = XtraRichEdit.DocumentFormat.Rtf
+ Case ".TXT" : oFormat = XtraRichEdit.DocumentFormat.PlainText
+ End Select
+
+ Return oFormat
+ End Function
+
+ Private Function ToVisibility(pBoolean As Boolean) As XtraBars.BarItemVisibility
+ If (pBoolean = True) Then
+ Return XtraBars.BarItemVisibility.Always
+ Else
+ Return XtraBars.BarItemVisibility.Never
+ End If
+ End Function
+
+ Private Sub UpdateMainUi()
+
+ Select Case _Config?.Config?.PageFit
+ Case Config.PageFitSetting.FitPage
+ FitToPage()
+
+ Case Config.PageFitSetting.FitWidth
+ FitToWidth()
+
+ End Select
+
+ If _FileStream Is Nothing And _FilePath Is Nothing Then
+ lbFileNotLoaded.Visible = False
+ End If
+
+ Select Case _ViewerMode
+ Case ViewerMode.GDPicture
+ ToolbarDocumentViewer.Visible = True
+
+ buttonPrint.Visibility = ToVisibility(_ToolbarSettings.ShowPrintButton)
+ buttonFitWidth.Visibility = ToVisibility(_ToolbarSettings.ShowFitWidthButton)
+ buttonFitPage.Visibility = ToVisibility(_ToolbarSettings.ShowFitPageButton)
+ buttonZoomIn.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton)
+ buttonZoomOut.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton)
+ buttonRotateLeft.Visibility = ToVisibility(_ToolbarSettings.ShowRotateButton)
+ buttonRotateRight.Visibility = ToVisibility(_ToolbarSettings.ShowRotateButton)
+ buttonFlipX.Visibility = ToVisibility(_ToolbarSettings.ShowFlipButton)
+ buttonFlipY.Visibility = ToVisibility(_ToolbarSettings.ShowFlipButton)
+ buttonSettings.Visibility = ToVisibility(_ToolbarSettings.ShowSettingButton)
+ txtSearch.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton)
+ btnSearch2.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton)
+ btnNextHighlight.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton)
+ btnPrevHighlight.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton)
+ buttonFirstPage.Visibility = ToVisibility(True)
+ buttonPrevPage.Visibility = ToVisibility(True)
+ buttonNextPage.Visibility = ToVisibility(True)
+ buttonLastPage.Visibility = ToVisibility(True)
+ txtCurrentPage.Visibility = ToVisibility(True)
+
+ Case ViewerMode.Excel
+ ToolbarDocumentViewer.Visible = False
+
+ buttonPrint.Visibility = ToVisibility(False)
+ buttonFitWidth.Visibility = ToVisibility(False)
+ buttonFitPage.Visibility = ToVisibility(False)
+ buttonZoomIn.Visibility = ToVisibility(False)
+ buttonZoomOut.Visibility = ToVisibility(False)
+ buttonRotateLeft.Visibility = ToVisibility(False)
+ buttonRotateRight.Visibility = ToVisibility(False)
+ buttonFlipX.Visibility = ToVisibility(False)
+ buttonFlipY.Visibility = ToVisibility(False)
+ buttonFirstPage.Visibility = ToVisibility(False)
+ buttonPrevPage.Visibility = ToVisibility(False)
+ buttonNextPage.Visibility = ToVisibility(False)
+ buttonLastPage.Visibility = ToVisibility(False)
+ buttonSettings.Visibility = ToVisibility(False)
+ txtCurrentPage.Visibility = ToVisibility(False)
+ txtSearch.Visibility = ToVisibility(False)
+ btnSearch2.Visibility = ToVisibility(False)
+ btnNextHighlight.Visibility = ToVisibility(False)
+ btnPrevHighlight.Visibility = ToVisibility(False)
+ Case Else
+ ToolbarDocumentViewer.Visible = False
+ End Select
+ End Sub
+
+ Private Sub btnSearch2_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnSearch2.ItemClick
+ EnsureSearchInitialized()
+ If _Search IsNot Nothing AndAlso Not String.IsNullOrEmpty(txtSearch.EditValue) Then
+ _Search.SearchAll(txtSearch.EditValue?.ToString)
+
+ End If
+ End Sub
+
+ Private Sub btnPrevHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnPrevHighlight.ItemClick
+ EnsureSearchInitialized()
+ _Search?.PrevHighlight()
+ End Sub
+
+ Private Sub btnNextHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnNextHighlight.ItemClick
+ EnsureSearchInitialized()
+ _Search?.NextHighlight()
+ End Sub
+
+ Private Sub txtSearch_EditValueChanged(sender As Object, e As EventArgs) Handles txtSearch.EditValueChanged
+ If String.IsNullOrEmpty(txtSearch.EditValue) Then
+ btnPrevHighlight.Enabled = False
+ btnNextHighlight.Enabled = False
+
+ Else
+ btnPrevHighlight.Enabled = True
+ btnNextHighlight.Enabled = True
+ End If
+ End Sub
+#End Region
+
+
+
+
+End Class
diff --git a/DocumentViewer.vbproj b/DocumentViewer.vbproj
new file mode 100644
index 0000000..0b7d5e9
--- /dev/null
+++ b/DocumentViewer.vbproj
@@ -0,0 +1,405 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}
+ Library
+
+
+ DigitalData.Controls.DocumentViewer
+ DigitalData.Controls.DocumentViewer
+ 512
+ Windows
+ v4.6.2
+ true
+
+
+
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ AnyCPU
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+
+ packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Charts.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataAccess.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataAccess.v21.2.UI.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Images.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Office.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Pdf.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Printing.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.RichEdit.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataVisualization.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Spreadsheet.v21.2.Core.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.Desktop.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Utils.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Utils.v21.2.UI.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraBars.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraEditors.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraGrid.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraLayout.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraNavBar.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraPrinting.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraRichEdit.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraSpreadsheet.v21.2.dll
+
+
+ D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraTreeList.v21.2.dll
+
+
+ ..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll
+
+
+ ..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll
+
+
+ ..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll
+
+
+ ..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll
+
+
+ packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll
+
+
+ packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll
+
+
+ packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll
+ True
+
+
+ packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
+
+
+ packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
+
+
+ packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll
+
+
+ packages\NLog.5.0.5\lib\net46\NLog.dll
+
+
+ packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll
+
+
+
+
+ packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll
+
+
+ packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll
+
+
+ packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll
+
+
+
+ packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll
+
+
+ packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll
+
+
+ packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll
+
+
+
+
+
+
+
+ packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll
+
+
+
+ packages\System.Memory.4.6.0\lib\net462\System.Memory.dll
+
+
+ packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll
+
+
+
+ packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll
+
+
+ packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll
+
+
+
+
+ packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll
+
+
+
+ packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll
+
+
+ packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll
+
+
+ packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+
+ packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DocumentViewer.vb
+
+
+ UserControl
+
+
+ frmViewerSettings.vb
+
+
+ Form
+
+
+
+ True
+ Application.myapp
+ True
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+ DocumentViewer.vb
+
+
+ frmViewerSettings.vb
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
+
+
+
+
\ No newline at end of file
diff --git a/DocumentViewer.vbproj.bak b/DocumentViewer.vbproj.bak
new file mode 100644
index 0000000..336688a
--- /dev/null
+++ b/DocumentViewer.vbproj.bak
@@ -0,0 +1,195 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}
+ Library
+
+
+ DigitalData.Controls.DocumentViewer
+ DigitalData.Controls.DocumentViewer
+ 512
+ Windows
+ v4.6.1
+ true
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ AnyCPU
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll
+
+
+
+ ..\packages\NLog.4.7.10\lib\net45\NLog.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DocumentViewer.vb
+
+
+ UserControl
+
+
+ frmViewerSettings.vb
+
+
+ Form
+
+
+
+ True
+ Application.myapp
+ True
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ DocumentViewer.vb
+
+
+ frmViewerSettings.vb
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+ {903B2D7D-3B80-4BE9-8713-7447B704E1B0}
+ Logging
+
+
+ {af664d85-0a4b-4bab-a2f8-83110c06553a}
+ Messaging
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DocumentViewer_temp.txt b/DocumentViewer_temp.txt
new file mode 100644
index 0000000..aee92e7
--- /dev/null
+++ b/DocumentViewer_temp.txt
@@ -0,0 +1,357 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0958CDDF-4A16-41F6-8837-8335F71D599C}
+ Library
+
+
+ DigitalData.Controls.DocumentViewer
+ DigitalData.Controls.DocumentViewer
+ 512
+ Windows
+ v4.6.2
+ true
+
+
+
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ AnyCPU
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DigitalData.Controls.DocumentViewer.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+
+ ..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll
+
+
+ ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll
+
+
+ ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll
+
+
+ ..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll
+
+
+ ..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll
+
+
+ ..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll
+
+
+ ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll
+ True
+
+
+ ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
+
+
+ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
+
+
+ ..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll
+
+
+ ..\packages\NLog.5.0.5\lib\net46\NLog.dll
+
+
+ ..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll
+
+
+
+
+ ..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll
+
+
+ ..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll
+
+
+ ..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll
+
+
+
+ ..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll
+
+
+ ..\packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll
+
+
+ ..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll
+
+
+
+
+
+
+
+ ..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll
+
+
+
+ ..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll
+
+
+
+ ..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll
+
+
+
+
+ ..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll
+
+
+
+ ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll
+
+
+ ..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll
+
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+
+ ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DocumentViewer.vb
+
+
+ UserControl
+
+
+ frmViewerSettings.vb
+
+
+ Form
+
+
+
+ True
+ Application.myapp
+ True
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+ DocumentViewer.vb
+
+
+ frmViewerSettings.vb
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
+
+
+
+
\ No newline at end of file
diff --git a/MailLicense.xml b/MailLicense.xml
new file mode 100644
index 0000000..0510526
--- /dev/null
+++ b/MailLicense.xml
@@ -0,0 +1,23 @@
+
+
+ 4dc5ef40-f1a9-468b-994c-b7ed600ad878
+ Mail.dll
+ 2022-07-29
+ Digital Data GmbH
+ single developer
+ Digital Data GmbH
+
+
+
+
+
+
+
+
+
+ 75MRtl4ipYelIZYlpT8O7QDX9Zc=
+
+
+ Raxfkz6DfQVs/sMvH+F2nH0eHXD8FoUFSdP3t7AgBUdpABJQx86srlyuMSEhXPlc1THCqPouEVob4RsWnd9OXvTiPPSOUSK9zuNG6uz93KLAhpSD5PraAgBCF4jwZArlAp7aCNfZpHqQ3w6TRHS+CfravUU0AHHG3MZ1ZcRkGuo=
+
+
\ No newline at end of file
diff --git a/My Project/Application.Designer.vb b/My Project/Application.Designer.vb
new file mode 100644
index 0000000..8ab460b
--- /dev/null
+++ b/My Project/Application.Designer.vb
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
diff --git a/My Project/Application.myapp b/My Project/Application.myapp
new file mode 100644
index 0000000..7373f02
--- /dev/null
+++ b/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ true
+ frmTest
+ false
+ 0
+ true
+ 0
+ true
+
\ No newline at end of file
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..69030dd
--- /dev/null
+++ b/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' Allgemeine Informationen über eine Assembly werden über die folgenden
+' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+' die einer Assembly zugeordnet sind.
+
+' Werte der Assemblyattribute überprüfen
+
+
+
+
+
+
+
+
+
+
+'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird.
+
+
+' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+'
+' Hauptversion
+' Nebenversion
+' Buildnummer
+' Revision
+'
+' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+' übernehmen, indem Sie "*" eingeben:
+'
+
+
+
diff --git a/My Project/Resources.Designer.vb b/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..2927fe4
--- /dev/null
+++ b/My Project/Resources.Designer.vb
@@ -0,0 +1,223 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ '''
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ '''
+ _
+ 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("DigitalData.Controls.DocumentViewer.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property _next() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("next", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property doublefirst() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("doublefirst", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property doublelast() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("doublelast", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property fittopage() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("fittopage", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property fittowidth() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("fittowidth", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property flipimage_horizontal() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("flipimage_horizontal", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property flipimage_vertical() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("flipimage_vertical", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property floatingobjectoutlinecolor() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("floatingobjectoutlinecolor", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property prev() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("prev", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property rotateclockwise() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("rotateclockwise", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property rotatecounterclockwise() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("rotatecounterclockwise", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property tooltips() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("tooltips", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property tooltips1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("tooltips1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property viewsettings() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("viewsettings", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property ZooFlow_10() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("ZooFlow-10", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property zoomin() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("zoomin", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/My Project/Resources.resx b/My Project/Resources.resx
new file mode 100644
index 0000000..bc91f3a
--- /dev/null
+++ b/My Project/Resources.resx
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\doublelast.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\tooltips1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\doublefirst.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\flipimage_vertical.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\rotatecounterclockwise.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\tooltips.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\fittopage.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\fittowidth.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\floatingobjectoutlinecolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\next.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\flipimage_horizontal.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\zoomin.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\prev.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\ZooFlow-10.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\rotateclockwise.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
\ No newline at end of file
diff --git a/My Project/Resources.resx.bak b/My Project/Resources.resx.bak
new file mode 100644
index 0000000..64ac387
--- /dev/null
+++ b/My Project/Resources.resx.bak
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\tooltips.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\ZooFlow-10.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\floatingobjectoutlinecolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\tooltips1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
\ No newline at end of file
diff --git a/My Project/Settings.Designer.vb b/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..7b984b5
--- /dev/null
+++ b/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "Automatische My.Settings-Speicherfunktion"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.DigitalData.Controls.DocumentViewer.My.MySettings
+ Get
+ Return Global.DigitalData.Controls.DocumentViewer.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/My Project/Settings.settings b/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/My Project/licenses.licx b/My Project/licenses.licx
new file mode 100644
index 0000000..73f111c
--- /dev/null
+++ b/My Project/licenses.licx
@@ -0,0 +1,5 @@
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraRichEdit.RichEditControl, DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/My Project/licenses.licx.bak b/My Project/licenses.licx.bak
new file mode 100644
index 0000000..4ce8af8
--- /dev/null
+++ b/My Project/licenses.licx.bak
@@ -0,0 +1,5 @@
+DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraRichEdit.RichEditControl, DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..58cbced
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,5 @@
+BASE MODULE
+===========
+
+This module is intended for often used constants and datastructures.
+Therefor it is important that this module does not have any dependencies on other modules!!
\ No newline at end of file
diff --git a/Resources/ZooFlow-10.svg b/Resources/ZooFlow-10.svg
new file mode 100644
index 0000000..0cdbf1a
--- /dev/null
+++ b/Resources/ZooFlow-10.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Resources/doublefirst.svg b/Resources/doublefirst.svg
new file mode 100644
index 0000000..3c18972
--- /dev/null
+++ b/Resources/doublefirst.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/Resources/doublelast.svg b/Resources/doublelast.svg
new file mode 100644
index 0000000..6ed1db6
--- /dev/null
+++ b/Resources/doublelast.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/Resources/fittopage.svg b/Resources/fittopage.svg
new file mode 100644
index 0000000..bea6072
--- /dev/null
+++ b/Resources/fittopage.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/Resources/fittowidth.svg b/Resources/fittowidth.svg
new file mode 100644
index 0000000..44770ee
--- /dev/null
+++ b/Resources/fittowidth.svg
@@ -0,0 +1,21 @@
+
+
\ No newline at end of file
diff --git a/Resources/flipimage_horizontal.svg b/Resources/flipimage_horizontal.svg
new file mode 100644
index 0000000..f4f2a41
--- /dev/null
+++ b/Resources/flipimage_horizontal.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/Resources/flipimage_vertical.svg b/Resources/flipimage_vertical.svg
new file mode 100644
index 0000000..536c131
--- /dev/null
+++ b/Resources/flipimage_vertical.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/Resources/floatingobjectoutlinecolor.svg b/Resources/floatingobjectoutlinecolor.svg
new file mode 100644
index 0000000..5af7cef
--- /dev/null
+++ b/Resources/floatingobjectoutlinecolor.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/Resources/next.svg b/Resources/next.svg
new file mode 100644
index 0000000..e87edcf
--- /dev/null
+++ b/Resources/next.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/Resources/prev.svg b/Resources/prev.svg
new file mode 100644
index 0000000..0eae348
--- /dev/null
+++ b/Resources/prev.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/Resources/rotateclockwise.svg b/Resources/rotateclockwise.svg
new file mode 100644
index 0000000..d3f0be0
--- /dev/null
+++ b/Resources/rotateclockwise.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/Resources/rotatecounterclockwise.svg b/Resources/rotatecounterclockwise.svg
new file mode 100644
index 0000000..8b8e24b
--- /dev/null
+++ b/Resources/rotatecounterclockwise.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/Resources/tooltips.svg b/Resources/tooltips.svg
new file mode 100644
index 0000000..0a0fd01
--- /dev/null
+++ b/Resources/tooltips.svg
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/Resources/tooltips1.svg b/Resources/tooltips1.svg
new file mode 100644
index 0000000..0a0fd01
--- /dev/null
+++ b/Resources/tooltips1.svg
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/Resources/viewsettings.svg b/Resources/viewsettings.svg
new file mode 100644
index 0000000..d7243dc
--- /dev/null
+++ b/Resources/viewsettings.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/Resources/zoomin.svg b/Resources/zoomin.svg
new file mode 100644
index 0000000..1bf31d1
--- /dev/null
+++ b/Resources/zoomin.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/frmViewerSettings.Designer.vb b/frmViewerSettings.Designer.vb
new file mode 100644
index 0000000..37e0efc
--- /dev/null
+++ b/frmViewerSettings.Designer.vb
@@ -0,0 +1,451 @@
+ _
+Partial Class frmViewerSettings
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.chkPDFVerifyDigitalCertificates = New System.Windows.Forms.CheckBox()
+ Me.chkPDFIncreaseTextContrast = New System.Windows.Forms.CheckBox()
+ Me.chkPDFEnableLinks = New System.Windows.Forms.CheckBox()
+ Me.chkPDFEnableFileLinks = New System.Windows.Forms.CheckBox()
+ Me.chkPDFDisplayFormFields = New System.Windows.Forms.CheckBox()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.chkEnableICM = New System.Windows.Forms.CheckBox()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.chkHQAnnotationsRendering = New System.Windows.Forms.CheckBox()
+ Me.chkAnnotationsDropShadow = New System.Windows.Forms.CheckBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.chkEnableDeferredPainting = New System.Windows.Forms.CheckBox()
+ Me.Label8 = New System.Windows.Forms.Label()
+ Me.cbPageDisplayMode = New System.Windows.Forms.ComboBox()
+ Me.chkIgnoreDocumentResolution = New System.Windows.Forms.CheckBox()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.txtZoomStep = New System.Windows.Forms.NumericUpDown()
+ Me.cbMouseWheelMode = New System.Windows.Forms.ComboBox()
+ Me.cbDocumentPosition = New System.Windows.Forms.ComboBox()
+ Me.cbDocumentAlignment = New System.Windows.Forms.ComboBox()
+ Me.chkEnableMenu = New System.Windows.Forms.CheckBox()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.cbDisplayQuality = New System.Windows.Forms.ComboBox()
+ Me.chkContinuousViewMode = New System.Windows.Forms.CheckBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.btnApply = New System.Windows.Forms.Button()
+ Me.GroupBox4.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.txtZoomStep, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.chkPDFVerifyDigitalCertificates)
+ Me.GroupBox4.Controls.Add(Me.chkPDFIncreaseTextContrast)
+ Me.GroupBox4.Controls.Add(Me.chkPDFEnableLinks)
+ Me.GroupBox4.Controls.Add(Me.chkPDFEnableFileLinks)
+ Me.GroupBox4.Controls.Add(Me.chkPDFDisplayFormFields)
+ Me.GroupBox4.Location = New System.Drawing.Point(309, 101)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(291, 184)
+ Me.GroupBox4.TabIndex = 103
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "PDF viewing options"
+ '
+ 'chkPDFVerifyDigitalCertificates
+ '
+ Me.chkPDFVerifyDigitalCertificates.AutoSize = True
+ Me.chkPDFVerifyDigitalCertificates.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkPDFVerifyDigitalCertificates.Location = New System.Drawing.Point(6, 119)
+ Me.chkPDFVerifyDigitalCertificates.Name = "chkPDFVerifyDigitalCertificates"
+ Me.chkPDFVerifyDigitalCertificates.Size = New System.Drawing.Size(136, 17)
+ Me.chkPDFVerifyDigitalCertificates.TabIndex = 20
+ Me.chkPDFVerifyDigitalCertificates.Text = "Verify digital certificates"
+ Me.chkPDFVerifyDigitalCertificates.UseVisualStyleBackColor = True
+ '
+ 'chkPDFIncreaseTextContrast
+ '
+ Me.chkPDFIncreaseTextContrast.AutoSize = True
+ Me.chkPDFIncreaseTextContrast.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkPDFIncreaseTextContrast.Location = New System.Drawing.Point(6, 96)
+ Me.chkPDFIncreaseTextContrast.Name = "chkPDFIncreaseTextContrast"
+ Me.chkPDFIncreaseTextContrast.Size = New System.Drawing.Size(128, 17)
+ Me.chkPDFIncreaseTextContrast.TabIndex = 18
+ Me.chkPDFIncreaseTextContrast.Text = "Increase text contrast"
+ Me.chkPDFIncreaseTextContrast.UseVisualStyleBackColor = True
+ '
+ 'chkPDFEnableLinks
+ '
+ Me.chkPDFEnableLinks.AutoSize = True
+ Me.chkPDFEnableLinks.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkPDFEnableLinks.Location = New System.Drawing.Point(6, 73)
+ Me.chkPDFEnableLinks.Name = "chkPDFEnableLinks"
+ Me.chkPDFEnableLinks.Size = New System.Drawing.Size(83, 17)
+ Me.chkPDFEnableLinks.TabIndex = 17
+ Me.chkPDFEnableLinks.Text = "Enable links"
+ Me.chkPDFEnableLinks.UseVisualStyleBackColor = True
+ '
+ 'chkPDFEnableFileLinks
+ '
+ Me.chkPDFEnableFileLinks.AutoSize = True
+ Me.chkPDFEnableFileLinks.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkPDFEnableFileLinks.Location = New System.Drawing.Point(6, 50)
+ Me.chkPDFEnableFileLinks.Name = "chkPDFEnableFileLinks"
+ Me.chkPDFEnableFileLinks.Size = New System.Drawing.Size(99, 17)
+ Me.chkPDFEnableFileLinks.TabIndex = 16
+ Me.chkPDFEnableFileLinks.Text = "Enable file links"
+ Me.chkPDFEnableFileLinks.UseVisualStyleBackColor = True
+ '
+ 'chkPDFDisplayFormFields
+ '
+ Me.chkPDFDisplayFormFields.AutoSize = True
+ Me.chkPDFDisplayFormFields.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkPDFDisplayFormFields.Location = New System.Drawing.Point(6, 27)
+ Me.chkPDFDisplayFormFields.Name = "chkPDFDisplayFormFields"
+ Me.chkPDFDisplayFormFields.Size = New System.Drawing.Size(110, 17)
+ Me.chkPDFDisplayFormFields.TabIndex = 15
+ Me.chkPDFDisplayFormFields.Text = "Display form fields"
+ Me.chkPDFDisplayFormFields.UseVisualStyleBackColor = True
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.chkEnableICM)
+ Me.GroupBox3.Location = New System.Drawing.Point(12, 314)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(291, 46)
+ Me.GroupBox3.TabIndex = 101
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Image viewing options"
+ '
+ 'chkEnableICM
+ '
+ Me.chkEnableICM.AutoSize = True
+ Me.chkEnableICM.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkEnableICM.Location = New System.Drawing.Point(6, 19)
+ Me.chkEnableICM.Name = "chkEnableICM"
+ Me.chkEnableICM.Size = New System.Drawing.Size(81, 17)
+ Me.chkEnableICM.TabIndex = 12
+ Me.chkEnableICM.Text = "Enable ICM"
+ Me.chkEnableICM.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.chkHQAnnotationsRendering)
+ Me.GroupBox2.Controls.Add(Me.chkAnnotationsDropShadow)
+ Me.GroupBox2.Location = New System.Drawing.Point(309, 12)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(291, 83)
+ Me.GroupBox2.TabIndex = 102
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Annotations options"
+ '
+ 'chkHQAnnotationsRendering
+ '
+ Me.chkHQAnnotationsRendering.AutoSize = True
+ Me.chkHQAnnotationsRendering.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkHQAnnotationsRendering.Location = New System.Drawing.Point(6, 42)
+ Me.chkHQAnnotationsRendering.Name = "chkHQAnnotationsRendering"
+ Me.chkHQAnnotationsRendering.Size = New System.Drawing.Size(147, 17)
+ Me.chkHQAnnotationsRendering.TabIndex = 14
+ Me.chkHQAnnotationsRendering.Text = "HQ annotations rendering"
+ Me.chkHQAnnotationsRendering.UseVisualStyleBackColor = True
+ '
+ 'chkAnnotationsDropShadow
+ '
+ Me.chkAnnotationsDropShadow.AutoSize = True
+ Me.chkAnnotationsDropShadow.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkAnnotationsDropShadow.Location = New System.Drawing.Point(6, 19)
+ Me.chkAnnotationsDropShadow.Name = "chkAnnotationsDropShadow"
+ Me.chkAnnotationsDropShadow.Size = New System.Drawing.Size(146, 17)
+ Me.chkAnnotationsDropShadow.TabIndex = 13
+ Me.chkAnnotationsDropShadow.Text = "Annotations drop shadow"
+ Me.chkAnnotationsDropShadow.UseVisualStyleBackColor = True
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.chkEnableDeferredPainting)
+ Me.GroupBox1.Controls.Add(Me.Label8)
+ Me.GroupBox1.Controls.Add(Me.cbPageDisplayMode)
+ Me.GroupBox1.Controls.Add(Me.chkIgnoreDocumentResolution)
+ Me.GroupBox1.Controls.Add(Me.PictureBox1)
+ Me.GroupBox1.Controls.Add(Me.txtZoomStep)
+ Me.GroupBox1.Controls.Add(Me.cbMouseWheelMode)
+ Me.GroupBox1.Controls.Add(Me.cbDocumentPosition)
+ Me.GroupBox1.Controls.Add(Me.cbDocumentAlignment)
+ Me.GroupBox1.Controls.Add(Me.chkEnableMenu)
+ Me.GroupBox1.Controls.Add(Me.Label6)
+ Me.GroupBox1.Controls.Add(Me.Label5)
+ Me.GroupBox1.Controls.Add(Me.Label4)
+ Me.GroupBox1.Controls.Add(Me.Label3)
+ Me.GroupBox1.Controls.Add(Me.Label2)
+ Me.GroupBox1.Controls.Add(Me.cbDisplayQuality)
+ Me.GroupBox1.Controls.Add(Me.chkContinuousViewMode)
+ Me.GroupBox1.Controls.Add(Me.Label1)
+ Me.GroupBox1.Location = New System.Drawing.Point(12, 12)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(291, 296)
+ Me.GroupBox1.TabIndex = 100
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "General options"
+ '
+ 'chkEnableDeferredPainting
+ '
+ Me.chkEnableDeferredPainting.AutoSize = True
+ Me.chkEnableDeferredPainting.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkEnableDeferredPainting.Location = New System.Drawing.Point(6, 270)
+ Me.chkEnableDeferredPainting.Name = "chkEnableDeferredPainting"
+ Me.chkEnableDeferredPainting.Size = New System.Drawing.Size(141, 17)
+ Me.chkEnableDeferredPainting.TabIndex = 17
+ Me.chkEnableDeferredPainting.Text = "Enable deferred painting"
+ Me.chkEnableDeferredPainting.UseVisualStyleBackColor = True
+ '
+ 'Label8
+ '
+ Me.Label8.AutoSize = True
+ Me.Label8.Location = New System.Drawing.Point(6, 95)
+ Me.Label8.Name = "Label8"
+ Me.Label8.Size = New System.Drawing.Size(70, 13)
+ Me.Label8.TabIndex = 16
+ Me.Label8.Text = "Display mode"
+ '
+ 'cbPageDisplayMode
+ '
+ Me.cbPageDisplayMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbPageDisplayMode.FormattingEnabled = True
+ Me.cbPageDisplayMode.Location = New System.Drawing.Point(116, 93)
+ Me.cbPageDisplayMode.Name = "cbPageDisplayMode"
+ Me.cbPageDisplayMode.Size = New System.Drawing.Size(130, 21)
+ Me.cbPageDisplayMode.TabIndex = 4
+ '
+ 'chkIgnoreDocumentResolution
+ '
+ Me.chkIgnoreDocumentResolution.AutoSize = True
+ Me.chkIgnoreDocumentResolution.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkIgnoreDocumentResolution.Location = New System.Drawing.Point(6, 248)
+ Me.chkIgnoreDocumentResolution.Name = "chkIgnoreDocumentResolution"
+ Me.chkIgnoreDocumentResolution.Size = New System.Drawing.Size(154, 17)
+ Me.chkIgnoreDocumentResolution.TabIndex = 11
+ Me.chkIgnoreDocumentResolution.Text = "Ignore document resolution"
+ Me.chkIgnoreDocumentResolution.UseVisualStyleBackColor = True
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.PictureBox1.Location = New System.Drawing.Point(116, 198)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(21, 21)
+ Me.PictureBox1.TabIndex = 3
+ Me.PictureBox1.TabStop = False
+ '
+ 'txtZoomStep
+ '
+ Me.txtZoomStep.Location = New System.Drawing.Point(69, 18)
+ Me.txtZoomStep.Maximum = New Decimal(New Integer() {1000, 0, 0, 0})
+ Me.txtZoomStep.Minimum = New Decimal(New Integer() {1, 0, 0, 0})
+ Me.txtZoomStep.Name = "txtZoomStep"
+ Me.txtZoomStep.Size = New System.Drawing.Size(79, 20)
+ Me.txtZoomStep.TabIndex = 0
+ Me.txtZoomStep.Value = New Decimal(New Integer() {1, 0, 0, 0})
+ '
+ 'cbMouseWheelMode
+ '
+ Me.cbMouseWheelMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbMouseWheelMode.FormattingEnabled = True
+ Me.cbMouseWheelMode.Location = New System.Drawing.Point(116, 171)
+ Me.cbMouseWheelMode.Name = "cbMouseWheelMode"
+ Me.cbMouseWheelMode.Size = New System.Drawing.Size(107, 21)
+ Me.cbMouseWheelMode.TabIndex = 7
+ '
+ 'cbDocumentPosition
+ '
+ Me.cbDocumentPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbDocumentPosition.FormattingEnabled = True
+ Me.cbDocumentPosition.Location = New System.Drawing.Point(116, 145)
+ Me.cbDocumentPosition.Name = "cbDocumentPosition"
+ Me.cbDocumentPosition.Size = New System.Drawing.Size(107, 21)
+ Me.cbDocumentPosition.TabIndex = 6
+ '
+ 'cbDocumentAlignment
+ '
+ Me.cbDocumentAlignment.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbDocumentAlignment.FormattingEnabled = True
+ Me.cbDocumentAlignment.Location = New System.Drawing.Point(116, 119)
+ Me.cbDocumentAlignment.Name = "cbDocumentAlignment"
+ Me.cbDocumentAlignment.Size = New System.Drawing.Size(107, 21)
+ Me.cbDocumentAlignment.TabIndex = 5
+ '
+ 'chkEnableMenu
+ '
+ Me.chkEnableMenu.AutoSize = True
+ Me.chkEnableMenu.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkEnableMenu.Location = New System.Drawing.Point(6, 225)
+ Me.chkEnableMenu.Name = "chkEnableMenu"
+ Me.chkEnableMenu.Size = New System.Drawing.Size(140, 17)
+ Me.chkEnableMenu.TabIndex = 10
+ Me.chkEnableMenu.Text = "Enable contextual menu"
+ Me.chkEnableMenu.UseVisualStyleBackColor = True
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(6, 202)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(91, 13)
+ Me.Label6.TabIndex = 9
+ Me.Label6.Text = "Background color"
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(7, 173)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(99, 13)
+ Me.Label5.TabIndex = 8
+ Me.Label5.Text = "Mouse wheel mode"
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(7, 147)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(95, 13)
+ Me.Label4.TabIndex = 7
+ Me.Label4.Text = "Document position"
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(7, 121)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(104, 13)
+ Me.Label3.TabIndex = 6
+ Me.Label3.Text = "Document alignment"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(6, 69)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(74, 13)
+ Me.Label2.TabIndex = 4
+ Me.Label2.Text = "Display quality"
+ '
+ 'cbDisplayQuality
+ '
+ Me.cbDisplayQuality.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbDisplayQuality.FormattingEnabled = True
+ Me.cbDisplayQuality.Location = New System.Drawing.Point(116, 67)
+ Me.cbDisplayQuality.Name = "cbDisplayQuality"
+ Me.cbDisplayQuality.Size = New System.Drawing.Size(107, 21)
+ Me.cbDisplayQuality.TabIndex = 3
+ '
+ 'chkContinuousViewMode
+ '
+ Me.chkContinuousViewMode.AutoSize = True
+ Me.chkContinuousViewMode.CheckAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.chkContinuousViewMode.Location = New System.Drawing.Point(6, 42)
+ Me.chkContinuousViewMode.Name = "chkContinuousViewMode"
+ Me.chkContinuousViewMode.Size = New System.Drawing.Size(133, 17)
+ Me.chkContinuousViewMode.TabIndex = 2
+ Me.chkContinuousViewMode.Text = "Continuous view mode"
+ Me.chkContinuousViewMode.UseVisualStyleBackColor = True
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(6, 20)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(57, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "Zoom step"
+ '
+ 'btnApply
+ '
+ Me.btnApply.Location = New System.Drawing.Point(529, 338)
+ Me.btnApply.Name = "btnApply"
+ Me.btnApply.Size = New System.Drawing.Size(75, 23)
+ Me.btnApply.TabIndex = 104
+ Me.btnApply.Text = "Apply"
+ Me.btnApply.UseVisualStyleBackColor = True
+ '
+ 'frmViewerSettings
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(625, 377)
+ Me.Controls.Add(Me.GroupBox4)
+ Me.Controls.Add(Me.GroupBox3)
+ Me.Controls.Add(Me.GroupBox2)
+ Me.Controls.Add(Me.GroupBox1)
+ Me.Controls.Add(Me.btnApply)
+ Me.Name = "frmViewerSettings"
+ Me.Text = "frmViewerSettings"
+ Me.GroupBox4.ResumeLayout(False)
+ Me.GroupBox4.PerformLayout()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox3.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.txtZoomStep, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents GroupBox4 As GroupBox
+ Friend WithEvents chkPDFVerifyDigitalCertificates As CheckBox
+ Friend WithEvents chkPDFIncreaseTextContrast As CheckBox
+ Friend WithEvents chkPDFEnableLinks As CheckBox
+ Friend WithEvents chkPDFEnableFileLinks As CheckBox
+ Friend WithEvents chkPDFDisplayFormFields As CheckBox
+ Friend WithEvents GroupBox3 As GroupBox
+ Friend WithEvents chkEnableICM As CheckBox
+ Friend WithEvents GroupBox2 As GroupBox
+ Friend WithEvents chkHQAnnotationsRendering As CheckBox
+ Friend WithEvents chkAnnotationsDropShadow As CheckBox
+ Friend WithEvents GroupBox1 As GroupBox
+ Friend WithEvents chkEnableDeferredPainting As CheckBox
+ Friend WithEvents Label8 As Label
+ Friend WithEvents cbPageDisplayMode As ComboBox
+ Friend WithEvents chkIgnoreDocumentResolution As CheckBox
+ Friend WithEvents PictureBox1 As PictureBox
+ Friend WithEvents txtZoomStep As NumericUpDown
+ Friend WithEvents cbMouseWheelMode As ComboBox
+ Friend WithEvents cbDocumentPosition As ComboBox
+ Friend WithEvents cbDocumentAlignment As ComboBox
+ Friend WithEvents chkEnableMenu As CheckBox
+ Friend WithEvents Label6 As Label
+ Friend WithEvents Label5 As Label
+ Friend WithEvents Label4 As Label
+ Friend WithEvents Label3 As Label
+ Friend WithEvents Label2 As Label
+ Friend WithEvents cbDisplayQuality As ComboBox
+ Friend WithEvents chkContinuousViewMode As CheckBox
+ Friend WithEvents Label1 As Label
+ Friend WithEvents btnApply As Button
+End Class
diff --git a/frmViewerSettings.resx b/frmViewerSettings.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/frmViewerSettings.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/frmViewerSettings.vb b/frmViewerSettings.vb
new file mode 100644
index 0000000..58fe5c4
--- /dev/null
+++ b/frmViewerSettings.vb
@@ -0,0 +1,103 @@
+Option Strict On
+Option Explicit On
+
+Imports GdPicture14
+
+Public Class frmViewerSettings
+
+ Private ReadOnly _owner As GdViewer
+
+ Private ReadOnly _mouseWheelModes As New Dictionary(Of ViewerMouseWheelMode, String) From {
+ {ViewerMouseWheelMode.MouseWheelModeZoom, "Zoom"},
+ {ViewerMouseWheelMode.MouseWheelModeVerticalScroll, "Scroll"},
+ {ViewerMouseWheelMode.MouseWheelModePageChange, "Page change"}
+ }
+ Private ReadOnly _documentAlignments As New Dictionary(Of ViewerDocumentAlignment, String) From {
+ {ViewerDocumentAlignment.DocumentAlignmentBottomCenter, "Bottom center"},
+ {ViewerDocumentAlignment.DocumentAlignmentBottomLeft, "Bottom left"},
+ {ViewerDocumentAlignment.DocumentAlignmentBottomRight, "Bottom right"},
+ {ViewerDocumentAlignment.DocumentAlignmentMiddleCenter, "Middle center"},
+ {ViewerDocumentAlignment.DocumentAlignmentMiddleLeft, "Middle left"},
+ {ViewerDocumentAlignment.DocumentAlignmentMiddleRight, "Middle right"},
+ {ViewerDocumentAlignment.DocumentAlignmentTopCenter, "Top center"},
+ {ViewerDocumentAlignment.DocumentAlignmentTopLeft, "Top left"},
+ {ViewerDocumentAlignment.DocumentAlignmentTopRight, "Top right"}
+ }
+ Private ReadOnly _documentPositions As New Dictionary(Of ViewerDocumentPosition, String) From {
+ {ViewerDocumentPosition.DocumentPositionBottomCenter, "Bottom center"},
+ {ViewerDocumentPosition.DocumentPositionBottomLeft, "Bottom left"},
+ {ViewerDocumentPosition.DocumentPositionBottomRight, "Bottom right"},
+ {ViewerDocumentPosition.DocumentPositionMiddleCenter, "Middle center"},
+ {ViewerDocumentPosition.DocumentPositionMiddleLeft, "Middle left"},
+ {ViewerDocumentPosition.DocumentPositionMiddleRight, "Middle right"},
+ {ViewerDocumentPosition.DocumentPositionTopCenter, "Top center"},
+ {ViewerDocumentPosition.DocumentPositionTopLeft, "Top left"},
+ {ViewerDocumentPosition.DocumentPositionTopRight, "Top right"}
+ }
+ Private ReadOnly _displayQualities As New Dictionary(Of DisplayQuality, String) From {
+ {DisplayQuality.DisplayQualityLow, "Low"},
+ {DisplayQuality.DisplayQualityBilinear, "Bilinear"},
+ {DisplayQuality.DisplayQualityBicubic, "Bicubic"},
+ {DisplayQuality.DisplayQualityBilinearHQ, "Bilinear HQ"},
+ {DisplayQuality.DisplayQualityBicubicHQ, "Bicubic HQ"},
+ {DisplayQuality.DisplayQualityAutomatic, "Automatic"}
+ }
+ Private ReadOnly _displayPageModes As New Dictionary(Of PageDisplayMode, String) From {
+ {PageDisplayMode.MultiplePagesView, "Multiple pages"},
+ {PageDisplayMode.SinglePageView, "Single page"}
+ }
+
+ Public Sub New(ByVal owner As GdViewer)
+ InitializeComponent()
+ _owner = owner
+ End Sub
+
+ Private Sub frmSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ For Each item In _mouseWheelModes
+ cbMouseWheelMode.Items.Add(item.Value)
+ Next
+ For Each item In _documentAlignments
+ cbDocumentAlignment.Items.Add(item.Value)
+ Next
+ For Each item In _documentPositions
+ cbDocumentPosition.Items.Add(item.Value)
+ Next
+ For Each item In _displayQualities
+ cbDisplayQuality.Items.Add(item.Value)
+ Next
+ For Each item In _displayPageModes
+ cbPageDisplayMode.Items.Add(item.Value)
+ Next
+
+ cbMouseWheelMode.SelectedIndex = CType(_owner.MouseWheelMode, Integer)
+ cbDocumentAlignment.SelectedItem = _documentAlignments(_owner.DocumentAlignment)
+ cbDocumentPosition.SelectedItem = _documentPositions(_owner.DocumentPosition)
+ cbDisplayQuality.SelectedItem = _displayQualities(_owner.DisplayQuality)
+ cbPageDisplayMode.SelectedItem = _displayPageModes(_owner.PageDisplayMode)
+ txtZoomStep.Text = CStr(_owner.ZoomStep)
+ chkContinuousViewMode.Checked = _owner.ContinuousViewMode
+ chkEnableMenu.Checked = _owner.EnableMenu
+ PictureBox1.BackColor = _owner.BackColor
+ chkIgnoreDocumentResolution.Checked = _owner.IgnoreDocumentResolution
+ chkEnableDeferredPainting.Checked = _owner.EnableDeferredPainting
+
+ chkAnnotationsDropShadow.Checked = _owner.AnnotationDropShadow
+ chkHQAnnotationsRendering.Checked = _owner.HQAnnotationRendering
+
+ chkEnableICM.Checked = _owner.EnableICM
+
+ chkPDFDisplayFormFields.Checked = _owner.PdfDisplayFormField
+ chkPDFEnableFileLinks.Checked = _owner.PdfEnableFileLinks
+ chkPDFEnableLinks.Checked = _owner.PdfEnableLinks
+ chkPDFIncreaseTextContrast.Checked = _owner.PdfIncreaseTextContrast
+ chkPDFVerifyDigitalCertificates.Checked = _owner.PdfVerifyDigitalCertificates
+ End Sub
+
+ Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
+
+ End Sub
+
+ Private Sub cbMouseWheelMode_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbMouseWheelMode.SelectedIndexChanged
+
+ End Sub
+End Class
\ No newline at end of file
diff --git a/packages.config b/packages.config
new file mode 100644
index 0000000..18dc42d
--- /dev/null
+++ b/packages.config
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file