4 Commits

Author SHA1 Message Date
Jonathan Jenne
94207ebe45 DocumentViewer: Version 1.6.4 2021-08-23 11:22:36 +02:00
Jonathan Jenne
1e98befca1 DocumentViewer: Replace IndependentSoft with Limilabs.Mail 2021-08-23 11:22:21 +02:00
Jonathan Jenne
04dec3495b Messaging: Version 1.2.7 2021-08-23 11:11:02 +02:00
Jonathan Jenne
1833d07397 Messaging/Email: Add Convert_ToEml 2021-08-23 11:10:48 +02:00
5 changed files with 42 additions and 54 deletions

View File

@@ -1,14 +1,15 @@
Imports System.ComponentModel
Imports System.IO
Imports System.ComponentModel
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Logging
Imports Independentsoft.Msg
Imports DevExpress.Spreadsheet
Imports GdPicture14
Imports DevExpress
Imports DevExpress.Office.Utils
Imports System.IO
Imports DevExpress.Spreadsheet
Imports DevExpress.XtraRichEdit.Commands
Imports DevExpress.XtraRichEdit
Imports DevExpress.Office.Utils
Imports GdPicture14
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Messaging
Public Class DocumentViewer
Private Enum ZoomMode
@@ -35,6 +36,7 @@ Public Class DocumentViewer
Private _licenseManager As New GdPicture14.LicenseManager()
Private _logConfig As LogConfig
Private _logger As Logger
Private _email As Email2
Private _hide_file_info_from_user As Boolean = False
Private _FilePath As String
@@ -55,13 +57,13 @@ Public Class DocumentViewer
''' <summary>
''' Initialize the Viewer
''' </summary>
''' <param name="LogConfig">A LogConfig object</param>
''' <param name="LicenseKey">The GDPicture.NET License Key</param>
Public Sub Init(LogConfig As LogConfig, LicenseKey As String)
_logConfig = LogConfig
_logger = LogConfig.GetLogger()
_licenseKey = LicenseKey
''' <param name="pLogConfig">A LogConfig object</param>
''' <param name="pLicenseKey">The GDPicture.NET License Key</param>
Public Sub Init(pLogConfig As LogConfig, pLicenseKey As String)
_logConfig = pLogConfig
_logger = pLogConfig.GetLogger()
_email = New Email2(pLogConfig)
_licenseKey = pLicenseKey
_licenseManager.RegisterKEY(_licenseKey)
End Sub
@@ -186,23 +188,10 @@ Public Class DocumentViewer
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
'ToolbarDocumentViewer.Visible = False
Select Case oExtension.ToUpper
Case ".MSG"
Dim oMsg As New Message(FilePath)
' TODO: Improve Encoding, maybe convert based on encoding
oMsg.Encoding = System.Text.Encoding.UTF32
Dim oMime = oMsg.ConvertToMimeMessage()
Dim oTempFileName = IO.Path.GetTempFileName()
oMime.Save(oTempFileName, True)
RichEditControl1.LoadDocument(oTempFileName, XtraRichEdit.DocumentFormat.Mht)
_TempFiles.Add(oTempFileName)
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
Dim oEmlPath As String = _email.Convert_ToEml(FilePath)
DoLoadFile(oEmlPath)
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
@@ -245,24 +234,18 @@ Public Class DocumentViewer
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
' ToolbarDocumentViewer.Visible = False
Select Case Extension.ToUpper
Case ".MSG"
Dim oMsg As New Message(Stream)
' TODO: Improve Encoding, maybe convert based on encoding
oMsg.Encoding = System.Text.Encoding.UTF32
Dim oMime = oMsg.ConvertToMimeMessage()
Dim oTempFileName = IO.Path.GetTempFileName()
oMime.Save(oTempFileName, True)
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
RichEditControl1.LoadDocument(oTempFileName, XtraRichEdit.DocumentFormat.Mht)
_TempFiles.Add(oTempFileName)
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
Dim oEmlPath As String = _email.Convert_ToEml(oTempFileName)
DoLoadFile(oEmlPath)
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.LoadDocument(Stream, GetDocumentFormat(Extension))

View File

@@ -73,9 +73,6 @@
<Reference Include="GdPicture.NET.14">
<HintPath>D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="Independentsoft.Msg, Version=2.0.570.21482, Culture=neutral, PublicKeyToken=76be97fe952f1ec7, processorArchitecture=MSIL">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\22_11_19\Independentsoft.Msg.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
@@ -176,6 +173,10 @@
<Project>{903B2D7D-3B80-4BE9-8713-7447B704E1B0}</Project>
<Name>Logging</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Messaging\Messaging.vbproj">
<Project>{af664d85-0a4b-4bab-a2f8-83110c06553a}</Project>
<Name>Messaging</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.6.3.0")>
<Assembly: AssemblyFileVersion("1.6.3.0")>
<Assembly: AssemblyVersion("1.6.4.0")>
<Assembly: AssemblyFileVersion("1.6.4.0")>

View File

@@ -391,14 +391,18 @@ Public Class Email2
End Try
End Function
Private Function MaybeConvert_MsgToEml(pEmailFileName As String) As String
Dim oInfo As New FileInfo(pEmailFileName)
Public Function Convert_ToEml(pFilePath As String) As String
Return MaybeConvert_MsgToEml(pFilePath)
End Function
Private Function MaybeConvert_MsgToEml(pEmailFilePath As String) As String
Dim oInfo As New FileInfo(pEmailFilePath)
If oInfo.Extension.ToUpper = ".EML" Then
Return pEmailFileName
Return pEmailFilePath
ElseIf oInfo.Extension.ToUpper = ".MSG" Then
Return DoConvertMsgToEmlFile(pEmailFileName)
Return DoConvertMsgToEmlFile(pEmailFilePath)
Else
Return Nothing

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.6.0")>
<Assembly: AssemblyFileVersion("1.2.6.0")>
<Assembly: AssemblyVersion("1.2.7.0")>
<Assembly: AssemblyFileVersion("1.2.7.0")>