OfficeIMO.Mhtml.Pdf
3.3.0
Prefix Reserved
dotnet add package OfficeIMO.Mhtml.Pdf --version 3.3.0
NuGet\Install-Package OfficeIMO.Mhtml.Pdf -Version 3.3.0
<PackageReference Include="OfficeIMO.Mhtml.Pdf" Version="3.3.0" />
<PackageVersion Include="OfficeIMO.Mhtml.Pdf" Version="3.3.0" />
<PackageReference Include="OfficeIMO.Mhtml.Pdf" />
paket add OfficeIMO.Mhtml.Pdf --version 3.3.0
#r "nuget: OfficeIMO.Mhtml.Pdf, 3.3.0"
#:package OfficeIMO.Mhtml.Pdf@3.3.0
#addin nuget:?package=OfficeIMO.Mhtml.Pdf&version=3.3.0
#tool nuget:?package=OfficeIMO.Mhtml.Pdf&version=3.3.0
OfficeIMO.Mhtml.Pdf
OfficeIMO.Mhtml.Pdf converts bounded MHT/MHTML archives to the first-party OfficeIMO PDF model, including embedded CID and Content-Location resources.
dotnet add package OfficeIMO.Mhtml.Pdf
using OfficeIMO.Html.Pdf;
using OfficeIMO.Mhtml;
using OfficeIMO.Pdf;
MhtmlDocument archive = MhtmlDocument.Load("quarterly-update.mhtml");
PdfDocumentConversionResult result = await archive.ToPdfDocumentResultAsync(
new HtmlPdfSaveOptions());
await result.SaveAsync("quarterly-update.pdf");
The result combines MIME, HTML-rendering, and PDF diagnostics. Local-file and remote-network access remain governed by the HTML resource policy; embedded archive resources do not silently widen it.
Conversion is offline by default. To allow missing archive resources, apply an explicit bounded MHTML policy to the same options before conversion. The application fetcher must return exactly one response with automatic redirects disabled so OfficeIMO can approve every redirect target before requesting it:
var options = new HtmlPdfSaveOptions {
ResourcePolicy = PdfResourcePolicy.CreateTrustedHost()
};
MhtmlRemoteResourcePolicy remote = MhtmlRemoteResourcePolicy.CreateSameOriginProfile(maximumRedirects: 2);
remote.ResourceFetcher = async (request, cancellationToken) => {
// Return MhtmlRemoteResourceResponse.Redirect(location) for a 3xx response.
return await applicationOneHopFetcher(request, cancellationToken);
};
archive.ConfigureRenderOptions(options, remote);
PdfDocumentConversionResult result = await archive.ToPdfDocumentResultAsync(options);
Malformed multipart recovery, legacy charset decoding, nested related parts, duplicate Content-ID and Content-Location selection, and archive diagnostics are owned by the bounded Email/MHTML layer. Layout and PDF paint reuse the managed HTML/CSS renderer, and scripts remain inert.
Plain HTML/PDF consumers do not receive the Email MIME engine unless they install this bridge.
Dependency footprint: OfficeIMO.Core, OfficeIMO.Mhtml, OfficeIMO.Html.Pdf, and OfficeIMO.Pdf.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- OfficeIMO.Core (>= 3.3.0)
- OfficeIMO.Html.Pdf (>= 3.3.0)
- OfficeIMO.Mhtml (>= 3.3.0)
- OfficeIMO.Pdf (>= 3.3.0)
-
.NETStandard 2.0
- OfficeIMO.Core (>= 3.3.0)
- OfficeIMO.Html.Pdf (>= 3.3.0)
- OfficeIMO.Mhtml (>= 3.3.0)
- OfficeIMO.Pdf (>= 3.3.0)
-
net10.0
- OfficeIMO.Core (>= 3.3.0)
- OfficeIMO.Html.Pdf (>= 3.3.0)
- OfficeIMO.Mhtml (>= 3.3.0)
- OfficeIMO.Pdf (>= 3.3.0)
-
net8.0
- OfficeIMO.Core (>= 3.3.0)
- OfficeIMO.Html.Pdf (>= 3.3.0)
- OfficeIMO.Mhtml (>= 3.3.0)
- OfficeIMO.Pdf (>= 3.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.