OfficeIMO.Word.IWork 3.4.5

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package OfficeIMO.Word.IWork --version 3.4.5
                    
NuGet\Install-Package OfficeIMO.Word.IWork -Version 3.4.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OfficeIMO.Word.IWork" Version="3.4.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OfficeIMO.Word.IWork" Version="3.4.5" />
                    
Directory.Packages.props
<PackageReference Include="OfficeIMO.Word.IWork" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OfficeIMO.Word.IWork --version 3.4.5
                    
#r "nuget: OfficeIMO.Word.IWork, 3.4.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OfficeIMO.Word.IWork@3.4.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OfficeIMO.Word.IWork&version=3.4.5
                    
Install as a Cake Addin
#tool nuget:?package=OfficeIMO.Word.IWork&version=3.4.5
                    
Install as a Cake Tool

OfficeIMO.Word.IWork

OfficeIMO.Word.IWork is the opt-in adapter for importing modern Apple Pages files into editable OfficeIMO.Word documents. Installing OfficeIMO.Word alone does not add the iWork reader.

dotnet add package OfficeIMO.Word.IWork
using OfficeIMO.IWork;
using OfficeIMO.Word.IWork;

IWorkSourceDocument source = IWorkSourceDocument.Open("source.pages");
using PagesToWordResult result = source.ToWordDocumentResult(
    new IWorkConversionOptions { Mode = IWorkConversionMode.Auto });

Console.WriteLine(result.Report.ProjectionKind);
Console.WriteLine(result.HasLoss);
result.Value.Save("converted.docx");

IWorkSourceDocument.Open reads and bounds the source independently of destination policy. ToWordDocument returns a complete editable document and rejects partial reconstruction or preview output; ToWordDocumentResult also exposes the typed Pages projection, diagnostics, preserved source records, and exact editable-versus-visual-fallback result. WordIWorkConverter.ConvertPagesToWord* provides equivalent path and stream convenience entry points.

Qualified body image attachments retain their inline run positions. A qualified table attachment occupies its own paragraph and becomes a Word table between the surrounding body paragraphs. Nonzero placement modes, tables mixed with other paragraph content, repeated attachment positions for one drawable, and attachment-run hyperlinks remain unsupported. Other source or destination limits can still require the explicit partial policy.

Individual table row heights and column widths are carried into DOCX in twips under the adapter’s precision policy. A resolved native automatic-resize setting maps row heights to minimum constraints, allowing wrapped cell text to grow the row. Explicit fixed settings retain exact heights; absent settings retain the existing exact-height mapping. Unresolved or malformed settings are diagnosed.

Table-region defaults and selected text styles preserve supported fonts, emphasis, colors, alignment, indents, spacing and pagination flags in DOCX. Explicit rich-text formatting takes precedence. Source font sizes and paragraph measurements must fit Word’s destination range; the partial policy permits rounding with the precision diagnostic.

Paragraph text formatting also applies to the paragraph mark, so empty paragraphs retain their declared font metrics. The native Pages reference qualifies a complete three-paragraph body, including an empty paragraph, against Apple DOCX and PDF exports. Saved OfficeIMO DOCX rendering in Pages matches this fixture's word positions; broader pagination and typography remain unqualified.

Selected native padding becomes Word cell margins, and top/middle/bottom alignment becomes Word vertical alignment. Source points must fit the Word cell-margin range; the partial policy permits twip rounding with a precision diagnostic. Supported selected and unbanded region solid fills become DOCX shading. Explicit no-fill overrides clear inherited fills, including on empty cells. Unsupported fills and banding retain source diagnostics and follow the conversion acceptance policy.

Supported numeric table formats become editable DOCX text: decimal precision, grouping, percentages, scientific notation, fractions, currency-code prefixes and negative-value parentheses. Red negative formats become run color. The report identifies display approximation because locale-specific symbols, automatic precision and source appearance can differ. Qualified date/time patterns and fixed day-only or hour/minute durations also become editable table text through the shared numeric, calendar and elapsed formatters; see the five-pattern source contract. Raw values and formula caches remain on the source projection; formatting does not change its raw display properties. Native Pages export qualification remains outside this bounded contract.

Qualified source-hidden table rows and columns remain visible in editable DOCX output. Conversion requires AllowPartialEditableReconstruction = true and reports IWORK_PAGES_TABLE_VISIBILITY_OMITTED; strict conversion uses visual fallback when available. Hidden positions and cell content remain on the typed source projection.

Qualified root table comments become DOCX comments anchored to the cell's direct paragraphs, including otherwise empty cells. Plain text, display author and UTC creation time are preserved through the Word comment owner. Replies and collaboration state remain unsupported. Comment text or author names that would require normalization use destination fallback; other source and layout limits still follow the chosen conversion policy. Native Pages export and rendered comment appearance are not qualified.

Choose the acceptance policy explicitly when source details cannot be represented:

var options = new IWorkConversionOptions {
    Mode = IWorkConversionMode.Auto,
    AllowPartialEditableReconstruction = true,
    RequireCompleteVisualCoverage = true
};

This retains bounded recoverable editable content and reports incomplete details. If editable output cannot be produced, it rejects a first-page or composite preview. AllowPartialEditableReconstruction defaults to false; RequireCompleteVisualCoverage defaults to true. To accept an incomplete preview, use the result API with RequireCompleteVisualCoverage = false and inspect its coverage and fidelity report. Value-only APIs reject partial and preview output even when these options permit it. result.RequireCompleteEditableReconstruction() returns the destination after checking assessed content completeness and disposes rejected output; it does not establish identical appearance or field-level fidelity. Report.RequireNoLoss() also rejects unassessed record fidelity. These policies do not bypass source limits or destination safety checks.

Under the partial policy, positioned tables become flowing editable Word tables and finite measurements are rounded to DOCX units. IWORK_PAGES_TABLE_LAYOUT_APPROXIMATED and IWORK_PAGES_DOCX_PRECISION identify those approximations; original geometry remains on the source projection.

Recovered character-list marker geometry remains on IWorkTextParagraph.ListLayout. Its DOCX placement and size require AllowPartialEditableReconstruction = true and produce IWORK_PAGES_LIST_LAYOUT_APPROXIMATED; strict conversion rejects this unqualified numbering layout.

The path and stream convenience APIs accept cancellation after the options:

using var cancellation = new CancellationTokenSource();
using PagesToWordResult cancellable = WordIWorkConverter.ConvertPagesToWordResult(
    "source.pages", readOptions: null, conversionOptions: options,
    cancellationToken: cancellation.Token);

This token governs loading, projection, and destination construction. It also governs later projections from cancellable.Source; use cancellable.Source.WithCancellation(newToken) to reuse the loaded package with a new operation token. This replaces the previous token while sharing source bytes and parsed messages. Saving is a separate destination-owner operation.

The adapter directly depends on OfficeIMO.Core, OfficeIMO.IWork, and OfficeIMO.Word. It does not add iWork support to the default Word package graph.

See the iWork support matrix for supported structures and conversion limits.

Generated capability summary

This table is generated from the package-neutral OfficeIMO operation catalog. The detailed source contracts remain authoritative for feature-level behavior and limitations.

Operation Supported Partial Preserved Rejected Unsupported Not applicable
Convert 0 1 0 0 0 0

The complete rows for OfficeIMO.Word.IWork are published in the generated operation contract.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on OfficeIMO.Word.IWork:

Package Downloads
OfficeIMO.Workflows.IWork

Opt-in Pages, Numbers, and Keynote conversion routes for OfficeIMO Workflows.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.5.1 147 10/16/2026
3.4.5 593 10/10/2026
3.4.4 259 9/27/2026
3.4.3 264 9/12/2026
3.4.2 183 9/9/2026
3.4.1 180 9/7/2026
3.4.0 136 9/6/2026
3.3.0 131 9/2/2026