OfficeIMO is a family of COM-free .NET libraries for creating, reading, editing, converting, and exporting Office and document formats. It runs in services, desktop applications, build agents, containers, and automation hosts without Microsoft Office, Excel, PowerPoint, Visio, or LibreOffice automation.
This is not one facade over a collection of unrelated document libraries. OfficeIMO owns its OneNote, PDF, Markdown, RTF, OpenDocument, AsciiDoc, LaTeX, CSV, EPUB, ZIP, drawing, legacy Word .doc, legacy Excel .xls, and legacy PowerPoint .ppt/.pot/.pps implementations. Word, Excel, and PowerPoint use the Open XML SDK for package mechanics; HTML uses AngleSharp for DOM and CSS parsing. Converters compose the same first-party object models used by the native packages and return diagnostics when a target format cannot carry everything from the source.
The current source and packaging line is 3.0.x. Applications should upgrade OfficeIMO packages together: 3.0 tightens public boundaries, makes table-only PDF recovery explicit, and aligns the complete release set on one version. See the 2.x to 3.0 migration guide.
NuGet publication is a separate release step. The repository, project files, and locally packed artifacts target 3.0.0; a package ID is installable from NuGet.org only after that exact artifact has been published there. Until then, use the clean local feed produced by the release build or remain on the current public stable version.
If OfficeIMO saves you time, please consider supporting the work through GitHub Sponsors or PayPal. PowerShell users should start with PSWriteOffice.
OfficeIMO keeps document engines first-party and optional integrations isolated. The table calls out direct non-OfficeIMO runtime dependencies that matter to package selection; Microsoft/BCL compatibility packages are still used where older target frameworks need platform APIs.
| Package family | Direct external runtime dependency | What OfficeIMO owns |
|---|---|---|
| Drawing, OneNote, Markdown, RTF, OpenDocument, AsciiDoc, LaTeX, CSV, EPUB, ZIP | No third-party document engine | Parsing, object models, writing, rendering primitives, safety limits, and diagnostics |
| Word, Excel, PowerPoint | Open XML SDK | Fluent/editable object models, lifecycle, validation, conversions, managed image export, and first-party .doc/.xls/.ppt support |
| HTML and MHTML | AngleSharp and AngleSharp.Css | Resource policy, web-archive projection, media filtering, layout scene, Office/RTF mappings, and PDF/PNG/JPEG/TIFF/SVG/WebP output |
| Security, PDF, Email, email stores, and address books | Bouncy Castle through OfficeIMO.Security; Email also uses System.Text.Encoding.CodePages |
CMS/S/MIME/RFC 3161/X.509 orchestration, PDF parsing/writing/signature mapping, EML/MIME, MSG/OFT, TNEF, mbox, PST/OST, OLM, EMLX, Outlook OAB, MAPI projection, limits, and diagnostics |
| Visio | System.IO.Packaging |
VSDX model, diagram builders, editing, validation, topology, and PNG/JPEG/TIFF/SVG/WebP export |
| Reader.Yaml | YamlDotNet | Reader projection, chunking, limits, locations, and diagnostics |
| MarkdownRenderer.Wpf | Microsoft WebView2 | Rendering shell, presets, plug-in model, and WPF host contract |
| OCR packages | A caller-supplied executable or an installed Tesseract CLI | Candidate selection, bounded execution, protocol, result model, and diagnostics |
| Google Workspace packages | System.Text.Json and platform HTTP/cryptography |
Credentials abstraction, request/retry logic, Drive placement, translation plans, and reports; no Google client SDK |
| Converter packages not listed above | Only the OfficeIMO format packages they connect | Feature mapping, limits, loss reports, and destination APIs |
| Surface | Current repository coverage |
|---|---|
Coordinated 3.0.x release packages |
84 |
| Documented package, tool, and example projects below | 92 |
| Native format, foundation, and shared-service packages | 25 |
| Conversion and cloud bridge packages | 28 |
| Unified Reader packages and tool | 28 |
| Markdown renderer and OfficeIMO Markup surfaces | 11 |
| Runnable example projects | 1 |
| Modern Office authoring/editing | .docx, .xlsx, .pptx, .vsdx |
| First-party legacy binary support | Word 97–2003 .doc, Excel BIFF8 .xls, PowerPoint 97–2003 .ppt/.pot/.pps |
| First-party offline OneNote support | Desktop/FSSHTTP .one, .onetoc2, .onepkg |
| Managed PNG/JPEG/TIFF/WebP/SVG document export | Drawing; Word, Excel, PowerPoint, HTML, OneNote, Visio, and PDF; HTML-backed email and EPUB; ODT/ODS/ODP through their Office adapters |
The checkboxes describe the exact level of support: authoring, editing, reading, preserving, inspecting, converting, or exporting. A checked inspection or preservation item is not presented as full authoring support.
Every checked item below is implemented today. Detailed behavior, examples, and fidelity boundaries live in each project README.
- Common
Save,SaveAsync,SaveCopy,ToBytes, andToStreamlifecycle contracts used across formats - Immutable RGBA colors, named colors, hexadecimal parsing, palettes, and cross-format visual themes
- Image identification, dimensions, MIME metadata, fit modes, projection, cropping, and transform helpers
- Bounded async remote-image loading with URL policy, byte limits, media checks, and diagnostics
- Font descriptors, deterministic text measurement, TrueType font discovery, and glyph-outline reading
- One shaping-provider contract with a dependency-light managed core-Arabic/TrueType implementation and explicit fallback diagnostics
- Shapes, paths, gradients, shadows, clipping, transforms, vector scenes, and text blocks
- Shared chart kinds, chart snapshots, series data, renderers, and visual-quality reports
- Dependency-free raster buffers, drawing canvases, compositing, patterns, data bars, and sparklines
- First-party PNG/JPEG identification, decoding, encoding, and raster export paths
- Explicit composited-GIF frame selection or animation rejection with typed loss evidence
- Dependency-free TIFF output with uncompressed, PackBits, or Deflate strips and deterministic lossless WebP encoding with common raster export options
- Shared SVG primitive writing and scalable drawing export
- Single and batch image-export builders with dimensions, source metadata, and diagnostics
Dependency footprint: zero third-party runtime dependencies.
- Optional typed bridge from CodeGlyphX QR, matrix, and linear barcode symbols to reusable
OfficeDrawingscenes - Neutral SVG handoff without making either core package depend on the other
- Searchable barcode label text and explicit unsupported-import counts
Dependency footprint: only OfficeIMO.Drawing and CodeGlyphX; both core packages remain independently usable.
- Create, load, edit, append, inspect, and save
.docxdocuments - Read, write, and convert the supported first-party Word 97–2003
.docsubset with loss preflight - Rich runs, fonts, colors, highlights, borders, shading, tabs, spacing, line breaks, and custom paragraph styles
- Bullets, numbering, picture bullets, nested lists, start values, cloning, and list-style detection
- Tables with styles, borders, cell margins, merge/split, nested tables, repeated header rows, widths, heights, and page-break control
- Images from files, streams, bytes, Base64, and URLs with alt text, crop, transparency, wrapping, rotation, flipping, and positioning
- Native charts, shapes, lines, text boxes, equations, embedded documents/objects, and SmartArt inspection/mutation helpers
- Fields, TOCs, bookmarks, hyperlinks, cross-references, document variables, bibliography sources, and field-update reports
- Sections, page sizes, orientation, margins, columns, page/background color, watermarks, and page numbers
- Default, first-page, and even-page headers and footers, including multi-section inheritance and cleanup
- Footnotes, endnotes, comments, revisions, tracked-change helpers, comparison/redline reports, and document merging
- Content controls for text, checkboxes, dates, lists, pictures, rich text, and repeating sections
- Mail merge, formatting-preserving field replacement, conditional template blocks, Custom XML binding, and form-map validation
- Macro add/extract/remove, document protection, encrypted packages, digital-signature inspection, cleanup, repair, and feature preflight
- Managed document export to PNG, JPEG, TIFF, lossless WebP, and SVG; opt-in conversion packages add PDF, HTML, Markdown, RTF, ODT, and Google Docs
Dependency footprint: Open XML SDK plus OfficeIMO.Drawing; legacy .doc support and image export are OfficeIMO implementations.
- Create, load, edit, inspect, and save
.xlsxworkbooks - Read, write, and convert the supported first-party BIFF8
.xlssubset with loss preflight - Worksheets, cells, ranges, merges, tables, totals, filters, freeze panes, hyperlinks, and local/workbook named ranges
- Object, dictionary,
DataTable,DataSet, row, stream, and typed-model import/export with editable-row workflows - Streaming reads, direct package writers, parallel compute/apply phases, progress, cancellation, and large-workbook controls
- Fonts, fills, borders, alignment, number formats, rich text, themes, row/column sizing, and reusable report styling
- Data validation, conditional formatting, icon sets, data bars, color scales, ignored-error metadata, and sparklines
- Formula authoring, dependency graphs, unsupported-formula diagnostics, and a bounded calculation engine for reporting functions
- Charts across common 2-D/3-D, pie, radar, stock, surface, combo, secondary-axis, trendline, and dashboard scenarios
- Pivot tables with row/column/page/data fields, layouts, styles, filters, grouping metadata, calculated fields, and readback
- Templates with marker binding, repeated rows, repeated sheets, optional regions, formatters, image binding, and preflight diagnostics
- Legacy comments plus threaded-comment/person metadata inspection and preservation
- Worksheet/workbook protection, encrypted OOXML packages, document properties, and compatibility validation
- Print areas, page breaks, page setup, and first/odd/even headers and footers with supported images
- Feature inspection and preservation reporting for macros, external links, custom XML, embedded packages, signatures, controls, slicers, timelines, and query metadata
- Workbook, worksheet, and range export to PNG, JPEG, TIFF, lossless WebP, and SVG; adapters add PDF, HTML, ODS, and Google Sheets
- Reproducible read, write, edit, package-size, and feature-rich benchmark suites against ClosedXML, EPPlus, MiniExcel, LargeXlsx, SpreadCheetah, ExcelDataReader, Sylvan.Data.Excel, and opt-in NPOI lanes
Dependency footprint: Open XML SDK plus OfficeIMO.Drawing; legacy .xls support and image export are OfficeIMO implementations.
- Create, load, edit, inspect, and save editable
.pptxpresentations - Read, author, edit, preserve, encrypt, and convert
.ppt,.pot, and.ppsthrough a versioned capability contract and loss preflight - Slide creation, duplication, deletion, reordering, sections, presentation sizes, layouts, placeholders, and templates
- Text boxes, rich runs, paragraphs, bullets, alignment, spacing, auto-fit, hyperlinks, and theme-aware typography
- PNG/JPEG/SVG pictures from files and streams with crop, replacement, validation, positioning, and effects
- Tables with merges, cell formatting, borders, fills, pagination helpers, and data-driven creation
- Shared chart authoring, data binding, formatting, markers, axes, combo charts, secondary axes, and chart updates
- Auto-shapes, custom geometry, lines, groups, alignment, distribution, grids, sizing, anchors, stacking, and effects
- Backgrounds, gradients, overlays, themes, color transforms, transitions, speaker notes, notes masters, metadata, and media inspection
- Semantic deck plans and reusable executive-summary, chart-story, comparison, screenshot, appendix, architecture, and closing compositions
- Deck preflight and rhythm analysis for density, repetition, long sections, layout balance, and missing closings
- Feature/package inspection, validation, repair, accessibility metadata, SmartArt inspection, and preservation-aware editing
- Encrypted presentation save/load and read-only, stream-backed, detached-load, and explicit-persistence lifecycles
- Slide export to PNG, JPEG, TIFF, lossless WebP, and SVG plus presentation-wide image export; adapters add PDF, HTML, and ODP
Dependency footprint: Open XML SDK plus OfficeIMO.Drawing; legacy binary support, composition, editing, charting, and managed image export are OfficeIMO implementations.
- Create, load, edit, inspect, and save
.vsdxdiagrams without Visio automation - Multi-page documents, page settings, scale, backgrounds, metadata, document settings, and stream/file lifecycles
- Rectangles, ellipses, diamonds, triangles, callouts, custom/master geometry, groups, and shape duplication
- Connectors, connection points, arrows, routing, line jumps, endpoint queries, and topology inspection
- Shape text, text styles, fills, lines, themes, style sheets, Shape Data, hyperlinks, comments, and protection
- Layers, containers, background pages, page instances, and fluent selection/query helpers
- Built-in and learned masters, stencil profiles, master editing, replacement, and migration plans/artifacts
- Flowchart, block, architecture, network, topology, swimlane, org-chart, sequence, timeline, dependency, and graph builders
- Loaded-diagram editing, layout, selection, validation, package checks, desktop compatibility proof, and visual-quality analysis
- Headless PNG, JPEG, TIFF, lossless WebP, and SVG export for individual pages plus document-wide batch export
Dependency footprint: System.IO.Packaging plus OfficeIMO.Drawing; the VSDX model and renderers are first-party.
- Create PDFs with page setup, rich text, TrueType/OpenType-CFF subsetting, bounded managed Arabic plus shaping-provider positioning, multilingual font fallback, dictionary hyphenation, mixed inline visuals, typed business recipes, page-aware components, styled multipage containers, balanced block-flow columns, tables, and images
- Conditional and replayable flow, position capture, semantic sections, generated TOCs, named destinations, outlines, and generated optional-content layers
- Vector drawings, chart scenes, backgrounds, page decorations, headers, first/even footers, watermarks, metadata, and viewer preferences
- AcroForm creation, field values, choice fields, appearance generation, filling, flattening, and validation
- Annotations, bookmarks/outlines, named destinations, attachments/associated files, optional-content layers, and structured/tagged output
- Exact-artifact validator-backed generation and proof for PDF/A-2b, PDF/A-3b, PDF/UA-1, Factur-X, and ZUGFeRD, plus fail-closed readiness analysis for other formal profiles
- Text extraction by page/range, layout-aware Markdown, logical paragraphs/headings/lists/tables, links, forms, images, and navigation
- Inspect pages, boxes, fonts, images, attachments, outlines, forms, actions, layers, tags, catalog metadata, security, signatures, and revisions
- Extract, split, merge, import, crop, delete, duplicate, reorder, move, rotate, and overlay/underlay complete source pages
- Edit metadata, forms, annotations, bookmarks, attachments, and security; stamp text/images and apply watermarks
- Redaction search/application/verification, sanitization, optimization, OCR hooks, and document-understanding pipelines
- Standard and modern encrypted PDF read/write plus signature mutation and permissions analysis
- Incremental object updates and append-only annotation paths where the source structure allows them
- Managed page rendering to PNG, JPEG, TIFF, lossless WebP, and SVG with page selections, pixel/page limits, capability diagnostics, and continue-on-error batches
- Shared mutation-portfolio and render-compatibility assessments backed by the canonical preflight/planner and generated capability registry
- Bounded stream serialization with per-save peak-retention, spill, buffering, and passthrough evidence
- Exact embedded TrueType outlines plus shared managed CMYK, Lab, XYZ, and calibrated-color conversion where supported
- Logical recovery used by PDF-to-Word, PDF-to-Excel, PDF-to-PowerPoint, and PDF-to-RTF adapters
- Conversion proof, visual comparison, external-validator hooks, and rewrite-preservation reports for warnings, blockers, and structure drift
Dependency footprint: OfficeIMO.Drawing plus the shared OfficeIMO.Security CMS/X.509 engine. No third-party PDF parser, writer, or renderer.
- Detached and encapsulated CMS signing and verification with bounded parsing and structured findings
- RSA and ECDSA verification, platform X.509 chain/revocation policy, and RFC 3161 timestamp validation
- CMS EnvelopedData encryption/decryption for S/MIME recipients
- Platform-RSA signing without exporting private keys, including CNG/HSM-compatible key handles
- One vendor-neutral owner shared by the thin PDF and Email security adapters
Dependency footprint: one external package, BouncyCastle.Cryptography; no dependency on PDF, Email, Drawing, or image libraries.
- Native ODT, ODS, and ODP package and flat-XML loading, editing, inspection, and deterministic saving
- ODT paragraphs, headings, runs, styles, lists, tables, links, bookmarks, sections, page layout, headers/footers, images, and tracked changes
- ODS sparse/repeated cells, typed values, formulas, styles, merges, sizing, visibility, names, validation, and print ranges
- ODP slides, masters/layouts, text, shapes, groups, images, crop, tables, notes, backgrounds, transitions, and basic animation metadata
- Unknown XML and package-part preservation with explicit loss and capability reports
Dependency footprint: only OfficeIMO.Drawing; no OpenDocument SDK and no LibreOffice runtime.
- Bounded RTF lexer/parser with a lossless syntax tree and exact unchanged-source round trips
- Editable semantic model for paragraphs, runs, styles, lists, tables, sections, headers/footers, notes, fields, images, shapes, objects, comments, and revisions
- Canonical and preserve-mode writing with structured parser, binding, and conversion diagnostics
- HTML bridge and dedicated Markdown, PDF, and Word workflow adapters
Dependency footprint: System.Text.Encoding.CodePages plus OfficeIMO.Drawing; no third-party RTF parser.
- Typed Markdown AST and fluent builder for headings, paragraphs, lists, tasks, tables, code, callouts, details, definitions, front matter, footnotes, TOCs, and semantic fenced blocks
- Native parsing with source spans, anchors, stable block identities, transforms, and diagnostics
- HTML fragment/document rendering with CSS profiles and optional Prism, Mermaid, chart, and math shell assets
- AOT-friendly typed selectors and DTO-style AST projection for editor, chat, transcript, and document hosts
Dependency footprint: only OfficeIMO.Drawing; no Markdig or other Markdown parser dependency.
- Lossless Atlas Document Format JSON model with unknown nodes, marks, attributes, and extension properties preserved
- Structural validation plus Markdown and HTML projections with explicit fidelity diagnostics
- Markdown and HTML import through OfficeIMO's existing document engines
Dependency footprint: OfficeIMO Markdown, Markdown.Html, and HTML plus System.Text.Json on compatibility targets; no Atlassian SDK.
- Canonical
HtmlConversionDocumentwith DOM, base-URI, media, resource, and URL-policy ownership - MHTML/MHT loading and deterministic saving with HTML root selection plus CID/Content-Location resource resolution
- CSS-aware layout scene shared by PNG, JPEG, TIFF, SVG, WebP, PDF, and Office adapters
- Direct PNG, JPEG, TIFF, SVG, and lossless WebP output with structured diagnostics and bounded local/remote resource loading;
OfficeIMO.Html.Pdfadds PDF - Email body export through the same image pipeline with plain-text fallback, inline MIME resources, page selection, diagnostics, and bounded output
- Semantic HTML/RTF conversion and shared mappings for Word, Excel, PowerPoint, and Markdown
Dependency footprint: AngleSharp and AngleSharp.Css for DOM/CSS parsing, plus first-party OfficeIMO drawing, email, and RTF engines.
- Dependency-free, source-preserving AsciiDoc parser, typed tree, semantic model, and writer
- Headings, paragraphs, lists, definitions, admonitions, delimited blocks, tables, images, anchors, attributes, and STEM content
- Preserve and canonical output modes with source-located diagnostics
- Explicit bounded processing with root-confined include policy; parsing never executes directives
Dependency footprint: only OfficeIMO.Drawing; no Asciidoctor process or parser package.
- Source-preserving parser for a bounded LaTeX2e interoperability profile
- Tokens, groups, commands, environments, comments, headings, lists, figures, tables, labels, references, citations, theorems, and math
- Exact unchanged-source writing and visible preservation of unknown commands/environments
- Opt-in bounded expansion for safe document-local simple macros
Dependency footprint: only OfficeIMO.Drawing; no TeX runtime, compiler, or parser dependency.
- First-class headers/rows document model with file, stream, text, in-memory, and forward-only streaming lifecycles
- Single- and multi-character delimiters, culture, encoding, newline, quote, escape, whitespace, comment, and null-token controls
- Duplicate/blank header policy, W3C
#Fields:support, static metadata columns, row-length policy, and custom date formats - Gzip, deflate, Brotli, and zlib CSV read/write with extension-based detection
- Add/remove/transform columns and rows, filter, sort, materialize, and culture-aware save workflows
- Schema inference and validation with required/optional typed columns, defaults, conversion delegates, and custom rules
- Reflection-free typed object mapping suitable for trimming and NativeAOT-sensitive consumers
-
DataTable,IDataReader/DbDataReader, typed-reader, SQL/bulk-copy-shaped, reusable-row, field-span, and trusted-text paths - Cancellation, progress, collected parse errors, quote normalization, field/input limits, string interning, and deterministic diagnostics
- Spreadsheet formula-injection escaping and explicit malformed-input policy for ingestion boundaries
- BenchmarkDotNet coverage against Sep, Sylvan, CsvHelper, Dataplat/dbatools, and LumenWorks with row-count and payload checks so lanes cannot win by under-reading
Dependency footprint: BCL compatibility packages only; no third-party CSV parser.
- Read, create, edit, and write MIME/EML messages
- Native Outlook MSG/OFT/MAPI model with messages, templates, contacts, appointments, tasks, attachments, recipients, properties, and named properties
- TNEF/
winmail.datand mbox reading/writing with nested and embedded items - Standalone iCalendar/ICS and vCard/VCF read, write, mutation, validation, lossless extensions, recurrence, temporal, contact-group, and legacy syntax support
- RTF and compressed-RTF body handling, MIME compatibility, safety limits, diagnostics, and package inspection
- One mixed-artifact discovery API across individual messages, calendars, contacts, stores, and Offline Address Books
- Fully managed, lazy PST and OST sessions with bounded page caches, selective summaries, queries, and explicit item reads
- Bounded Outlook for Mac OLM, individual EMLX, unified Mbox, lazy Apple Mail trees, Maildir, and EML/MIME directory ingestion
- Common
OfficeIMO.Email.EmailDocumentprojection instead of a second message or Outlook-item model - Resumable semantic content search, special-folder roles, offline-content availability, and deferred attachment streams
- Inspection, bounded PST/OST structural validation, orphan discovery, EML/MSG/OFT/TNEF directory export, streaming mbox export, and native Maildir/EMLX output
- Managed Unicode PST creation with folders, typed items, recipients, attachments, embedded messages, named properties, and multi-valued MAPI properties
- Read-only OST/PST/OLM/EMLX/Mbox/mailbox-directory conversion into a separate new PST with explicit fidelity diagnostics
- Existing Unicode PST folder/item mutation through a locked, verified, optionally backed-up atomic rewrite transaction
- Configurable source, cache, tree, item, attachment, archive, XML, directory, and recursion limits with structured diagnostics
- Bounded Outlook OAB component discovery with v4, display-template, and legacy v2/v3 role inspection
- Lazy v4 Full Details entry and distribution-list enumeration with dynamic schemas and retained raw properties
- Exact-offset resumable search across names, addresses, organization, phones, postal fields, comments, and membership
- Seeded CRC, record-framing, and full-schema validation with progress, cancellation, and explicit limits
- Shared
EmailAddress,OutlookContact,MapiProperty, and diagnostics models instead of duplicate directory primitives
Dependency footprint: System.Text.Encoding.CodePages plus first-party OfficeIMO Drawing, RTF, and Security. Security contributes one BouncyCastle.Cryptography dependency; there is no MailKit, MimeKit, Outlook installation, native library, or third-party message/store/OAB parser.
- Managed read, create, edit, save, and round-trip writing for desktop and FSSHTTP-encoded
.onesections - Native
.onetoc2notebook hierarchy and managed Cabinet.onepkgread/write - Pages/subpages, rich content, layout, OCR/media metadata, editable native ink/recognition and structured math, conflicts, versions, revisions, and opaque data
- Shared Drawing canvas with PNG/JPEG/TIFF/SVG/WebP plus position-preserving visual HTML/PDF and semantic conversion paths
- Correct half-inch image geometry, web-picture fallback, and loss-aware unresolved image relationship preservation
- Lazy assets, bounded corruption-resistant parsing, structured diagnostics, legal desktop/FSSHTTP/handwriting fixtures, benchmarks, and Microsoft OneNote open/edit/save/reopen interoperability proof
Dependency footprint: only first-party OfficeIMO.Drawing; zero third-party runtime dependencies and no Microsoft Graph, GraphEssentialsX, COM, installed OneNote, or commercial SDK.
- EPUB container, OPF package, manifest, spine, nav, and NCX parsing
- Metadata and deterministic spine-ordered chapter extraction
- XHTML/XML text extraction and optional raw HTML retention
- Bounded resource payload access with warnings and per-resource/total limits
Dependency footprint: only OfficeIMO.Drawing; no third-party EPUB engine.
- Direct chapter-to-image export through the shared HTML rendering scene
- Retained EPUB resources, chapter selection, continuous or paged output, cancellation, batch budgets, and fidelity policy
- PNG, JPEG, TIFF, lossless WebP, and SVG through the same result, diagnostics, save, and progress contracts as other document families
Dependency footprint: only first-party OfficeIMO EPUB, HTML, and Drawing packages; no browser or second EPUB engine.
- Deterministic ZIP entry traversal for ingestion pipelines
- Guards against relative traversal, absolute paths, and drive paths
- Depth, entry-count, per-entry size, total uncompressed size, and compression-ratio limits
- Structured warnings for rejected and limited entries
Dependency footprint: only OfficeIMO.Drawing; archive traversal uses platform compression APIs.
- Application-owned OAuth/service-account credential abstraction and domain-wide delegation support
- Shared session, safety-aware retry, timeout, diagnostics, scopes, normalized errors, and failure classification
- Drive folder, shared-drive, and existing-file targeting contracts
- Fidelity preflight and translation reports shared by Docs, Sheets, and Slides translators
Dependency footprint: System.Text.Json and platform HTTP/cryptography; no Google client SDK.
- Typed files, folders, metadata, capabilities, shared drives, copy/move/delete, and permissions
- Import/export discovery, download/export, multipart/resumable upload, progress, and cancellation
- Comments/replies, revisions, change tokens, and temporary public-content leases with cleanup reporting
Dependency footprint: only OfficeIMO GoogleWorkspace plus System.Text.Json on compatibility targets.
- Optional
GoogleCredential,UserCredential, andITokenAccessadapters - Installed-application authorization with PKCE
- Application-owned token-store boundary; no default plaintext refresh-token persistence
Dependency footprint: Google authentication libraries plus OfficeIMO GoogleWorkspace; not required by the core packages.
- User and per-shared-drive change-feed consumption with independent checkpoint advancement
- Minimal cursors and stable identity/version evidence without document-content storage
- Dry-run, lossy approval, conflicts, cancellation, and item-level partial-failure outcomes
Dependency footprint: only OfficeIMO GoogleWorkspace and Drive.
- Confluence Cloud v2 page read, cursor listing, create, update, dry-run request plans, and optimistic version contracts
- Attachment listing/download plus non-retried upload/versioning, cancellation, timeouts, and caller-owned credentials
- ADF, Markdown, HTML, and storage conversion with fidelity reports and marker-delimited managed-section replacement
Dependency footprint: only OfficeIMO ADF and Markdown plus platform HTTP and System.Text.Json on compatibility targets; no Atlassian SDK.
- Word to HTML and HTML to editable Word conversion
- Headings, paragraphs, styles, lists, tables, captions, links, images/SVG, form controls, notes, comments, sections, headers, and footers
- CSS, base URI, local/remote resource policy, limits, language metadata, and conversion diagnostics
Dependency footprint: OfficeIMO Word, HTML, and Drawing plus the Open XML SDK already used by Word; no separate conversion engine.
- Word to GitHub-friendly Markdown with headings, lists, tasks, tables, images, links, code, and footnotes
- Typed Markdown AST to editable Word conversion
- Image layout policy and selected inline-HTML formatting preservation
Dependency footprint: only OfficeIMO Word, Markdown, HTML, and Drawing packages.
- Word to PDF with sections, columns, headers/footers, tables, links, images, shapes, controls, notes, and TOC links
- PDF to editable Word recovery for parser-supported text, headings, lists, tables, links, destinations, images, and form placeholders
- Page-range import and structured export/import fidelity reports
Dependency footprint: only OfficeIMO Word, PDF, and Drawing packages; no browser, native renderer, or commercial PDF SDK.
- Word to ODT and ODT to Word conversion
- Ordered body blocks, headings, formatting, links, lists, tables/merges, inline images, page layout, bookmarks, and default headers/footers
- Feature-mapping reports for approximated, skipped, and unsupported content
Dependency footprint: only OfficeIMO Word and OpenDocument packages.
- RTF to editable Word and Word to semantic RTF conversion
- Paragraphs, rich runs, tables, images, notes, sections, styles, numbering, links, bookmarks, revisions, and comments
- Result-bearing mail merge, find/replace, field update, merge, and comparison workflows using the Word engine
Dependency footprint: only OfficeIMO Word and RTF packages.
- Plan, create, tab-aware revision-safe replace, native import, and Drive DOCX fallback
- Core Word structures, links, comments, renderer-owned fallbacks, and explicit unsupported-feature policy
- Format-specific checkpoints/diff plans plus Drive placement and structured diagnostics
Dependency footprint: OfficeIMO Word and GoogleWorkspace plus System.Text.Json; no Google client SDK.
- Semantic Excel-to-HTML and HTML-to-editable-Excel round trips
- Sheet names/visibility, used ranges, typed values, formulas, comments, merges, images, and chart inventory
- Importable semantic tables and positioned visual-review HTML with bounded table spans
Dependency footprint: only OfficeIMO Excel, HTML, and Drawing packages.
- Excel to PDF using print areas, page setup, breaks, repeated titles, headers/footers, and images
- Cell display values, number formats, fills, fonts, alignment, borders, merges, links, conditional visuals, tables, worksheet images, and chart snapshots
- PDF logical-table recovery into editable Excel output and structured conversion reports
Dependency footprint: only OfficeIMO Excel, PDF, and Drawing packages.
- Excel to ODS and ODS to Excel conversion
- Worksheets, typed values, formulas, links, merges, row/column layout, names, and basic styles
- Bounded sparse expansion and feature-mapping reports for skipped content
Dependency footprint: only OfficeIMO Excel and OpenDocument packages.
- Plan, create, version-safe replace, native/range import, and Drive XLSX fallback
- Formula policy, values batching, styles, validation, filters, protection, conditional rules, charts, pivots, outlines, and tables at documented levels
- Format-specific checkpoints/diff plans plus Drive placement and structured diagnostics
Dependency footprint: OfficeIMO Excel and GoogleWorkspace plus System.Text.Json; no Google client SDK.
- Plan, create, template-copy, revision-safe replace, native import, and Drive PPTX fallback
- Editable text, tables, pictures, basic shapes, backgrounds, links, and speaker notes
- Renderer-owned full-slide fallback for complex content plus explicit support catalog and diff plan
Dependency footprint: OfficeIMO PowerPoint, GoogleWorkspace, and Drive plus System.Text.Json on compatibility targets; no Google client SDK.
- Semantic PowerPoint-to-HTML and HTML-to-editable-PowerPoint round trips
- Slide order/visibility, drawing order, geometry, transforms, notes, table merges, pictures, and chart data
- Importable semantic slides and positioned visual-review HTML with bounded table spans
Dependency footprint: only OfficeIMO PowerPoint, HTML, and Drawing packages.
- Slides, notes pages, and handout PDF profiles
- Backgrounds, text boxes, hyperlinks, pictures, tables, charts, and basic auto-shapes
- Shared visual snapshots for faithful PDF, PNG/SVG, and review-HTML output with conversion diagnostics
Dependency footprint: only OfficeIMO PowerPoint, PDF, and Drawing packages.
- PowerPoint to ODP and ODP to PowerPoint conversion
- Slide size/order, hidden slides, text, images, tables/merges, basic shapes, backgrounds, transitions, and notes
- Feature reports for advanced geometry, charts, SmartArt, media, animations, masters, and unsupported transitions
Dependency footprint: only OfficeIMO PowerPoint and OpenDocument packages.
- Direct ODT, ODS, and ODP to PDF workflows with path, stream, synchronous, asynchronous, and result-bearing APIs
- One thin façade over the existing OpenDocument-to-Office adapters and canonical Word, Excel, and PowerPoint PDF engines
- Combined feature-mapping and PDF conversion diagnostics so approximated, skipped, and unsupported content remains visible
Dependency footprint: only first-party OfficeIMO OpenDocument, Office, and PDF adapter packages; no second document or PDF rendering engine.
- HTML to typed Markdown conversion
- Headings, lists, quotes, code, tables, figures, details, definitions, links, images, and selected inline HTML
- Base-URI resolution, visual-host hints, and custom block/inline converter registration
Dependency footprint: only OfficeIMO HTML and Markdown packages; AngleSharp remains isolated in OfficeIMO.Html.
- Markdown to PDF with metadata, outlines, headings, rich text, links, lists/tasks, tables, code, callouts, details, definitions, footnotes, and TOCs
- Shared visual themes, Unicode/font fallback policy, page decoration, and structured conversion warnings
- Direct Markdown-to-PDF workflows through the first-party Markdown, PDF, and Drawing engines
Dependency footprint: only OfficeIMO Markdown, PDF, and Drawing packages.
- Shared semantic projection for OneNote hierarchy, rich text, lists, tables, links, assets, math, conflicts, and version history
- Markdown text, UTF-8 bytes, and typed
MarkdownDocoutput - Safe RichEdit/control/noncharacter normalization without mutating the native model
- Bounded cycle, shared-instance, and depth validation across hierarchy, related pages, and recursive content
Dependency footprint: only OfficeIMO OneNote and Markdown; it is the single semantic projection owner used by Reader and the semantic HTML/PDF paths.
- Standalone HTML documents, embeddable fragments, bytes, streams, and sync/async save paths
- Offline rendering through the shared OneNote projection and first-party Markdown HTML renderer
- Position-preserving responsive SVG-page HTML from the shared OneNote Drawing canvas with optional assistive text
Dependency footprint: OfficeIMO OneNote.Markdown, Markdown, and Drawing.
- PDF document, bytes, streams, and sync/async save paths with first-party conversion diagnostics
- OneNote hierarchy and semantic content rendered through the shared Markdown projection
- Position-preserving image-backed PDF pages from the shared OneNote Drawing canvas with bounded configurable raster scale
- Multilingual system-font fallback by default with explicit strict-font opt-out
Dependency footprint: OfficeIMO OneNote.Markdown, Markdown.Pdf, PDF, and Drawing.
- Direct HTML-to-PDF plus shared PNG, JPEG, TIFF, SVG, and WebP rendering from
HtmlConversionDocument - CSS-aware page layout, media queries, local/remote resource policy, font fallback, links, tables, images, and vector content
- PDF-to-HTML logical projection and result-bearing diagnostics
Dependency footprint: only OfficeIMO HTML, PDF, and Drawing packages; no browser process or native HTML renderer.
- Semantic RTF to Markdown and Markdown to RTF conversion
- Rich inline formatting, lists, tables, links, images, footnotes, and endnotes
- Visible flattening/omission diagnostics and
RequireNoLoss()workflows
Dependency footprint: only OfficeIMO RTF, Markdown, and Drawing packages.
- RTF to PDF with page setup, sections, paragraph layout, tabs, lists, tables/merges, images, notes, annotations, and first/even headers and footers
- PDF to editable RTF recovery for parser-supported metadata, headings, lists, paragraphs, and page transitions
- Structured conversion warnings and an opt-in callback for WMF/EMF rasterization
Dependency footprint: only OfficeIMO RTF, PDF, and Drawing packages.
- AsciiDoc to typed Markdown and Markdown to canonical AsciiDoc
- Inline formatting, metadata, lists/definitions, admonitions, tables/spans, images, code metadata, anchors, and STEM mappings
- Source-located diagnostics and visible fallbacks for constructs without a safe equivalent
Dependency footprint: only OfficeIMO AsciiDoc and Markdown packages.
- Direct AsciiDoc-to-PDF lifecycle over the existing loss-aware Markdown projection
- Combined native parser, semantic projection, and PDF diagnostics
- Shared Markdown PDF resource, font, layout, proof, stream-ownership, and cancellation contracts
Dependency footprint: only OfficeIMO AsciiDoc.Markdown and Markdown.Pdf; no additional renderer or external dependency.
- Bounded-profile LaTeX to typed Markdown and Markdown to canonical LaTeX
- Front matter, headings, formatting, links, lists/definitions, figures, tables, theorems, verbatim/code, and math transport
- Deterministic escaping/labels and diagnostics for TeX layout or package behavior that cannot be represented
Dependency footprint: only OfficeIMO LaTeX and Markdown packages.
- Direct bounded-profile LaTeX-to-PDF lifecycle over the existing loss-aware Markdown projection
- Combined native parser, semantic projection, and PDF diagnostics
- Explicit math, citation, package-behavior, and source-fallback limitations without TeX execution
Dependency footprint: only OfficeIMO Latex.Markdown and Markdown.Pdf; no additional renderer or external dependency.
- Dependency-light contracts, schemas, routing, limits, processors, and immutable instance-scoped readers
- Normalized Markdown/text chunks, tables, visuals, assets, locations, hashes, metadata, diagnostics, and rich results
- Explicit handler registration with stable capability manifests and
OfficeIMO/Customorigins - Plain-text and unknown-payload fallbacks without a format-engine dependency
Dependency footprint: no OfficeIMO format-engine dependency; only System.Text.Json on compatibility targets.
- One composition-only
AddAllOfficeIMOHandlers()preset for local optional Reader formats - Per-adapter options without duplicating parsers, providers, models, or global registration state
- Explicit exclusion of OCR engines and other host-selected external processes
- Explicit complete local managed graph, with OCR engines and external providers excluded
Dependency footprint: the selective OfficeIMO.Reader.* adapter packages; this preset adds no parser or native runtime of its own.
-
.adoc,.asciidoc, and.ascregistration - Block-aware chunks with source lines, heading paths, tables, compound lists, and typed Markdown projection
- Parser and conversion warnings without duplicating the native AsciiDoc parser
Dependency footprint: only OfficeIMO.Reader.Core, AsciiDoc, and AsciiDoc.Markdown.
- CSV/TSV table-aware chunks with row locations and deterministic identifiers
- Path/stream input, size limits, configurable chunk rows, headers, and Markdown previews
- Excel worksheet/table CSV exchange helpers
Dependency footprint: only OfficeIMO.Reader.Core and CSV.
- One adapter package for EML, MSG/OFT, TNEF, Mbox/MBX, iCalendar, vCard, PST/OST/OLM/EMLX, mailbox directories, and OAB
- Stable artifact/store/folder/item logical paths, typed metadata, semantic bodies, attachments, hashes, and rich results
- Bounded selective store and address-book projection with visible truncation and opt-in complete-source hashing
- Nested attachment delegation through only the Reader handlers configured by the host
Dependency footprint: OfficeIMO.Reader.Core and the unified OfficeIMO.Email package; Store and AddressBook do not add NuGet layers.
- DOCX/DOCM and legacy DOC extraction through the owning Word engine
- Rich headings, tables, images, metadata, diagnostics, and password-aware detection
Dependency footprint: OfficeIMO.Reader.Core and OfficeIMO.Word.
- XLSX/XLSM/XLSB and legacy XLS extraction through the owning Excel engine
- Rich workbook/table/image projection plus Excel CSV exchange helpers
Dependency footprint: OfficeIMO.Reader.Core, OfficeIMO.Excel, and OfficeIMO.CSV.
- PPTX/PPTM and legacy PPT/POT/PPS extraction through the owning PowerPoint engine
- Slide, notes, table, image, metadata, diagnostic, and password-aware projection
Dependency footprint: OfficeIMO.Reader.Core and OfficeIMO.PowerPoint.
- Typed Markdown parsing with source spans, heading paths, tables, and supported visual fences
- Deterministic bounded chunks without a document-format dependency
Dependency footprint: OfficeIMO.Reader.Core and OfficeIMO.Markdown.
- Chapter-aligned text and Markdown chunks with virtual EPUB source paths
- Pages, HTML blocks, tables, links, forms, manifest image assets, metadata, and parser diagnostics
- Path/stream dispatch, non-seekable streams, limits, and propagated EPUB warnings
Dependency footprint: only OfficeIMO.Reader.Core, Reader.Html, and EPUB.
- HTML/MHTML-to-Markdown chunks with heading-aware splitting
- Tables, figures, links, forms, media visuals, metadata, and bounded data-URI assets
- Embedded MHTML resources as Reader assets with archive diagnostics and capability evidence
- HTML profile, transform, converter, and visual round-trip option pass-through
Dependency footprint: OfficeIMO.Reader.Core, OfficeIMO.Html, OfficeIMO.Markdown.Html, and OfficeIMO.Email for MHTML resources.
- Standalone PNG, JPEG, GIF, BMP, TIFF, SVG, EMF, WMF, ICO, PCX, and WebP registration
- Header-level format, dimensions, DPI, asset, visual, and OCR-candidate projection
- Optional payload retention without pixel decoding or OCR execution
Dependency footprint: OfficeIMO.Reader.Core and OfficeIMO.Drawing; no pixel-decoding or OCR package.
- JSON AST traversal into path/type/value rows
- Chunked structured output and optional Markdown tables
- Path/stream dispatch and malformed-input warnings
Dependency footprint: System.Text.Json plus OfficeIMO.Reader.Core.
-
.texingestion without compiling TeX or loading packages - Source-located chunks for headings, paragraphs, lists, figures, tables, theorems, and math
- Visible source fallbacks and warnings for content outside the bounded document profile
Dependency footprint: only OfficeIMO.Reader.Core, LaTeX, and LaTeX.Markdown.
- Bounded Jupyter
.ipynbMarkdown, raw, and code-cell projection - Text, Markdown, stream, and error outputs with explicit count and character limits
- Deterministic ingestion without running kernels or executing cells
Dependency footprint: only OfficeIMO.Reader.Core; JSON comes from Reader's established runtime graph.
- Offline
.one,.onetoc2, and.onepkgpath/stream ingestion with async, non-seekable, cancellation, and input-limit behavior - Page/subpage hierarchy, chunks, tables, links, assets, metadata, conflicts/version counts, diagnostics, hashes, and Markdown/text projections
- Current-only default with explicit conflict/version/recycle-bin opt-ins and unresolved-image metadata
- Complete-graph projection validation before chunks, tables, assets, links, and metadata traversal
- Thin registration over the native OneNote engine and shared OneNote.Markdown projection
Dependency footprint: only OfficeIMO.Reader.Core, OneNote, and OneNote.Markdown.
- ODT paragraph-, heading-, and table-aligned chunks
- Bounded ODS sheet/table chunks with sheet and A1-range locations
- ODP slide chunks with tables and optional speaker notes
Dependency footprint: only OfficeIMO.Reader.Core and OpenDocument; no LibreOffice runtime.
- Versioned JSON request/response protocol for caller-configured OCR executables
- Shell-free process launch, isolated request directories, timeout/output bounds, and process-tree containment
- Structured OCR results and diagnostics with configurable candidate and concurrency limits
Dependency footprint: OfficeIMO.Reader.Core and System.Text.Json; the OCR executable is supplied by the application.
- Optional
IOfficeOcrEnginefor an installed Tesseract CLI - Language discovery, version discovery, page-segmentation options, and TSV parsing
- Word/line spans with bounds, normalized confidence, timeouts, and structured failures
Dependency footprint: OfficeIMO.Reader.Ocr.Process plus an external Tesseract installation; no bundled native binaries or language data.
- Page-aware text and Markdown chunks with logical tables and confidence/diagnostic signals
- Metadata, outlines, links, forms, annotations, layers, attachments, tags, security/signatures, and passive-action summaries
- Image placeholders, visual geometry, and typed fields where the PDF parser can recover them
- Source-neutral normalized-document-to-PDF projection with explicit page, asset, link, and form policies plus merged source/PDF evidence
Dependency footprint: only OfficeIMO.Reader.Core, OfficeIMO.Drawing, and the first-party OfficeIMO PDF engine.
- Paragraph, list, table, note, header/footer, object, shape, and image chunks
- Semantic blocks, links, fields, image/object assets, metadata, and structured parser/binder diagnostics
- Shared reports for flattened, omitted, and blocked RTF features
Dependency footprint: only OfficeIMO.Reader.Core and the first-party OfficeIMO RTF engine.
- Local SubRip (
.srt) and WebVTT (.vtt) ingestion - Source-ordered cue chunks with line locations and machine-readable timing metadata
- Bounded cue parsing and optional markup stripping without media or transcription tooling
Dependency footprint: only OfficeIMO.Reader.Core and platform APIs; no audio codec, downloader, or model.
- Page-aware
.vsdx,.vsdm,.vstx, and.vstmextraction - Pages, shapes, connectors, hyperlinks, Shape Data tables, and preview metadata
- Point geometry and per-page topology visuals for graph-aware consumers
Dependency footprint: only OfficeIMO.Reader.Core and Visio.
- Explicit caller-injected HTTP(S) transport over an existing Reader instance
- Response-byte, timeout, host, private-target, metadata-privacy, and concurrency bounds
- Existing handler and processor reuse without implicit network registration
Dependency footprint: only OfficeIMO.Reader.Core and framework System.Net.Http; no HTTP SDK, browser, process, model, or provider.
- Element/attribute tree traversal into path rows
- Chunked structured output and optional Markdown tables
- Path/stream dispatch and malformed-input warnings
Dependency footprint: OfficeIMO.Reader.Core plus platform XML APIs.
- YAML representation traversal into path/type/value rows
- Multi-document streams, chunked output, and optional Markdown tables
- Path/stream dispatch and malformed-input warnings
Dependency footprint: YamlDotNet plus OfficeIMO.Reader.Core.
- Safe ZIP entry enumeration and best-effort extraction into Reader chunks
- Bounded nested-archive traversal and non-seekable stream support
- Warning chunks for rejected, limited, or failed entries
Dependency footprint: only OfficeIMO.Reader.Core and Zip.
- Local
officeimo-reader.NET tool for bounded file, standard-input, and folder conversion - Markdown and stable v5 JSON output, embedded-asset materialization, deterministic folder ordering, and concurrency controls
- Capability discovery and explicit exit codes over the existing
OfficeIMO.Reader.Alladapter graph
Dependency footprint: only OfficeIMO.Reader.All; the tool adds no command framework, native binary, model, network client, or hosted provider.
- Complete browser/WebView HTML shells and body fragments for Markdown surfaces
- Incremental update scripts and streaming-friendly output
- Strict, portable, minimal, relaxed, and transcript presets
- AST transforms, normalization, HTML post-processing, and plug-in registration
Dependency footprint: OfficeIMO Markdown/Markdown.Html plus System.Text.Json; Mermaid, chart, math, and Prism support stays in optional shell assets.
- WPF/WebView2 control hosting the OfficeIMO Markdown shell
- Presets, CSS overrides, renderer options, link handling, and clipboard messages
- Pre-rendered body HTML and explicit WebView2 resource disposal
Dependency footprint: Microsoft WebView2 plus OfficeIMO MarkdownRenderer.
- IntelligenceX transcript and desktop-shell presets
- Transcript visual aliases and compatibility transforms
- Shared registration for render and HTML round-trip flows
Dependency footprint: only OfficeIMO MarkdownRenderer and Markdown.Html.
- Demonstrates third-party-style renderer asset registration
- Demonstrates Markdown document transforms and matching HTML round-trip hints
- Keeps product-specific visuals outside the generic renderer
Dependency footprint: OfficeIMO MarkdownRenderer/Markdown.Html plus System.Text.Json; this is a sample package, not part of the coordinated release set.
- Markdown-inspired semantic authoring model for presentations, documents, and workbooks
- Front matter, containers, slides, sections, sheets, charts, Mermaid, ranges, formulas, tables, text boxes, columns, and cards
- Typed validation and target-aware attributes mapped by thin Office exporters
Dependency footprint: only OfficeIMO Markdown and Drawing; this package is currently outside the coordinated release set.
- Export markup headings, paragraphs, lists, tables, and images to editable
.docx - Page breaks, sections, headers, footers, TOC directives, and native chart output
- Relative asset resolution from the markup input path
Dependency footprint: only OfficeIMO Markup, Word, and Drawing; currently outside the coordinated release set.
- Export sheets, ranges, formulas, tables, and cell styles to editable
.xlsx - Create dashboard charts from inline CSV, ranges, or named tables
- Safe workbook defaults, defined-name repair, and validation controls
Dependency footprint: only OfficeIMO Markup and Excel; currently outside the coordinated release set.
- Export slides, real sections, text, lists, tables, images, and backgrounds to editable
.pptx - Native gradients, overlays, notes, transitions, and charts
- Optional Mermaid-to-image export through a caller-installed Mermaid CLI
Dependency footprint: only OfficeIMO Markup, PowerPoint, and Drawing; Mermaid CLI is optional and external.
- Parse and validate OfficeIMO Markup files
- Emit C# and PowerShell starter code
- Export
.docx,.xlsx, and.pptxartifacts
Dependency footprint: only the OfficeIMO Markup and exporter projects; this repository tool is not a NuGet package.
- Syntax highlighting, snippets, inline validation, and live preview for
.omdand.office.md - Generate C# or PowerShell and export Word, Excel, and PowerPoint from the editor
- Bundled self-contained CLI builds for Windows, Linux, and macOS on x64 and arm64
Dependency footprint: VS Code plus the bundled OfficeIMO Markup CLI; Mermaid CLI integration is optional.
- Runnable Word, Excel, PowerPoint, Visio, OneNote, PDF, OpenDocument, Markdown, Markup, Reader, and conversion samples
- Focused switches for PDF, presentation, OpenDocument, and Visio showcase artifacts
- Machine-readable summaries and browsable galleries for reviewing generated output
Dependency footprint: project references to the OfficeIMO libraries being demonstrated; this executable documentation project is not a runtime package.
The native packages are the source of truth. Adapter packages connect them without creating a second parser or document model.
flowchart LR
Word["Word: DOC/DOCX"] <--> HTML["HTML"]
Word <--> Markdown["Markdown"]
Word <--> RTF["RTF"]
Word <--> ODT["OpenDocument: ODT"]
Word -->|"layout export"| PDF["PDF"]
PDF -->|"semantic recovery"| Word
Excel["Excel: XLS/XLSX"] <--> HTML
Excel <--> ODS["OpenDocument: ODS"]
Excel -->|"layout export"| PDF
PDF -->|"logical tables only"| Excel
PowerPoint["PowerPoint: PPT/POT/PPS/PPTX"] <--> HTML
PowerPoint <--> ODP["OpenDocument: ODP"]
PowerPoint -->|"layout export"| PDF
PDF -->|"logical tables only"| PowerPoint
OneNote["OneNote: ONE/ONETOC2/ONEPKG"] -->|"semantic adapter"| Markdown
OneNote -->|"semantic adapter"| HTML
OneNote -->|"semantic or visual adapter"| PDF
OneNote -->|"visual projection"| DrawingCanvas["Drawing canvas"]
EPUB["EPUB"] -->|"retained chapter HTML/resources"| HTML
DrawingCanvas --> Images["PNG/JPEG/TIFF/SVG/WebP"]
DrawingCanvas --> HTML
DrawingCanvas --> PDF
Markdown <--> HTML
Markdown <--> RTF
Markdown <--> AsciiDoc["AsciiDoc"]
Markdown <--> Latex["LaTeX"]
Markdown --> PDF
AsciiDoc -->|"direct PDF adapter"| PDF
Latex -->|"direct PDF adapter"| PDF
HTML <--> RTF
HTML --> PDF
RTF -->|"layout export"| PDF
PDF -->|"semantic recovery"| RTF
Fixed-layout PDF import is necessarily semantic rather than visually lossless. Result-bearing APIs expose warnings and feature reports so applications can decide whether to accept, reject, or review a conversion.
Install only the native packages and adapters an application needs. The commands below deliberately request 3.0.0; they work against NuGet.org after each package ID is published, or against the clean local feed produced by Build/Build-Project.ps1 before publication.
dotnet add package OfficeIMO.Word --version 3.0.0
dotnet add package OfficeIMO.Word.Pdf --version 3.0.0
dotnet add package OfficeIMO.Excel --version 3.0.0
dotnet add package OfficeIMO.Excel.Html --version 3.0.0
dotnet add package OfficeIMO.Excel.Pdf --version 3.0.0
dotnet add package OfficeIMO.Epub --version 3.0.0
dotnet add package OfficeIMO.Epub.Image --version 3.0.0
dotnet add package OfficeIMO.Adf --version 3.0.0
dotnet add package OfficeIMO.Confluence --version 3.0.0
dotnet add package OfficeIMO.Reader.Pdf --version 3.0.0
# Add every Reader adapter only when a broad ingestion host genuinely needs all formats.
dotnet add package OfficeIMO.Reader.All --version 3.0.0
dotnet add package OfficeIMO.OneNote --version 3.0.0
dotnet add package OfficeIMO.OneNote.Markdown --version 3.0.0
dotnet add package OfficeIMO.OneNote.Html --version 3.0.0
dotnet add package OfficeIMO.OneNote.Pdf --version 3.0.0
dotnet add package OfficeIMO.Reader.OneNote --version 3.0.0
# Install the broad local-reader command only when a CLI is the desired surface.
dotnet tool install --global OfficeIMO.Reader.Tool --version 3.0.0All coordinated source packages use the same 3.0.x compatibility line. Avoid mixing OfficeIMO 2.x and 3.x packages in one application.
using OfficeIMO.OneNote;
using OfficeIMO.OneNote.Html;
using OfficeIMO.OneNote.Markdown;
using OfficeIMO.OneNote.Pdf;
var section = new OneNoteSection { Name = "Planning" };
var page = new OneNotePage { Title = "Release" };
var paragraph = new OneNoteParagraph();
paragraph.Runs.Add(new OneNoteTextRun { Text = "Validate the packed artifact" });
page.DirectContent.Add(paragraph);
section.Pages.Add(page);
section.Save("Planning.one");
OneNoteSection reopened = OneNoteSectionReader.Read("Planning.one");
File.WriteAllText("Planning.md", reopened.ToMarkdown());
reopened.SaveAsHtml("Planning.html");
reopened.SaveAsPdf("Planning.pdf");
reopened.SaveAsVisualHtml("Planning-visual.html");
reopened.SaveAsVisualPdf("Planning-visual.pdf");
reopened.Pages[0].ToImage().AtDpi(144).AsPng().Save("Planning-page-1.png");using OfficeIMO.Word;
using var document = WordDocument.Create("report.docx");
document.AddParagraph("Quarterly report").Style = WordParagraphStyles.Heading1;
document.AddParagraph("Created without Microsoft Office automation.");
document.HeaderDefaultOrCreate.AddParagraph("Internal");
document.HeaderFirstOrCreate.AddParagraph("Quarterly report");
document.FooterDefaultOrCreate.AddParagraph().AddPageNumber();
document.FooterEvenOrCreate.AddParagraph("Confidential — even page");
document.Save();
document.SaveAsPng("report-preview.png");using OfficeIMO.Excel;
using var workbook = ExcelDocument.Create("sales.xlsx");
var sheet = workbook.AddWorksheet("Sales");
sheet.CellValue(1, 1, "Product");
sheet.CellValue(1, 2, "Revenue");
sheet.CellValue(2, 1, "Alpha");
sheet.CellValue(2, 2, 120);
sheet.CellValue(3, 1, "Beta");
sheet.CellValue(3, 2, 92);
sheet.AddTable("A1:B3", hasHeader: true, name: "SalesTable", style: TableStyle.TableStyleMedium2);
sheet.AutoFitColumns();
workbook.Save();
sheet.Range("A1:B3").SaveAsSvg("sales-preview.svg");using OfficeIMO.Word;
using OfficeIMO.Word.Pdf;
using var document = WordDocument.Load("proposal.docx");
var result = document.SaveAsPdf("proposal.pdf");
foreach (var warning in result.Warnings) {
Console.WriteLine(warning);
}using OfficeIMO.Pdf;
PdfDocument source = PdfDocument.Open("packet.pdf");
string firstPageText = source.Read.Text("1");
source.Pages.Extract("1-3").Save("packet-summary.pdf");
PdfDocument.Open("packet.pdf")
.MergeWith("appendix.pdf")
.Pages.Delete("2")
.Stamp.Text("Reviewed")
.Save("packet-final.pdf");
PdfAnalysisReport health = PdfDocument
.Open("packet-final.pdf")
.Analyze();
Console.WriteLine($"Readable: {health.CanRead}; rewrite safe: {health.CanRewrite}");using OfficeIMO.Reader;
using OfficeIMO.Reader.Pdf;
using OfficeIMO.Reader.Zip;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddPdfHandler()
.AddZipHandler()
.Build();
var chunks = reader.ReadFolder("KnowledgeBase",
new ReaderFolderOptions {
Recurse = true,
MaxFiles = 500,
DeterministicOrder = true
},
new ReaderOptions {
MaxChars = 8_000,
ComputeHashes = true
}).ToList();OfficeIMO 3.0 retains one vocabulary across mutable document packages:
| Intent | API |
|---|---|
| Save to the associated destination | Save() / SaveAsync() |
| Save and associate a path or stream | Save(pathOrStream) / SaveAsync(pathOrStream) |
| Write a copy without changing the associated destination | SaveCopy(path) / SaveCopyAsync(path) |
| Produce bytes without changing document state | ToBytes() |
| Produce a new stream positioned at the beginning | ToStream() |
| Convert in memory | To{Format}() or To{Format}Result() |
| Write another format | SaveAs{Format}() / SaveAs{Format}Async() |
Caller-owned streams stay open. Seekable input streams are restored to their original position. Pure in-memory conversions remain synchronous; async APIs are used for real I/O and remote-resource resolution.
Most shipping libraries target netstandard2.0, net8.0, and net10.0. Many also include net472 when built on Windows. OfficeIMO.MarkdownRenderer.Wpf adds Windows-specific targets, while the Markup CLI targets modern .NET. Check the package README or project file for the exact matrix.
- No COM automation
- No requirement for Microsoft Office, Excel, PowerPoint, Visio, or LibreOffice
- Cross-platform native engines and converters except explicitly Windows-specific WPF hosting
- Caller-controlled optional external tools for OCR and Mermaid rendering
- Examples
- 2.x to 3.0 migration
- 2.x to 3.0 public API review
- 2.0 breaking API migration
- Image export capability matrix
- PDF current state
- PDF conversion support matrix
- Word/HTML support matrix
- RTF support matrix
- Email support matrix
- AsciiDoc support matrix
- LaTeX support matrix
- Markdown compatibility matrix
- OneNote current state
- Changelog