Convert PST or OST document contents to different formats

GroupDocs.Conversion provides flexible API to control conversion of documents that contains other documents. The following code snippet shows how to convert each content of OST document to different format based on content type:

var index = 1;
LoadOptions LoadOptionsProvider(FileType sourceType)
{
    if (sourceType == PersonalStorageFileType.Ost)
    {
        return new PersonalStorageLoadOptions
        {
            ConvertOwned = true,
            ConvertOwner = false,
            Folder = @"Root - Mailbox", 
            Depth = 2
        };
    }
    return null;
}
Stream ConvertedStreamProvider(FileType targetType)
{
    string outputFile = $"converted-{index++}.{targetType.Extension}"
    return new FileStream(outputFile, FileMode.Create);
}
ConvertOptions ConvertOptionsProvider(string sourceDocumentName, FileType sourceType)
{
    if (sourceType == EmailFileType.Msg)
    {
        return new PdfConvertOptions();
    }
    return new WordProcessingConvertOptions();
}

using (var converter = new Converter("sample.ost", LoadOptionsProvider))
{
    converter.Convert(ConvertedStreamProvider, ConvertOptionsProvider);
}

© Aspose Pty Ltd 2001-2022. All Rights Reserved.