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

View File

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

View File

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

View File

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

View File

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