API Reference

Class

PdfLogicalDocument

Namespace OfficeIMO.Pdf
Assembly OfficeIMO.Pdf
Modifiers sealed

First-party logical read model for a parser-supported PDF.

Inheritance

  • Object
  • PdfLogicalDocument

Usage

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

Accepted by parameters

Methods

public static PdfLogicalDocument From(PdfReadDocument document, PdfTextLayoutOptions options = null) #
Returns: PdfLogicalDocument

Builds the logical read model from an already parsed PDF document.

Parameters

document OfficeIMO.Pdf.PdfReadDocument requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions = null optionalposition: 1
FromPageRanges 2 overloads
public static PdfLogicalDocument FromPageRanges(PdfReadDocument document, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Builds a logical read model for selected source page ranges from an already parsed PDF document, preserving caller order and overlaps.

Parameters

document OfficeIMO.Pdf.PdfReadDocument requiredposition: 0
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 1
public static PdfLogicalDocument FromPageRanges(PdfReadDocument document, PdfTextLayoutOptions options, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Builds a logical read model for selected source page ranges from an already parsed PDF document, preserving caller order and overlaps.

Parameters

document OfficeIMO.Pdf.PdfReadDocument requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions requiredposition: 1
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 2
public IReadOnlyList<PdfAttachmentInfo> GetAttachmentsByFileName(String fileName) #
Returns: IReadOnlyList<PdfAttachmentInfo>

Returns attachments with a matching file specification file name.

Parameters

fileName System.String requiredposition: 0
public IReadOnlyList<PdfAttachmentInfo> GetAttachmentsByRelationship(PdfAssociatedFileRelationship relationship) #
Returns: IReadOnlyList<PdfAttachmentInfo>

Returns attachments with a matching associated-file relationship.

Parameters

relationship OfficeIMO.Pdf.PdfAssociatedFileRelationship requiredposition: 0
public IReadOnlyList<PdfAttachmentInfo> GetAttachmentsBySource(String source) #
Returns: IReadOnlyList<PdfAttachmentInfo>

Returns attachments from a matching catalog source.

Parameters

source System.String requiredposition: 0
public IReadOnlyList<PdfCatalogAction> GetCatalogActionsByActionType(String actionType) #
Returns: IReadOnlyList<PdfCatalogAction>

Returns catalog-level actions with a matching PDF action type.

Parameters

actionType System.String requiredposition: 0
public IReadOnlyList<PdfCatalogAction> GetCatalogActionsBySource(String source) #
Returns: IReadOnlyList<PdfCatalogAction>

Returns catalog-level actions from a matching catalog source.

Parameters

source System.String requiredposition: 0
GetElements 2 overloads
public IReadOnlyList<IPdfLogicalElement> GetElements(PdfLogicalElementKind kind) #
Returns: IReadOnlyList<IPdfLogicalElement>

Returns logical elements of the requested kind in document order.

Parameters

kind OfficeIMO.Pdf.PdfLogicalElementKind requiredposition: 0
public IReadOnlyList<IPdfLogicalElement> GetElements(Int32 pageNumber) #
Returns: IReadOnlyList<IPdfLogicalElement>

Returns logical elements for a one-based source page number.

Parameters

pageNumber System.Int32 requiredposition: 0
GetFormFields 2 overloads
public IReadOnlyList<PdfFormField> GetFormFields(PdfFormFieldKind kind) #
Returns: IReadOnlyList<PdfFormField>

Returns simple AcroForm fields for the requested common field kind.

Parameters

kind OfficeIMO.Pdf.PdfFormFieldKind requiredposition: 0
public IReadOnlyList<PdfFormField> GetFormFields(Int32 pageNumber) #
Returns: IReadOnlyList<PdfFormField>

Returns simple AcroForm fields represented by widgets on a one-based page number.

Parameters

pageNumber System.Int32 requiredposition: 0
GetFormWidgets 2 overloads
public IReadOnlyList<PdfLogicalFormWidget> GetFormWidgets(String fieldName) #
Returns: IReadOnlyList<PdfLogicalFormWidget>

Returns logical widget annotations for a fully qualified form field name.

Parameters

fieldName System.String requiredposition: 0
public IReadOnlyList<PdfLogicalFormWidget> GetFormWidgets(Int32 pageNumber) #
Returns: IReadOnlyList<PdfLogicalFormWidget>

Returns logical widget annotations for a one-based page number.

Parameters

pageNumber System.Int32 requiredposition: 0
public IReadOnlyList<PdfLogicalLinkAnnotation> GetLinksByDestinationName(String destinationName) #
Returns: IReadOnlyList<PdfLogicalLinkAnnotation>

Returns logical internal link annotations for a named destination.

Parameters

destinationName System.String requiredposition: 0
public IReadOnlyList<PdfLogicalLinkAnnotation> GetLinksByDestinationPageNumber(Int32 pageNumber) #
Returns: IReadOnlyList<PdfLogicalLinkAnnotation>

Returns logical internal direct-destination link annotations for a one-based destination page number.

Parameters

pageNumber System.Int32 requiredposition: 0
public IReadOnlyList<PdfLogicalLinkAnnotation> GetLinksByNamedAction(String namedAction) #
Returns: IReadOnlyList<PdfLogicalLinkAnnotation>

Returns logical named-action link annotations for a viewer action name.

Parameters

namedAction System.String requiredposition: 0
public IReadOnlyList<PdfLogicalLinkAnnotation> GetLinksByRemoteFile(String remoteFile) #
Returns: IReadOnlyList<PdfLogicalLinkAnnotation>

Returns logical remote GoTo link annotations for a target file.

Parameters

remoteFile System.String requiredposition: 0
public IReadOnlyList<PdfLogicalLinkAnnotation> GetLinksByUri(String uri) #
Returns: IReadOnlyList<PdfLogicalLinkAnnotation>

Returns logical URI link annotations for a URI action target.

Parameters

uri System.String requiredposition: 0
public IReadOnlyList<PdfOptionalContentGroup> GetOptionalContentGroupsByName(String name) #
Returns: IReadOnlyList<PdfOptionalContentGroup>

Returns optional-content groups with a matching layer display name.

Parameters

name System.String requiredposition: 0
public IReadOnlyList<PdfOutputIntentInfo> GetOutputIntentsByOutputConditionIdentifier(String outputConditionIdentifier) #
Returns: IReadOnlyList<PdfOutputIntentInfo>

Returns output intents with a matching /OutputConditionIdentifier.

Parameters

outputConditionIdentifier System.String requiredposition: 0
public IReadOnlyList<PdfOutputIntentInfo> GetOutputIntentsBySubtype(String subtype) #
Returns: IReadOnlyList<PdfOutputIntentInfo>

Returns output intents with a matching /S subtype.

Parameters

subtype System.String requiredposition: 0
public IReadOnlyList<PdfPageAction> GetPageActions(Int32 pageNumber) #
Returns: IReadOnlyList<PdfPageAction>

Returns page-level additional actions for a one-based page number.

Parameters

pageNumber System.Int32 requiredposition: 0
public IReadOnlyList<PdfPageAction> GetPageActionsByActionPath(String actionPath) #
Returns: IReadOnlyList<PdfPageAction>

Returns page-level additional actions with a matching stable action path.

Parameters

actionPath System.String requiredposition: 0
public IReadOnlyList<PdfPageAction> GetPageActionsByActionType(String actionType) #
Returns: IReadOnlyList<PdfPageAction>

Returns page-level additional actions with a matching PDF action type.

Parameters

actionType System.String requiredposition: 0
public IReadOnlyList<PdfPageAction> GetPageActionsByTriggerName(String triggerName) #
Returns: IReadOnlyList<PdfPageAction>

Returns page-level additional actions with a matching page /AA trigger key.

Parameters

triggerName System.String requiredposition: 0
public IReadOnlyList<PdfLogicalPage> GetPages(Int32 pageNumber) #
Returns: IReadOnlyList<PdfLogicalPage>

Returns logical pages for a one-based source page number, preserving range-selection duplicates.

Parameters

pageNumber System.Int32 requiredposition: 0
public Boolean HasElementKind(PdfLogicalElementKind kind) #
Returns: Boolean

True when at least one logical element of the requested kind is present.

Parameters

kind OfficeIMO.Pdf.PdfLogicalElementKind requiredposition: 0
public Boolean HasSourcePage(Int32 pageNumber) #
Returns: Boolean

True when at least one logical page for the one-based source page number is present.

Parameters

pageNumber System.Int32 requiredposition: 0
Load 4 overloads
public static PdfLogicalDocument Load(Byte[] pdf, PdfTextLayoutOptions options = null) #
Returns: PdfLogicalDocument

Loads a PDF from bytes and returns the logical read model.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions = null optionalposition: 1
public static PdfLogicalDocument Load(Byte[] pdf, PdfTextLayoutOptions options, PdfReadOptions readOptions) #
Returns: PdfLogicalDocument

Loads a PDF from bytes with explicit read limits or credentials and returns the logical read model.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions requiredposition: 1
readOptions OfficeIMO.Pdf.PdfReadOptions requiredposition: 2
public static PdfLogicalDocument Load(String path, PdfTextLayoutOptions options = null) #
Returns: PdfLogicalDocument

Loads a PDF from a file path and returns the logical read model.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions = null optionalposition: 1
public static PdfLogicalDocument Load(Stream stream, PdfTextLayoutOptions options = null) #
Returns: PdfLogicalDocument

Loads a PDF from a readable stream and returns the logical read model. Seekable streams are read from the beginning and restored; non-seekable streams are read forward from their current position.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions = null optionalposition: 1
LoadPageRanges 6 overloads
public static PdfLogicalDocument LoadPageRanges(Byte[] pdf, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from PDF bytes into the logical read model, preserving caller order and overlaps.

Parameters

pdf System.Byte[] requiredposition: 0
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 1
public static PdfLogicalDocument LoadPageRanges(Byte[] pdf, PdfTextLayoutOptions options, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from PDF bytes into the logical read model, preserving caller order and overlaps.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions requiredposition: 1
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 2
public static PdfLogicalDocument LoadPageRanges(String path, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from a file path into the logical read model, preserving caller order and overlaps.

Parameters

path System.String requiredposition: 0
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 1
public static PdfLogicalDocument LoadPageRanges(String path, PdfTextLayoutOptions options, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from a file path into the logical read model, preserving caller order and overlaps.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions requiredposition: 1
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 2
public static PdfLogicalDocument LoadPageRanges(Stream stream, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from a readable stream into the logical read model, preserving caller order and overlaps. Seekable streams are read from the beginning and restored; non-seekable streams are read forward from their current position.

Parameters

stream System.IO.Stream requiredposition: 0
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 1
public static PdfLogicalDocument LoadPageRanges(Stream stream, PdfTextLayoutOptions options, params PdfPageRange[] pageRanges) #
Returns: PdfLogicalDocument

Loads selected source page ranges from a readable stream into the logical read model, preserving caller order and overlaps. Seekable streams are read from the beginning and restored; non-seekable streams are read forward from their current position.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Pdf.PdfTextLayoutOptions requiredposition: 1
pageRanges OfficeIMO.Pdf.PdfPageRange[] requiredposition: 2
public Boolean TryGetFormField(String name, out PdfFormField field) #
Returns: Boolean

Attempts to get a simple AcroForm field by its fully qualified field name.

Parameters

name System.String requiredposition: 0
field OfficeIMO.Pdf.PdfFormField@ requiredposition: 1

Properties

public IReadOnlyList<PdfAttachmentInfo> Attachments { get; } #

Embedded and associated file attachment metadata discovered from the document catalog.

public Int32 AttachmentCount { get; } #

Number of embedded and associated file attachments discovered from the document catalog.

public Boolean HasAttachments { get; } #

True when at least one embedded or associated file attachment was discovered.

public IReadOnlyList<String> AttachmentNames { get; } #

Attachment name-tree keys or associated-file fallback names in first-seen order.

public IReadOnlyList<String> AttachmentFileNames { get; } #

Distinct attachment file names in first-seen order.

public IReadOnlyList<String> AttachmentSources { get; } #

Distinct catalog attachment sources in first-seen order.

public IReadOnlyList<PdfCatalogAction> CatalogActions { get; } #

Catalog-level actions discovered from supported name trees.

public Boolean HasCatalogActions { get; } #

True when at least one catalog-level action was read from supported name trees.

public Int32 CatalogActionCount { get; } #

Number of catalog-level actions read from supported name trees.

public IReadOnlyList<String> CatalogActionNames { get; } #

Catalog action name-tree keys in first-seen order.

public IReadOnlyList<String> CatalogActionTypes { get; } #

Distinct catalog action types in first-seen order.

public IReadOnlyList<String> CatalogActionSources { get; } #

Distinct catalog action sources in first-seen order.

public IReadOnlyDictionary<String, IReadOnlyList<PdfCatalogAction>> CatalogActionsByActionType { get; } #

Catalog actions grouped by PDF action type.

public IReadOnlyDictionary<String, IReadOnlyList<PdfCatalogAction>> CatalogActionsBySource { get; } #

Catalog actions grouped by catalog source.

public PdfMetadata Metadata { get; } #

Document metadata read from the PDF Info dictionary when available.

public IReadOnlyList<PdfLogicalPage> Pages { get; } #

Logical pages in document order.

public IReadOnlyDictionary<Int32, IReadOnlyList<PdfLogicalPage>> PagesBySourcePageNumber { get; } #

Logical pages grouped by one-based source page number. Range-based loads can contain the same source page more than once.

public IReadOnlyList<PdfOutlineItem> Outlines { get; } #

Top-level document outline/bookmark entries.

public IReadOnlyList<PdfPageLabel> PageLabels { get; } #

Page-label rules discovered from the document catalog.

public IReadOnlyList<PdfNamedDestination> NamedDestinations { get; } #

Named destinations discovered from the document catalog.

public PdfDocumentOpenAction OpenAction { get; } #

Simple document open action discovered from the document catalog, when supported.

public PdfViewerPreferences ViewerPreferences { get; } #

Simple viewer preference entries discovered from the document catalog, when supported.

public IReadOnlyList<PdfFormField> FormFields { get; } #

Simple AcroForm fields discovered from the document catalog.

public String AcroFormDefaultAppearance { get; } #

AcroForm default appearance string from /DA, when present.

public Boolean HasAcroFormDefaultAppearance { get; } #

True when an AcroForm default appearance string was readable.

public Nullable<Int32> AcroFormQuadding { get; } #

Raw AcroForm default /Q quadding value, when present.

public Boolean HasAcroFormQuadding { get; } #

True when an AcroForm default /Q quadding value was readable.

public PdfFormFieldTextAlignment AcroFormTextAlignment { get; } #

Common AcroForm default text alignment inferred from /Q quadding.

public PdfAcroFormXfaInfo AcroFormXfa { get; } #

AcroForm XFA packet metadata when /AcroForm /XFA is present.

public Boolean HasAcroFormXfa { get; } #

True when the AcroForm contains an XFA packet entry.

public Nullable<Boolean> AcroFormNeedAppearances { get; } #

AcroForm NeedAppearances flag, when present.

public Boolean RequiresAcroFormAppearanceRegeneration { get; } #

True when the AcroForm requests viewer-side appearance regeneration.

public Boolean HasAcroFormNeedAppearances { get; } #

True when an AcroForm NeedAppearances flag was readable.

public Nullable<Int32> AcroFormSignatureFlags { get; } #

Raw AcroForm signature flags from /SigFlags, when present.

public Boolean HasAcroFormSignatureFlags { get; } #

True when AcroForm signature flags were readable.

public Boolean AcroFormSignaturesExist { get; } #

True when AcroForm /SigFlags indicates that the document contains signatures.

public Boolean AcroFormAppendOnly { get; } #

True when AcroForm /SigFlags indicates that the document should only be saved by appending changes.

public IReadOnlyDictionary<String, PdfFormField> FormFieldsByName { get; } #

Named simple AcroForm fields keyed by fully qualified field name.

public IReadOnlyList<String> FormFieldNames { get; } #

Fully qualified names for simple AcroForm fields that have a readable name.

public IReadOnlyDictionary<PdfFormFieldKind, IReadOnlyList<PdfFormField>> FormFieldsByKind { get; } #

Simple AcroForm fields grouped by common field kind.

public IReadOnlyDictionary<Int32, IReadOnlyList<PdfFormField>> FormFieldsByPageNumber { get; } #

Simple AcroForm fields grouped by one-based page number for fields that have readable widgets.

public IReadOnlyList<PdfLogicalTextBlock> TextBlocks { get; } #

All line-level text blocks flattened in page order.

public IReadOnlyList<PdfLogicalHeading> Headings { get; } #

All heuristic heading objects flattened in page order.

public IReadOnlyList<PdfLogicalParagraph> Paragraphs { get; } #

All heuristic paragraph objects flattened in page order.

public IReadOnlyList<PdfLogicalListItem> ListItems { get; } #

All detected list item objects flattened in page order.

public IReadOnlyList<PdfLogicalTable> Tables { get; } #

All detected table objects flattened in page order.

public IReadOnlyList<PdfLogicalImage> Images { get; } #

All image XObject entries flattened in page order.

public IReadOnlyDictionary<String, IReadOnlyList<PdfLogicalLinkAnnotation>> LinksByUri { get; } #

URI link annotations grouped by URI action target.

public IReadOnlyDictionary<String, IReadOnlyList<PdfLogicalLinkAnnotation>> LinksByDestinationName { get; } #

Internal named-destination link annotations grouped by destination name.

public IReadOnlyDictionary<Int32, IReadOnlyList<PdfLogicalLinkAnnotation>> LinksByDestinationPageNumber { get; } #

Internal direct-destination link annotations grouped by one-based destination page number.

public IReadOnlyDictionary<String, IReadOnlyList<PdfLogicalLinkAnnotation>> LinksByNamedAction { get; } #

Named-action link annotations grouped by viewer action name.

public IReadOnlyDictionary<String, IReadOnlyList<PdfLogicalLinkAnnotation>> LinksByRemoteFile { get; } #

Remote GoTo link annotations grouped by target file.

public IReadOnlyList<PdfLogicalFormWidget> FormWidgets { get; } #

All AcroForm widget annotations flattened in page order.

public IReadOnlyDictionary<String, IReadOnlyList<PdfLogicalFormWidget>> FormWidgetsByFieldName { get; } #

AcroForm widget annotations grouped by fully qualified field name.

public IReadOnlyDictionary<Int32, IReadOnlyList<PdfLogicalFormWidget>> FormWidgetsByPageNumber { get; } #

AcroForm widget annotations grouped by one-based page number.

public String CatalogPageMode { get; } #

Catalog page mode, for example UseOutlines or FullScreen, when present.

public String CatalogPageLayout { get; } #

Catalog page layout, for example SinglePage or TwoColumnLeft, when present.

public String CatalogVersion { get; } #

Catalog PDF version override, for example 1.7, when present.

public String CatalogLanguage { get; } #

Catalog language tag, for example en-US or pl-PL, when present.

public Int32 PageCount { get; } #

Number of pages in the logical document.

public Boolean HasOutlines { get; } #

True when at least one outline/bookmark entry was read from the catalog.

public Boolean HasReadablePageLabels { get; } #

True when at least one readable page-label rule was read from the catalog.

public Boolean HasNamedDestinations { get; } #

True when at least one named destination was read from the catalog.

public Boolean HasReadableOpenAction { get; } #

True when a simple document open action was read from the catalog.

public Boolean HasReadableViewerPreferences { get; } #

True when simple viewer preferences were read from the catalog.

public Boolean HasFormFields { get; } #

True when at least one simple AcroForm field was read from the document catalog.

public Boolean HasFormWidgets { get; } #

True when at least one AcroForm widget annotation was placed on a logical page.

public IReadOnlyList<IPdfLogicalElement> Elements { get; } #

All logical page elements flattened in page order.

public IReadOnlyDictionary<PdfLogicalElementKind, IReadOnlyList<IPdfLogicalElement>> ElementsByKind { get; } #

Logical page elements grouped by element kind.

public IReadOnlyDictionary<Int32, IReadOnlyList<IPdfLogicalElement>> ElementsByPageNumber { get; } #

Logical page elements grouped by one-based source page number.

public PdfOptionalContentProperties OptionalContent { get; } #

Catalog optional-content/layer metadata discovered from /OCProperties.

public Boolean HasReadableOptionalContent { get; } #

True when readable optional-content/layer metadata was discovered.

public IReadOnlyList<PdfOptionalContentGroup> OptionalContentGroups { get; } #

Optional-content groups discovered from catalog /OCProperties.

public Int32 OptionalContentGroupCount { get; } #

Number of optional-content groups discovered from catalog /OCProperties.

public Boolean HasOptionalContentGroups { get; } #

True when at least one optional-content group was discovered.

public IReadOnlyList<String> OptionalContentGroupNames { get; } #

Optional-content group names in first-seen catalog order.

public IReadOnlyList<PdfOutputIntentInfo> OutputIntents { get; } #

Catalog output intent metadata discovered from /OutputIntents.

public Int32 OutputIntentCount { get; } #

Number of catalog output intents discovered from /OutputIntents.

public Boolean HasReadableOutputIntents { get; } #

True when at least one catalog output intent was readable.

public IReadOnlyList<String> OutputIntentSubtypes { get; } #

Distinct output intent subtypes in first-seen order.

public IReadOnlyList<String> OutputConditionIdentifiers { get; } #

Distinct output condition identifiers in first-seen order.

public IReadOnlyList<PdfPageAction> PageActions { get; } #

Page-level additional actions attached to source page dictionaries.

public Boolean HasPageActions { get; } #

True when at least one page-level additional action was read.

public Int32 PageActionCount { get; } #

Number of page-level additional actions read.

public IReadOnlyList<String> PageActionTypes { get; } #

Distinct page-level action types in first-seen order.

public IReadOnlyList<String> PageActionTriggerNames { get; } #

Distinct page-level additional-action trigger keys in first-seen order.

public IReadOnlyList<String> PageActionPaths { get; } #

Distinct page-level action paths in first-seen order.

public IReadOnlyDictionary<String, IReadOnlyList<PdfPageAction>> PageActionsByActionType { get; } #

Page-level additional actions grouped by PDF action type.

public IReadOnlyDictionary<String, IReadOnlyList<PdfPageAction>> PageActionsByTriggerName { get; } #

Page-level additional actions grouped by page /AA trigger key.

public IReadOnlyDictionary<String, IReadOnlyList<PdfPageAction>> PageActionsByActionPath { get; } #

Page-level additional actions grouped by stable action path.

public IReadOnlyDictionary<Int32, IReadOnlyList<PdfPageAction>> PageActionsByPageNumber { get; } #

Page-level additional actions grouped by one-based page number.

public PdfDocumentSecurityInfo Security { get; } #

Security, signature, and revision markers read from the source PDF bytes.

public Boolean HasSecurityState { get; } #

True when the document exposes encryption, signature, permission, or incremental-update markers.

public PdfTaggedContentInfo TaggedContent { get; } #

Tagged PDF structure metadata discovered from /MarkInfo and /StructTreeRoot.

public Boolean HasReadableTaggedContent { get; } #

True when readable tagged PDF structure metadata was discovered.

public PdfXmpMetadataInfo XmpMetadata { get; } #

Catalog XMP metadata stream discovered from /Metadata.

public Boolean HasReadableXmpMetadata { get; } #

True when readable catalog XMP metadata was discovered.

Extension Methods

public static String ExportStructured(PdfLogicalDocument document, PdfStructuredExportFormat format) #
Returns: String

Exports an already parsed logical document without rerunning extraction.

Parameters

document OfficeIMO.Pdf.PdfLogicalDocument requiredposition: 0
format OfficeIMO.Pdf.PdfStructuredExportFormat requiredposition: 1
public static String ToHtmlTables(PdfLogicalDocument document, PdfLogicalTableTextExportOptions options = null) #
Returns: String

Exports normalized logical PDF tables as semantic HTML tables.

Parameters

document OfficeIMO.Pdf.PdfLogicalDocument requiredposition: 0
Logical PDF document to inspect.
options OfficeIMO.Pdf.PdfLogicalTableTextExportOptions = null optionalposition: 1
Optional table export settings.

Returns

HTML containing only detected PDF tables and optional source captions.

public static String ToMarkdown(PdfLogicalDocument document, PdfLogicalMarkdownOptions options = null) #
Returns: String

Renders the logical PDF document as Markdown using headings, paragraphs, lists, tables, and optional annotations from the existing logical model.

Parameters

document OfficeIMO.Pdf.PdfLogicalDocument requiredposition: 0
options OfficeIMO.Pdf.PdfLogicalMarkdownOptions = null optionalposition: 1
public static String ToMarkdownTables(PdfLogicalDocument document, PdfLogicalTableTextExportOptions options = null) #
Returns: String

Exports normalized logical PDF tables as Markdown tables.

Parameters

document OfficeIMO.Pdf.PdfLogicalDocument requiredposition: 0
Logical PDF document to inspect.
options OfficeIMO.Pdf.PdfLogicalTableTextExportOptions = null optionalposition: 1
Optional table export settings.

Returns

Markdown containing only detected PDF tables and optional source captions.

public static IReadOnlyList<String> ToPageXmlDocuments(PdfLogicalDocument document) #
Returns: IReadOnlyList<String>

Exports one schema-valid PAGE XML document per logical page. PAGE XML is image/page scoped and does not define a multi-page root.

Parameters

document OfficeIMO.Pdf.PdfLogicalDocument requiredposition: 0