From f3e7090a0157a38aa30b3e610822f7aaae3dc8fd Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 19 May 2021 13:17:11 +0200 Subject: [PATCH] DocumentViewer: Add Testforms --- Controls.DocumentViewer/DocumentViewer.vbproj | 26 +++- .../My Project/Application.Designer.vb | 25 ++++ .../My Project/Application.myapp | 5 +- .../My Project/Settings.Designer.vb | 2 +- Controls.DocumentViewer/frmTest.Designer.vb | 90 +++++++++++++ .../frmTest.SubForm.Designer.vb | 61 +++++++++ Controls.DocumentViewer/frmTest.SubForm.resx | 120 +++++++++++++++++ Controls.DocumentViewer/frmTest.SubForm.vb | 42 ++++++ Controls.DocumentViewer/frmTest.resx | 123 ++++++++++++++++++ Controls.DocumentViewer/frmTest.vb | 76 +++++++++++ 10 files changed, 562 insertions(+), 8 deletions(-) create mode 100644 Controls.DocumentViewer/frmTest.Designer.vb create mode 100644 Controls.DocumentViewer/frmTest.SubForm.Designer.vb create mode 100644 Controls.DocumentViewer/frmTest.SubForm.resx create mode 100644 Controls.DocumentViewer/frmTest.SubForm.vb create mode 100644 Controls.DocumentViewer/frmTest.resx create mode 100644 Controls.DocumentViewer/frmTest.vb diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj index df047535..be8b750a 100644 --- a/Controls.DocumentViewer/DocumentViewer.vbproj +++ b/Controls.DocumentViewer/DocumentViewer.vbproj @@ -5,13 +5,12 @@ Debug AnyCPU {0958CDDF-4A16-41F6-8837-8335F71D599C} - Library - - + WinExe + DigitalData.Controls.DocumentViewer.My.MyApplication DigitalData.Controls.DocumentViewer DigitalData.Controls.DocumentViewer 512 - Windows + WindowsForms v4.6.1 true @@ -121,6 +120,18 @@ UserControl + + frmTest.vb + + + Form + + + frmTest.SubForm.vb + + + Form + frmViewerSettings.vb @@ -131,6 +142,7 @@ True Application.myapp + True True @@ -147,6 +159,12 @@ DocumentViewer.vb + + frmTest.vb + + + frmTest.SubForm.vb + frmViewerSettings.vb diff --git a/Controls.DocumentViewer/My Project/Application.Designer.vb b/Controls.DocumentViewer/My Project/Application.Designer.vb index 8ab460ba..bec0f000 100644 --- a/Controls.DocumentViewer/My Project/Application.Designer.vb +++ b/Controls.DocumentViewer/My Project/Application.Designer.vb @@ -11,3 +11,28 @@ Option Strict On Option Explicit On + +Namespace My + + 'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten + ' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer. + ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im + ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.DigitalData.Controls.DocumentViewer.frmTest + End Sub + End Class +End Namespace diff --git a/Controls.DocumentViewer/My Project/Application.myapp b/Controls.DocumentViewer/My Project/Application.myapp index 1243847f..7373f02e 100644 --- a/Controls.DocumentViewer/My Project/Application.myapp +++ b/Controls.DocumentViewer/My Project/Application.myapp @@ -1,11 +1,10 @@  true - Form1 + frmTest false 0 true 0 - 0 true - + \ No newline at end of file diff --git a/Controls.DocumentViewer/My Project/Settings.Designer.vb b/Controls.DocumentViewer/My Project/Settings.Designer.vb index 8b56a3d4..ab8c92d2 100644 --- a/Controls.DocumentViewer/My Project/Settings.Designer.vb +++ b/Controls.DocumentViewer/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase diff --git a/Controls.DocumentViewer/frmTest.Designer.vb b/Controls.DocumentViewer/frmTest.Designer.vb new file mode 100644 index 00000000..0994ba60 --- /dev/null +++ b/Controls.DocumentViewer/frmTest.Designer.vb @@ -0,0 +1,90 @@ + _ +Partial Class frmTest + 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.TextBox1 = New System.Windows.Forms.TextBox() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.Button4 = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(12, 12) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(637, 20) + Me.TextBox1.TabIndex = 1 + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(655, 9) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(50, 23) + Me.Button1.TabIndex = 2 + Me.Button1.Text = "..." + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Location = New System.Drawing.Point(12, 38) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(637, 23) + Me.Button3.TabIndex = 2 + Me.Button3.Text = "Load DocView" + Me.Button3.UseVisualStyleBackColor = True + ' + 'Button4 + ' + Me.Button4.Location = New System.Drawing.Point(12, 67) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(637, 23) + Me.Button4.TabIndex = 3 + Me.Button4.Text = "Extract Files from PDF" + Me.Button4.UseVisualStyleBackColor = True + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.Button4) + Me.Controls.Add(Me.Button3) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.TextBox1) + Me.Name = "Form1" + Me.Text = "Form1" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TextBox1 As TextBox + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents Button1 As Button + Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button +End Class diff --git a/Controls.DocumentViewer/frmTest.SubForm.Designer.vb b/Controls.DocumentViewer/frmTest.SubForm.Designer.vb new file mode 100644 index 00000000..0e684ff4 --- /dev/null +++ b/Controls.DocumentViewer/frmTest.SubForm.Designer.vb @@ -0,0 +1,61 @@ + _ +Partial Class frmTest_SubForm + 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.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer() + Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton() + Me.SuspendLayout() + ' + 'DocumentViewer1 + ' + Me.DocumentViewer1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.DocumentViewer1.FileLoaded = False + Me.DocumentViewer1.Location = New System.Drawing.Point(0, 56) + Me.DocumentViewer1.Name = "DocumentViewer1" + Me.DocumentViewer1.Size = New System.Drawing.Size(1056, 499) + Me.DocumentViewer1.TabIndex = 0 + ' + 'SimpleButton1 + ' + Me.SimpleButton1.Location = New System.Drawing.Point(12, 12) + Me.SimpleButton1.Name = "SimpleButton1" + Me.SimpleButton1.Size = New System.Drawing.Size(75, 23) + Me.SimpleButton1.TabIndex = 1 + Me.SimpleButton1.Text = "Load PDF" + ' + 'Form4 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1056, 555) + Me.Controls.Add(Me.SimpleButton1) + Me.Controls.Add(Me.DocumentViewer1) + Me.Name = "Form4" + Me.Text = "Form4" + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents DocumentViewer1 As DigitalData.Controls.DocumentViewer.DocumentViewer + Friend WithEvents SimpleButton1 As DevExpress.XtraEditors.SimpleButton +End Class diff --git a/Controls.DocumentViewer/frmTest.SubForm.resx b/Controls.DocumentViewer/frmTest.SubForm.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/Controls.DocumentViewer/frmTest.SubForm.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/Controls.DocumentViewer/frmTest.SubForm.vb b/Controls.DocumentViewer/frmTest.SubForm.vb new file mode 100644 index 00000000..9793771a --- /dev/null +++ b/Controls.DocumentViewer/frmTest.SubForm.vb @@ -0,0 +1,42 @@ +Imports System.ComponentModel +Imports DigitalData.Modules.Logging + +Public Class frmTest_SubForm + Public FilePath As String + Private Key As String + Private LogConfig As LogConfig + Private Logger As Logger + + Public Sub New(LogConfig As LogConfig, Key As String) + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me.LogConfig = LogConfig + Me.Key = Key + End Sub + + Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Logger = LogConfig.GetLogger + Logger.Info("DocumentViewer Form Loaded") + DocumentViewer1.Init(LogConfig, Key) + + Logger.Info("File Loaded") + End Sub + + Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed + Logger.Info("Form closed") + End Sub + + Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + + DocumentViewer1.Done() + Logger.Info("Form closing") + + + End Sub + + Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click + DocumentViewer1.LoadFile(FilePath) + End Sub +End Class \ No newline at end of file diff --git a/Controls.DocumentViewer/frmTest.resx b/Controls.DocumentViewer/frmTest.resx new file mode 100644 index 00000000..33c7f672 --- /dev/null +++ b/Controls.DocumentViewer/frmTest.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/Controls.DocumentViewer/frmTest.vb b/Controls.DocumentViewer/frmTest.vb new file mode 100644 index 00000000..2aab6e93 --- /dev/null +++ b/Controls.DocumentViewer/frmTest.vb @@ -0,0 +1,76 @@ +Imports DigitalData.Modules.Logging +Imports GdPicture14 + +Public Class frmTest + Private LogConfig As LogConfig + + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load + Dim oLogConfig As New LogConfig(LogConfig.PathType.CustomPath, + Application.StartupPath, + Nothing, + My.Application.Info.CompanyName, + My.Application.Info.ProductName) + + LogConfig = oLogConfig + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Dim oResult = OpenFileDialog1.ShowDialog() + + If oResult = DialogResult.OK Then + TextBox1.Text = OpenFileDialog1.FileName + End If + End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + Try + Dim oKey = "0467389434974657969312056" + Dim oSubform As New frmTest_SubForm(LogConfig, oKey) + + oSubform.FilePath = TextBox1.Text + oSubform.Show() + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + Using oGdPicturePDF As GdPicturePDF = New GdPicturePDF() + If oGdPicturePDF.LoadFromFile(TextBox1.Text, False) = GdPictureStatus.OK Then + Dim embeddedFileCount As Integer = oGdPicturePDF.GetEmbeddedFileCount() + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + If embeddedFileCount > 0 Then + Dim FileName As String = oGdPicturePDF.GetEmbeddedFileName(0) + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + Dim FileSize As Integer = oGdPicturePDF.GetEmbeddedFileSize(0) + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + Dim FileData As Byte() = New Byte(FileSize) {} + Dim status As GdPictureStatus = oGdPicturePDF.ExtractEmbeddedFile(0, FileData) + If status = GdPictureStatus.OK Then + MessageBox.Show("The content of the first embedded file has been extracted successfully.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + Dim oFileStream As System.IO.FileStream = Nothing + oFileStream = New System.IO.FileStream(FileName + "_content.dat", System.IO.FileMode.Create) + oFileStream.Write(FileData, 0, FileData.Length) + oFileStream.Close() + MessageBox.Show("The content of the embedded file has been saved successfully.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + Else + MessageBox.Show("The embedded file has failed to extract. Status: " + status.ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("An error occurred getting the file size. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("An error occurred getting the file name. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("This PDF file does not contain embedded files.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + End If + Else + MessageBox.Show("An error occurred getting the number of embedded files. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("The file can't be loaded.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + End Using + End Sub +End Class