Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

MhtmlDocument

Namespace OfficeIMO.Mhtml
Assembly OfficeIMO.Mhtml
Modifiers sealed

Represents an MHTML web archive as an HTML document plus its decoded MIME related resources.

Inheritance

  • Object
  • MhtmlDocument

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Constructors

public MhtmlDocument(String html, IEnumerable<MhtmlResource> resources = null, String contentLocation = null, String rootContentId = null, String subject = null, HtmlConversionDocumentOptions htmlOptions = null) #

Creates an MHTML document from HTML and optional related resources.

Parameters

html System.String requiredposition: 0
resources System.Collections.Generic.IEnumerable{OfficeIMO.Mhtml.MhtmlResource} = null optionalposition: 1
contentLocation System.String = null optionalposition: 2
rootContentId System.String = null optionalposition: 3
subject System.String = null optionalposition: 4
htmlOptions OfficeIMO.Html.HtmlConversionDocumentOptions = null optionalposition: 5

Methods

ConfigureRenderOptions 2 overloads
public Void ConfigureRenderOptions(HtmlRenderOptions options) #
Returns: Void

Applies the archive base URI, resource-only URL policy, and embedded-resource resolver to render options. The hyperlink policy is left unchanged. Remote resources absent from the archive are fetched only through the policy's one-hop resolver so every redirect destination is approved before it is requested.

Parameters

options OfficeIMO.Html.HtmlRenderOptions requiredposition: 0
public Void ConfigureRenderOptions(HtmlRenderOptions options, MhtmlRemoteResourcePolicy remoteResourcePolicy) #
Returns: Void

Applies the archive base URI, resource-only URL policy, embedded-resource resolver, and explicit bounded remote-resource policy to render options.

Parameters

options OfficeIMO.Html.HtmlRenderOptions requiredposition: 0
remoteResourcePolicy OfficeIMO.Mhtml.MhtmlRemoteResourcePolicy requiredposition: 1
public HtmlRenderResourceResolver CreateResourceResolver() #
Returns: HtmlRenderResourceResolver

Creates a resolver that serves only resources embedded in this archive.

InspectContentSafety 2 overloads
public static OfficeContentSafetyReport InspectContentSafety(Byte[] archiveBytes, OfficeContentSafetyOptions options = null, EmailReaderOptions mimeOptions = null, CancellationToken cancellationToken = null) #
Returns: OfficeContentSafetyReport

Inspects concealed machine-readable HTML in a bounded MHTML archive.

Parameters

arg1 System.Byte[] requiredposition: 0
arg2 OfficeIMO.ContentSafety.OfficeContentSafetyOptions = null optionalposition: 1
arg3 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
public static OfficeContentSafetyReport InspectContentSafety(String filePath, OfficeContentSafetyOptions options = null, EmailReaderOptions mimeOptions = null, CancellationToken cancellationToken = null) #
Returns: OfficeContentSafetyReport

Inspects concealed machine-readable HTML in a bounded MHTML file.

Parameters

arg1 System.String requiredposition: 0
arg2 OfficeIMO.ContentSafety.OfficeContentSafetyOptions = null optionalposition: 1
arg3 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
Load 2 overloads
public static MhtmlDocument Load(String path, EmailReaderOptions mimeOptions = null, HtmlConversionDocumentOptions htmlOptions = null, CancellationToken cancellationToken = null) #
Returns: MhtmlDocument

Loads an MHTML archive from a file.

Parameters

arg1 System.String requiredposition: 0
arg2 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 1
arg3 OfficeIMO.Html.HtmlConversionDocumentOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
public static MhtmlDocument Load(Stream stream, EmailReaderOptions mimeOptions = null, HtmlConversionDocumentOptions htmlOptions = null, CancellationToken cancellationToken = null) #
Returns: MhtmlDocument

Loads an MHTML archive from a caller-owned stream.

Parameters

arg1 System.IO.Stream requiredposition: 0
arg2 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 1
arg3 OfficeIMO.Html.HtmlConversionDocumentOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
LoadAsync 2 overloads
public static async Task<MhtmlDocument> LoadAsync(String path, EmailReaderOptions mimeOptions = null, HtmlConversionDocumentOptions htmlOptions = null, CancellationToken cancellationToken = null) #
Returns: Task<MhtmlDocument>

Asynchronously loads an MHTML archive from a file.

Parameters

arg1 System.String requiredposition: 0
arg2 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 1
arg3 OfficeIMO.Html.HtmlConversionDocumentOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
public static async Task<MhtmlDocument> LoadAsync(Stream stream, EmailReaderOptions mimeOptions = null, HtmlConversionDocumentOptions htmlOptions = null, CancellationToken cancellationToken = null) #
Returns: Task<MhtmlDocument>

Asynchronously loads an MHTML archive from a caller-owned stream.

Parameters

arg1 System.IO.Stream requiredposition: 0
arg2 OfficeIMO.Email.EmailReaderOptions = null optionalposition: 1
arg3 OfficeIMO.Html.HtmlConversionDocumentOptions = null optionalposition: 2
arg4 System.Threading.CancellationToken = null optionalposition: 3
RemoveSelectedContent 2 overloads
public static OfficeContentCleanupResult RemoveSelectedContent(Byte[] archiveBytes, OfficeContentCleanupSelection selection, OfficeContentCleanupOptions options = null, EmailReaderOptions mimeOptions = null, CancellationToken cancellationToken = null) #
Returns: OfficeContentCleanupResult

Removes exact selected concealed HTML findings, then reopens and reinspects the MHTML archive.

Parameters

archiveBytes System.Byte[] requiredposition: 0
selection OfficeIMO.ContentSafety.OfficeContentCleanupSelection requiredposition: 1
options OfficeIMO.ContentSafety.OfficeContentCleanupOptions = null optionalposition: 2
mimeOptions OfficeIMO.Email.EmailReaderOptions = null optionalposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4
public static OfficeContentCleanupResult RemoveSelectedContent(String inputPath, String outputPath, OfficeContentCleanupSelection selection, OfficeContentCleanupOptions options = null, EmailReaderOptions mimeOptions = null, CancellationToken cancellationToken = null) #
Returns: OfficeContentCleanupResult

Atomically writes an explicitly cleaned MHTML artifact.

Parameters

inputPath System.String requiredposition: 0
outputPath System.String requiredposition: 1
selection OfficeIMO.ContentSafety.OfficeContentCleanupSelection requiredposition: 2
options OfficeIMO.ContentSafety.OfficeContentCleanupOptions = null optionalposition: 3
mimeOptions OfficeIMO.Email.EmailReaderOptions = null optionalposition: 4
cancellationToken System.Threading.CancellationToken = null optionalposition: 5
Save 2 overloads
public Void Save(String path, EmailWriterOptions options = null) #
Returns: Void

Saves the archive to a file.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Email.EmailWriterOptions = null optionalposition: 1
public Void Save(Stream stream, EmailWriterOptions options = null) #
Returns: Void

Saves the archive to a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Email.EmailWriterOptions = null optionalposition: 1
SaveAsync 2 overloads
public Task<EmailWriteResult> SaveAsync(String path, EmailWriterOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<EmailWriteResult>

Asynchronously saves the archive to a file.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Email.EmailWriterOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public Task<EmailWriteResult> SaveAsync(Stream stream, EmailWriterOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<EmailWriteResult>

Asynchronously saves the archive to a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Email.EmailWriterOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public Byte[] ToBytes(EmailWriterOptions options = null) #
Returns: Byte[]

Serializes the archive to deterministic MHTML bytes.

Parameters

options OfficeIMO.Email.EmailWriterOptions = null optionalposition: 0

Properties

public HtmlConversionDocument HtmlDocument { get; } #

Parsed HTML root document.

public String Html { get; } #

Original HTML root source.

public IReadOnlyList<MhtmlResource> Resources { get; } #

Decoded related resources in archive order.

public String ContentLocation { get; } #

Root content location, when declared.

public String RootContentId { get; } #

Root Content-ID without angle brackets, when declared.

public String Subject { get; } #

Optional archive subject.

public Uri BaseUri { get; } #

Base URI used for HTML and related-resource resolution.

public IReadOnlyList<EmailDiagnostic> MimeDiagnostics { get; } #

Diagnostics produced by the shared bounded MIME reader.