Skip to content

EvotecIT/OfficeIMO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7,472 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OfficeIMO — Office and document libraries for .NET

CI codecov license

Blog LinkedIn Discord

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.

Sponsors

KelvinTegelaar Andrew Birch Thomas Møller Jake Hildreth Complea DarthPanda12

See all sponsors

Dependency model

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

At a glance

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.

Packages and tools

Every checked item below is implemented today. Detailed behavior, examples, and fidelity boundaries live in each project README.

Native formats and shared foundations

  • Common Save, SaveAsync, SaveCopy, ToBytes, and ToStream lifecycle 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 OfficeDrawing scenes
  • 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 .docx documents
  • Read, write, and convert the supported first-party Word 97–2003 .doc subset 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 .xlsx workbooks
  • Read, write, and convert the supported first-party BIFF8 .xls subset 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 .pptx presentations
  • Read, author, edit, preserve, encrypt, and convert .ppt, .pot, and .pps through 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 .vsdx diagrams 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 HtmlConversionDocument with 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.Pdf adds 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.dat and 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.EmailDocument projection 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 .one sections
  • Native .onetoc2 notebook hierarchy and managed Cabinet .onepkg read/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, and ITokenAccess adapters
  • 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.

Conversion and cloud bridges

  • 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 MarkdownDoc output
  • 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.

Unified Reader family

  • 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/Custom origins
  • 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 .asc registration
  • 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.

  • .tex ingestion 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 .ipynb Markdown, 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 .onepkg path/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 IOfficeOcrEngine for 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 .vstm extraction
  • 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.All adapter graph

Dependency footprint: only OfficeIMO.Reader.All; the tool adds no command framework, native binary, model, network client, or hosted provider.

Markdown rendering and OfficeIMO Markup

  • 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 .pptx artifacts

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 .omd and .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.

Conversion graph

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
Loading

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

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.0

All coordinated source packages use the same 3.0.x compatibility line. Avoid mixing OfficeIMO 2.x and 3.x packages in one application.

Common workflows

Create, reopen, and convert an offline OneNote section

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");

Create a Word document with page variants

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");

Create an Excel report and export a range image

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");

Export Word to PDF with conversion evidence

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);
}

Read, split, merge, and stamp PDFs

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}");

Extract normalized content for indexing or RAG

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();

Document lifecycle in 3.0

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.

Target frameworks and platform support

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

More documentation

About

Fast and easy to use cross-platform .NET library that creates or modifies Microsoft Word (DocX) and later also Excel (XLSX) files without installing any software. Library is based on Open XML SDK

Topics

Resources

License

Stars

486 stars

Watchers

5 watching

Forks

Sponsor this project

  •  

Contributors