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