Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

OfficeDocumentReadResult

Namespace OfficeIMO.Reader
Assembly OfficeIMO.Reader.Core
Modifiers sealed

Shared result envelope for document readback workflows.

Inheritance

  • Object
  • OfficeDocumentReadResult

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

Properties

public String SchemaId { get; set; } #

Result schema identifier.

public Int32 SchemaVersion { get; set; } #

Result schema version.

public ReaderInputKind Kind { get; set; } #

Source input kind that produced this result.

public OfficeDocumentSource Source { get; set; } #

Source document metadata used for citations and incremental processing.

public IReadOnlyList<String> CapabilitiesUsed { get; set; } #

Capability identifiers used while producing this result.

public String Markdown { get; set; } #

Portable Markdown representation when available.

public String Html { get; set; } #

Portable or review HTML representation when available.

public String Json { get; set; } #

Deterministic JSON representation when a producer emits one.

public IReadOnlyList<ReaderChunk> Chunks { get; set; } #

Reader chunks produced by the same extraction run.

public IReadOnlyList<OfficeDocumentMetadataEntry> Metadata { get; set; } #

Document-level metadata entries discovered during reading.

public IReadOnlyList<OfficeDocumentPage> Pages { get; set; } #

Page, slide, sheet, or diagram-page records produced by document reading.

public IReadOnlyList<OfficeDocumentBlock> Blocks { get; set; } #

Normalized logical blocks in source order.

public IReadOnlyList<ReaderTable> Tables { get; set; } #

Structured tables extracted or detected during reading.

public IReadOnlyList<OfficeDocumentAsset> Assets { get; set; } #

Images, previews, and other binary or visual assets discovered during reading.

public IReadOnlyList<OfficeDocumentFormField> Forms { get; set; } #

Form fields or widgets discovered during reading.

public IReadOnlyList<OfficeDocumentOcrCandidate> OcrCandidates { get; set; } #

Regions that likely need OCR before text extraction can be considered complete.

public IReadOnlyList<ReaderVisual> Visuals { get; set; } #

Structured visual payloads discovered during reading.

public IReadOnlyList<OfficeDocumentDiagnostic> Diagnostics { get; set; } #

Warnings and diagnostics emitted during reading.

Extension Methods

public static IReadOnlyDictionary<String, String> BuildAssetDataUriMap(OfficeDocumentReadResult result, OfficeDocumentAssetDataUriOptions options = null) #
Returns: IReadOnlyDictionary<String, String>

Builds a data URI map keyed by asset id for materializable assets in a read result.

Parameters

result OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
Read result that owns the assets.
options OfficeIMO.Reader.OfficeDocumentAssetDataUriOptions = null optionalposition: 1
Data URI options.
public static IEnumerable<OfficeDocumentBlock> EnumerateBlocks(OfficeDocumentReadResult document) #
Returns: IEnumerable<OfficeDocumentBlock>

Enumerates document-level and page-level blocks in canonical source order, retaining each stable ID or anchor once. Blocks without either identity are deduplicated only by object reference, preserving unlabelled repeated text. Missing locations inherit their page context by reference or stable identity without changing the source. Results may refer to source objects or location projections; they are not immutable snapshots.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
public static IEnumerable<OfficeDocumentContentItem> EnumerateContent(OfficeDocumentReadResult document) #
Returns: IEnumerable<OfficeDocumentContentItem>

Enumerates blocks and tables together in canonical source order. Chunks supply text only when no blocks contain text. Tables inherit a matching source block's position through their stable anchor. Table rows remain part of their table. Unpositioned content retains its encounter order after positioned content in the same container. Results reference source payloads or location projections and are not immutable snapshots.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
public static IEnumerable<ReaderTable> EnumerateTables(OfficeDocumentReadResult document) #
Returns: IEnumerable<ReaderTable>

Enumerates tables from document, page and chunk projections using the Reader's canonical duplicate handling. Page-only tables inherit missing location information from their page. Results may refer to source model objects.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
public static IReadOnlyList<OfficeDocumentPageMarkdown> GetPageMarkdown(OfficeDocumentReadResult document, OfficeDocumentPageMarkdownOptions options = null) #
Returns: IReadOnlyList<OfficeDocumentPageMarkdown>

Projects every page-like container into a separate Markdown value suitable for citations and RAG.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
options OfficeIMO.Reader.OfficeDocumentPageMarkdownOptions = null optionalposition: 1
public static OfficeDocumentPageProvenance GetPageProvenance(OfficeDocumentReadResult document) #
Returns: OfficeDocumentPageProvenance

Returns the page provenance advertised by the producing adapter.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
public static Int32 GetTotalPageCount(OfficeDocumentReadResult document) #
Returns: Int32

Returns the best available total physical page count for this read result.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
Locate 2 overloads
public static IReadOnlyList<OfficeDocumentPageLocation> Locate(OfficeDocumentReadResult document, OfficeDocumentBlock block) #
Returns: IReadOnlyList<OfficeDocumentPageLocation>

Locates a normalized block in every page-like container that references it.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
block OfficeIMO.Reader.OfficeDocumentBlock requiredposition: 1
public static IReadOnlyList<OfficeDocumentPageLocation> Locate(OfficeDocumentReadResult document, String blockId) #
Returns: IReadOnlyList<OfficeDocumentPageLocation>

Locates a normalized block by its stable identifier.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
blockId System.String requiredposition: 1
public static OfficeDocumentSearchResult Search(OfficeDocumentReadResult document, String query, OfficeDocumentSearchOptions options = null) #
Returns: OfficeDocumentSearchResult

Searches normalized document blocks and attaches page-like locations to every occurrence.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
query System.String requiredposition: 1
options OfficeIMO.Reader.OfficeDocumentSearchOptions = null optionalposition: 2
public static IReadOnlyList<OfficeDocumentMaterializedAsset> StreamAssets(OfficeDocumentReadResult result, Action<OfficeDocumentAsset, Stream> writeAsset, OfficeDocumentAssetMaterializationOptions options = null, CancellationToken cancellationToken = null) #
Returns: IReadOnlyList<OfficeDocumentMaterializedAsset>

Streams materializable asset payloads to a caller-owned callback without writing files.

Parameters

result OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
Read result that owns the assets.
writeAsset System.Action{OfficeIMO.Reader.OfficeDocumentAsset,System.IO.Stream} requiredposition: 1
Callback that receives each asset and a readable payload stream.
options OfficeIMO.Reader.OfficeDocumentAssetMaterializationOptions = null optionalposition: 2
Materialization options.
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
Cancellation token.
public static String ToJson(OfficeDocumentReadResult result, Boolean indented = false) #
Returns: String

Serializes a document read result into the stable OfficeIMO transport shape.

Parameters

result OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
Read result to serialize.
indented System.Boolean = false optionalposition: 1
When true, writes indented JSON for diagnostics and fixtures.
public static String ToPageMarkedMarkdown(OfficeDocumentReadResult document) #
Returns: String

Projects all page-like containers into one Markdown string separated by portable page markers.

Parameters

document OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
public static IReadOnlyList<OfficeDocumentMaterializedAsset> WriteAssetsToDirectory(OfficeDocumentReadResult result, String directoryPath, OfficeDocumentAssetMaterializationOptions options = null, CancellationToken cancellationToken = null) #
Returns: IReadOnlyList<OfficeDocumentMaterializedAsset>

Writes materializable asset payloads to directoryPath using each asset's deterministic filename.

Parameters

result OfficeIMO.Reader.OfficeDocumentReadResult requiredposition: 0
Read result that owns the assets.
directoryPath System.String requiredposition: 1
Destination directory.
options OfficeIMO.Reader.OfficeDocumentAssetMaterializationOptions = null optionalposition: 2
Materialization options.
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
Cancellation token.