Files
AVISO/Aviso/Dokumentenbeschriftung/frmPrintLayout.vb
2020-06-04 22:19:07 +02:00

146 lines
6.1 KiB
VB.net

Imports Microsoft.Reporting.WinForms
Imports GrapeCity.ActiveReports.Document
Imports System.Globalization
Imports System.IO
Public Class frmPrintLayout
Public datvon As Date
Public RaisePrintEvent As Boolean = False
Public speedPrint As Boolean = False
Private WithEvents exportMenu As ToolStripMenuItem = New ToolStripMenuItem("Export")
Public Event PRINT()
Dim art As String = ""
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal art As String)
InitializeComponent()
Me.art = art
End Sub
Private Sub frmPrintLayout_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.ControlKey And e.KeyCode = Keys.P Then
btnPrint.PerformClick()
End If
End Sub
Private Sub frmPrintLayout_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Viewer.Toolbar.ToolStrip.Items.Add(exportMenu)
'Hilfstexte in Toolbar eindeutschen
Viewer.Toolbar.ToolStrip.Items(0).ToolTipText = "Seitenübersicht"
Viewer.Toolbar.ToolStrip.Items(2).ToolTipText = "Drucken"
Viewer.Toolbar.ToolStrip.Items(2).Visible = False
Viewer.Toolbar.ToolStrip.Items(5).ToolTipText = "Kopieren"
Viewer.Toolbar.ToolStrip.Items(6).ToolTipText = "Suchen"
Viewer.Toolbar.ToolStrip.Items(10).ToolTipText = "aktueller Zoom"
Viewer.Toolbar.ToolStrip.Items(12).ToolTipText = "an Fensterbreite anpassen"
Viewer.Toolbar.ToolStrip.Items(13).ToolTipText = "vollständige Seite an Fenstergröße anpassen"
Viewer.Toolbar.ToolStrip.Items(15).ToolTipText = "Einzelseitenansicht"
Viewer.Toolbar.ToolStrip.Items(16).ToolTipText = "Bildlauf aktivieren"
Viewer.Toolbar.ToolStrip.Items(17).ToolTipText = "Mehrseiten-Ansicht"
Viewer.Toolbar.ToolStrip.Items(19).ToolTipText = "erste Seite"
Viewer.Toolbar.ToolStrip.Items(20).ToolTipText = "vorige Seite"
Viewer.Toolbar.ToolStrip.Items(21).ToolTipText = "aktuelle Seite"
Viewer.Toolbar.ToolStrip.Items(22).ToolTipText = "nächste Seite"
Viewer.Toolbar.ToolStrip.Items(23).ToolTipText = "letzte Seite"
Viewer.Toolbar.ToolStrip.Items(25).ToolTipText = "Sprung rückwärts"
Viewer.Toolbar.ToolStrip.Items(26).ToolTipText = "Sprung vorwärts"
Viewer.Toolbar.ToolStrip.Items(30).ToolTipText = "Anzeige refreshen"
Viewer.Toolbar.ToolStrip.Items(33).ToolTipText = "Ansicht-Modus"
Viewer.Toolbar.ToolStrip.Items(34).ToolTipText = "Textauswahl-Modus"
Viewer.Toolbar.ToolStrip.Items(35).ToolTipText = "Schnappschuss erstellen"
End Sub
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
If RaisePrintEvent Then
RaiseEvent PRINT()
Else
Me.Viewer.Print(True, True, True)
End If
Exit Sub
If Me.Viewer.Name = "" Then
End If
'Me.Viewer.Print(True, True, True)
'Dim p As GrapeCity.Viewer.Common.PrintingSettings = Me.Viewer.PrintingSettings
'If Me.ReportViewer1.PrintDialog() = DialogResult.OK Then Me.Close()
End Sub
Public Sub PRINTMe()
RaiseEvent PRINT()
End Sub
Private Sub exportMenu_Click(sender As Object, e As EventArgs) Handles exportMenu.Click
Exportieren(Viewer.Document, "Auswertung offene Anträge mit Vorauszahlung")
End Sub
Public Shared Sub Exportieren(ByVal document As SectionDocument, ByVal Namensvorschlag As String)
Try
Dim datei As FileInfo = Nothing
If Not ermittleDateiname(datei, Namensvorschlag) Then
Exit Sub
End If
Select Case datei.Extension.ToUpper()
Case ".pdf".ToUpper()
Dim pdfExport1 As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport()
pdfExport1.Export(document, datei.FullName)
Case ".xlsx".ToUpper()
Dim xlsExport1 As New GrapeCity.ActiveReports.Export.Excel.Section.XlsExport()
xlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx
xlsExport1.Export(document, datei.FullName)
Case ".rtf".ToUpper()
Dim rtfExport1 As New GrapeCity.ActiveReports.Export.Word.Section.RtfExport()
rtfExport1.Export(document, datei.FullName)
Case Else
MessageBox.Show("Es würde ein ungültiges Exportformat ausgewählt. Erlaubt sind 'pdf', 'rtf' und 'xlsx'.")
Exit Sub
End Select
If MessageBox.Show("Der Export wurde erfolgreich durchgeführt. Soll die Exportdatei jetzt geöffnet werden?", "Export", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Yes Then
Process.Start(datei.FullName)
End If
Catch ex As Exception
MessageBox.Show("Exportieren fehlgeschlagen. Fehler: " + ex.Message)
End Try
End Sub
Private Shared Function ermittleDateiname(ByRef datei As FileInfo, ByRef Namensvorschlag As String) As Boolean
Using saveDialog As New SaveFileDialog
saveDialog.AddExtension = True
saveDialog.CheckPathExists = True
saveDialog.FileName = Namensvorschlag
saveDialog.DefaultExt = ".pdf"
saveDialog.Filter = "pdf-Dateien (*.pdf)|*.pdf|Word Dateien (*.rtf)|*.rtf|Excel Dateien (*.xlsx)|*.xlsx"
saveDialog.OverwritePrompt = True
saveDialog.ValidateNames = True
saveDialog.FilterIndex = 0
If saveDialog.ShowDialog() = DialogResult.OK Then
datei = New FileInfo(saveDialog.FileName)
Return True
Else
Return False
End If
End Using
End Function
Private Sub Viewer_LoadCompleted(sender As Object, e As EventArgs) Handles Viewer.LoadCompleted
If speedPrint Then
' MsgBox("L")
btnPrint.PerformClick()
'RemoveHandler Viewer.LoadCompleted, Viewer_LoadCompleted(Viewer, New EventArgs)
speedPrint = False
End If
End Sub
End Class