GdViewer Hintergrund weiß gesetzt; ViewerMode.Richtext und Anhängsel entfernt. - DocumentViewer

This commit is contained in:
OlgunR
2025-06-03 13:16:56 +02:00
parent c0b5ae741d
commit 1818224534
3 changed files with 16 additions and 114 deletions

View File

@@ -22,7 +22,6 @@ Public Class DocumentViewer
Private Enum ViewerMode
GDPicture
RichText
Excel
End Enum
@@ -287,12 +286,6 @@ Public Class DocumentViewer
_Config.Save()
End Sub
Private Sub RichEditControl1_SizeChanged(sender As Object, e As EventArgs) Handles RichEditControl1.SizeChanged
Dim oControlWidth = RichEditControl1.Width - 100
Dim oPageWidth = Units.DocumentsToPixelsF(RichEditControl1.Document.Sections(0).Page.Width, RichEditControl1.DpiX)
RichEditControl1.Views.PrintLayoutView.ZoomFactor = oControlWidth / oPageWidth
End Sub
Private Sub btnOpen_Click(sender As Object, e As EventArgs)
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
@@ -309,21 +302,13 @@ Public Class DocumentViewer
End Sub
Private Sub btnPreviousPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonPrevPage.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.DisplayPreviousPage()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New PreviousPageCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.DisplayPreviousPage()
End Sub
Private Sub btnNextPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonNextPage.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.DisplayNextPage()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New NextPageCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.DisplayNextPage()
End Sub
Private Sub btnLastPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonLastPage.ItemClick
@@ -352,21 +337,13 @@ Public Class DocumentViewer
End Sub
Private Sub btnZoomOut_Click(sender As Object, e As EventArgs) Handles buttonZoomOut.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomOUT()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New ZoomOutCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.ZoomOUT()
End Sub
Private Sub btnZoomIn_Click(sender As Object, e As EventArgs) Handles buttonZoomIn.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomIN()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New ZoomInCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.ZoomIN()
End Sub
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles buttonPrint.ItemClick
@@ -474,18 +451,12 @@ Public Class DocumentViewer
End If
Dim oExtension As String = _FileInfo.Extension.ToUpper
Select Case _ViewerMode
Case ViewerMode.RichText
_logger.Debug("Closing RichText Editor")
RichEditControl1.CreateNewDocument()
Case ViewerMode.Excel
_logger.Debug("Closing Excel Editor")
SpreadsheetControl1.CreateNewDocument()
Case Else
_logger.Debug("Closing GDPicture Viewer")
GdViewer.CloseDocument()
End Select
Catch ex As Exception
_logger.Warn($"Unexpected error in FreeFile: {ex.Message}")
@@ -498,9 +469,6 @@ Public Class DocumentViewer
lbFileNotLoaded.Visible = False
RichEditControl1.Visible = False
RichEditControl1.Dock = DockStyle.None
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
@@ -520,6 +488,7 @@ Public Class DocumentViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
GdViewer.ForceTemporaryMode = True
GdViewer.AnnotationDropShadow = True
GdViewer.BackColor = Color.White
If GdViewer.DisplayFromFile(FilePath) <> GdPictureStatus.OK Then
Dim oFileName = IO.Path.GetFileName(FilePath)
@@ -539,52 +508,24 @@ Public Class DocumentViewer
End Function
Private Sub FitToPage()
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New FitToPageCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
End Sub
Private Sub FitToWidth()
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New FitWidthCommand(RichEditControl1)
oCmd.Execute()
End If
_ViewerMode = ViewerMode.GDPicture
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
End Sub
Private Function DoLoadFile(Stream As Stream, Extension As String) As Boolean
Try
RichEditControl1.Visible = False
RichEditControl1.Dock = DockStyle.None
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
Select Case Extension.ToUpper
Case ".MSG"
Dim oTempFileName = Path.Combine(IO.Path.GetTempPath(), Guid.NewGuid.ToString & ".msg")
Using oFileStream As New FileStream(oTempFileName, FileMode.Create)
Stream.Seek(0, SeekOrigin.Begin)
Stream.CopyTo(oFileStream)
Stream.Flush()
End Using
Dim oEmlPath As String = _email.Convert_ToEml(oTempFileName)
DoLoadFile(oEmlPath)
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.LoadDocument(Stream, GetDocumentFormat(Extension))
RichEditControl1.ActiveViewType = XtraRichEdit.RichEditViewType.PrintLayout
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
Case ".XLSX", ".XLS", ".CSV"
Case ".CSV"
SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension))
Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
@@ -686,29 +627,6 @@ Public Class DocumentViewer
buttonLastPage.Visibility = ToVisibility(True)
txtCurrentPage.Visibility = ToVisibility(True)
Case ViewerMode.RichText
ToolbarDocumentViewer.Visible = True
buttonFitWidth.Visibility = ToVisibility(_ToolbarSettings.ShowFitWidthButton)
buttonFitPage.Visibility = ToVisibility(_ToolbarSettings.ShowFitPageButton)
buttonZoomIn.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton)
buttonZoomOut.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton)
buttonNextPage.Visibility = ToVisibility(True)
buttonPrevPage.Visibility = ToVisibility(True)
buttonPrint.Visibility = ToVisibility(False)
buttonRotateLeft.Visibility = ToVisibility(False)
buttonRotateRight.Visibility = ToVisibility(False)
buttonFlipX.Visibility = ToVisibility(False)
buttonFlipY.Visibility = ToVisibility(False)
buttonFirstPage.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 ViewerMode.Excel
ToolbarDocumentViewer.Visible = False