VintaSoft Imaging .NET SDK 15.2: Documentation for .NET developer
Vintasoft.Imaging.Codecs.Decoders Namespace / EmailDecoder Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
EmailDecoder Class
In This Topic
Defines a decoder for Email (MSG, EML) documents.
Object Model
DecoderBase EmailDecoder
Syntax
'Declaration

Public Class EmailDecoder
   Inherits VectorDecoderWrapper

public class EmailDecoder : VectorDecoderWrapper

Example

This C#/VB.NET code shows how to convert Email document to a PDF document.


''' <summary>
''' Converts Email (.msg, .eml) document to a PDF document.
''' </summary>
''' <param name="emailFilePath">Path to a source Email file.</param>
''' <param name="pdfFilePath">Path to a result PDF file.</param>
Public Shared Sub ConvertEmailToPdf(emailFilePath As String, pdfFilePath As String)
    ' set default Email converter settings
    ' create headers
    EmailLayoutSettings.DefaultEmailSettings.EmailConverterSettings.CreateHeader = True
    ' create attachment list in header
    EmailLayoutSettings.DefaultEmailSettings.EmailConverterSettings.CreateAttachmentsInHeader = True

    ' create image collection
    Dim images As New ImageCollection()
    Try
        ' open Email file
        images.Add(emailFilePath)

        ' create PDF encoder
        Using encoder As New PdfEncoder()
            ' create metadata for Email document
            Dim emailMetadata As EmailDocumentMetadata = DirectCast(images(0).SourceInfo.Decoder.GetDocumentMetadata(), EmailDocumentMetadata)

            ' set subject in PDF document as the Email Subject
            Dim subject As String = emailMetadata.FindTextHeader("Subject")
            If subject IsNot Nothing Then
                encoder.Settings.DocumentSubject = subject
            End If

            ' set title in PDF document as the Email sender
            Dim sender As String = emailMetadata.FindTextHeader("Sender")
            If sender IsNot Nothing Then
                encoder.Settings.DocumentTitle = sender
            End If

            ' save images from image collection (Email document) to a PDF file
            images.SaveSync(pdfFilePath, encoder)
        End Using
    Finally
        images.ClearAndDisposeItems()
    End Try
End Sub


/// <summary>
/// Converts Email (.msg, .eml) document to a PDF document.
/// </summary>
/// <param name="emailFilePath">Path to a source Email file.</param>
/// <param name="pdfFilePath">Path to a result PDF file.</param>
public static void ConvertEmailToPdf(string emailFilePath, string pdfFilePath)
{
    // set default Email converter settings
    // create headers
    EmailLayoutSettings.DefaultEmailSettings.EmailConverterSettings.CreateHeader = true;
    // create attachment list in header
    EmailLayoutSettings.DefaultEmailSettings.EmailConverterSettings.CreateAttachmentsInHeader = true;

    // create image collection
    ImageCollection images = new ImageCollection();
    try
    {
        // open Email file
        images.Add(emailFilePath);

        // create PDF encoder
        using (PdfEncoder encoder = new PdfEncoder())
        {
            // create metadata for Email document
            EmailDocumentMetadata emailMetadata = (EmailDocumentMetadata)images[0].SourceInfo.Decoder.GetDocumentMetadata();

            // set subject in PDF document as the Email Subject
            string subject = emailMetadata.FindTextHeader("Subject");
            if (subject != null)
                encoder.Settings.DocumentSubject = subject;

            // set title in PDF document as the Email sender
            string sender = emailMetadata.FindTextHeader("Sender");
            if (sender != null)
                encoder.Settings.DocumentTitle = sender;

            // save images from image collection (Email document) to a PDF file
            images.SaveSync(pdfFilePath, encoder);
        }
    }
    finally
    {
        images.ClearAndDisposeItems();
    }
}

Inheritance Hierarchy

System.Object
   Vintasoft.Imaging.Codecs.Decoders.DecoderBase
      Vintasoft.Imaging.Codecs.Decoders.DecoderWrapper
         Vintasoft.Imaging.Codecs.Decoders.VectorDecoderWrapper
            Vintasoft.Imaging.Codecs.Decoders.EmailDecoder

Requirements

Target Platforms: .NET 11; .NET 10; .NET 9; .NET 8; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also