Third-Party Dependencies
Review runtime dependencies and upstream licenses for the public OfficeIMO package family, with package-level attribution and links to authoritative projects.
OfficeIMO packages are published under the MIT License, but several packages intentionally build on upstream open-source components. This page exists to make those relationships easier to review during OSS approval, procurement, and redistribution checks.
Scope
- Covers shipped runtime dependencies for the public OfficeIMO package families documented on this site.
- Focuses on user-visible dependencies rather than test-only packages, benchmark harnesses, sample apps, or framework/reference-only helpers.
- Exact package ranges live in the linked
.csprojfiles and NuGet metadata. - This page is informational only and is not legal advice.
Package Family Overview
| OfficeIMO package or family | Upstream components used in the repo today | Why they are there |
|---|---|---|
OfficeIMO.Drawing.HarfBuzz | HarfBuzzSharp 14.2.1.1 plus matching Windows, Linux, macOS, and WebAssembly native assets | Optional full OpenType GSUB/GPOS shaping through the first-party Drawing provider contract; Drawing and PDF core remain independent of HarfBuzz |
OfficeIMO.Word | DocumentFormat.OpenXml [3.5.1, 4.0.0); Microsoft.Bcl.AsyncInterfaces 10.0.9 on legacy targets | OOXML document model and compatibility helpers; colors and image metadata come from first-party OfficeIMO.Core and remain in the OfficeIMO.Drawing namespace |
OfficeIMO.Excel | DocumentFormat.OpenXml [3.5.1, 4.0.0); Microsoft.Bcl.AsyncInterfaces 10.0.9 and System.Text.Json [10.0.7, 11.0.0) on legacy targets | Workbook model, first-party image metadata, and compatibility helpers for older target frameworks |
OfficeIMO.PowerPoint | DocumentFormat.OpenXml [3.5.1, 4.0.0); Microsoft.Bcl.AsyncInterfaces 10.0.9 on legacy targets | Presentation OOXML model, packaging, and compatibility helpers |
OfficeIMO.Word.Html | DocumentFormat.OpenXml [3.5.1, 4.0.0); AngleSharp 1.5.2 and AngleSharp.Css 1.0.0-beta.216 through OfficeIMO.Html | OOXML plus shared HTML and CSS parsing for Word conversion workflows |
OfficeIMO.Markdown.Html | AngleSharp 1.5.2 and AngleSharp.Css 1.0.0-beta.216 through OfficeIMO.Html | Shared HTML and CSS parsing for Markdown conversion and bridge scenarios |
OfficeIMO.Word.Pdf | First-party OfficeIMO.Word and OfficeIMO.Pdf project references | Word-to-PDF conversion through the OfficeIMO PDF engine |
OfficeIMO.Excel.Pdf | First-party OfficeIMO.Excel and OfficeIMO.Pdf project references | Excel-to-PDF conversion through the OfficeIMO PDF engine |
OfficeIMO.Visio | System.IO.Packaging 10.0.8; Microsoft.Bcl.AsyncInterfaces 10.0.9 on net472 | OPC packaging support for .vsdx files and legacy async compatibility; colors and image metadata come from first-party OfficeIMO.Core and remain in the OfficeIMO.Drawing namespace |
OfficeIMO.Markdown | No third-party runtime package references | Keeps its runtime surface self-contained |
OfficeIMO.CSV | System.Buffers 4.5.1 on legacy targets | Compatibility buffer primitives; shared document and data-mapping contracts come from first-party OfficeIMO.Core |
OfficeIMO.Reader.Core, selective OfficeIMO.Reader.* adapters, and OfficeIMO.Reader.All | Core uses System.Text.Json [10.0.7, 11.0.0) only on legacy targets; adapters compose their named first-party format packages | Core stays format-neutral, selective adapters add only their owning engines, and All deliberately composes every local managed adapter |
OfficeIMO.Security | BouncyCastle.Cryptography [2.6.2, 3.0.0) | One neutral CMS, S/MIME, RFC 3161, and X.509 engine shared directly by Email and PDF without format-specific cryptography packages |
Additional Microsoft compatibility helpers may appear on older target frameworks, but the table above focuses on the upstream packages that most teams will care about during license review.
Upstream License Notes
| Upstream project | License or model | OfficeIMO packages that use it | What to know |
|---|---|---|---|
| HarfBuzzSharp | MIT | Drawing.HarfBuzz | Optional .NET bindings and platform-native HarfBuzz assets for full OpenType shaping; not referenced by Drawing or PDF core packages. |
| DocumentFormat.OpenXml | MIT | Word, Excel, PowerPoint, Word.Html | This is Microsoft's official Open XML SDK and the main OOXML building block in the Office document packages. |
| AngleSharp | MIT | Html, Markdown.Html, Word.Html, Reader.Html | Used for shared HTML parsing and DOM work. |
| AngleSharp.Css | MIT | Html, Markdown.Html, Word.Html, Reader.Html | Adds CSS parsing on top of the shared HTML engine. |
| Microsoft.Bcl.AsyncInterfaces | MIT | Word, Excel, PowerPoint, and Visio legacy targets | Provides async interface compatibility for older target frameworks. |
| System.Text.Json | MIT | Excel and Reader.Core legacy targets | Provides JSON support where it is not supplied by the target framework. |
| System.IO.Packaging | MIT | Visio | Microsoft packaging primitives for OPC-style containers. |
| System.Buffers | MIT | CSV legacy targets | Provides buffer primitives for older target frameworks. |
| BouncyCastle.Cryptography | MIT | Security; transitively Email and PDF security workflows | Implements the neutral CMS/X.509 primitives behind the OfficeIMO-owned security contracts without exposing vendor types. |
What We Recommend Teams Check
- Review the exact
PackageReferencelist for the OfficeIMO packages you ship, not just the repo root license. - Re-check upstream terms whenever a dependency version changes, especially around parsing, packaging, or compatibility helper libraries.
- Keep a copy of the upstream notices or license URLs in your own release/compliance workflow if your organization requires that.
How We Address This In The Website
- We keep the first-party OfficeIMO package license visible across the repo and site.
- We document the public dependency surface here instead of hiding it in project files.
- We keep the page scoped to real shipped package dependencies so it stays reviewable and current.
If you need the exact current references, start with the repository project files such as OfficeIMO.Word.csproj, OfficeIMO.Excel.csproj, OfficeIMO.Word.Pdf.csproj, OfficeIMO.Excel.Pdf.csproj, and OfficeIMO.Visio.csproj.