API Reference

Class

PdfLogicalPage

Namespace OfficeIMO.Pdf
Assembly OfficeIMO.Pdf
Modifiers sealed

Logical view of a single PDF page.

Inheritance

  • Object
  • PdfLogicalPage

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 IReadOnlyList<IPdfLogicalElement> GetElements(PdfLogicalElementKind kind) #
Returns: IReadOnlyList<IPdfLogicalElement>

Returns logical page elements of the requested kind.

Parameters

kind OfficeIMO.Pdf.PdfLogicalElementKind requiredposition: 0
public Boolean HasElementKind(PdfLogicalElementKind kind) #
Returns: Boolean

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

Parameters

kind OfficeIMO.Pdf.PdfLogicalElementKind requiredposition: 0
public PdfPagePoint MapVisualPointToUserSpace(Double x, Double y) #
Returns: PdfPagePoint

Converts a point from top-left visual page coordinates into PDF default user-space coordinates. This accounts for the effective crop box origin and inherited page rotation.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
public PdfPageRectangle MapVisualRectangleToUserSpace(Double left, Double top, Double right, Double bottom) #
Returns: PdfPageRectangle

Converts a top-left visual page rectangle into PDF default user-space coordinates. This accounts for the effective crop box origin and inherited page rotation.

Parameters

left System.Double requiredposition: 0
top System.Double requiredposition: 1
right System.Double requiredposition: 2
bottom System.Double requiredposition: 3

Properties

public Int32 PageNumber { get; } #

One-based source page number.

public Double Width { get; } #

Page width in PDF points.

public Double Height { get; } #

Page height in PDF points.

public Int32 RotationDegrees { get; } #

Inherited page rotation normalized to 0, 90, 180, or 270.

public PdfPageGeometry Geometry { get; } #

Page boundary boxes and page-level presentation metadata.

public PdfPageBox MediaBox { get; } #

Inherited /MediaBox boundary, when readable.

public PdfPageBox CropBox { get; } #

Inherited /CropBox boundary, when readable.

public PdfPageBox BleedBox { get; } #

Inherited /BleedBox boundary, when readable.

public PdfPageBox TrimBox { get; } #

Inherited /TrimBox boundary, when readable.

public PdfPageBox ArtBox { get; } #

Inherited /ArtBox boundary, when readable.

public Nullable<Double> UserUnit { get; } #

Inherited page user-unit scale from /UserUnit, when present and positive.

public String TabOrder { get; } #

Page tab order from /Tabs, when present.

public Nullable<Double> DurationSeconds { get; } #

Page display duration from /Dur, in seconds, when present.

public PdfPageTransition Transition { get; } #

Page transition dictionary from /Trans, when present and readable.

public Boolean HasPageMetadata { get; } #

True when page-level /Metadata was present.

public Boolean HasPieceInfo { get; } #

True when page-level /PieceInfo was present.

public IReadOnlyList<IPdfLogicalElement> Elements { get; } #

Logical elements in extraction order.

public PdfUnderstandingPageResult Analysis { get; } #

Bounded semantic-stage artifacts, reading-order evidence, classifications, and provenance for this page.

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

Logical page elements grouped by element kind.

public IReadOnlyList<PdfLogicalTextBlock> TextBlocks { get; } #

Line-level text blocks extracted from positioned text spans.

public IReadOnlyList<PdfLogicalHeading> Headings { get; } #

Heading lines inferred from fused font, geometry, outline, and tagged-PDF evidence.

public IReadOnlyList<PdfLogicalTextBlock> Headers { get; } #

Page-header text identified by the canonical semantic pipeline.

public IReadOnlyList<PdfLogicalTextBlock> Footers { get; } #

Page-footer text identified by the canonical semantic pipeline.

public IReadOnlyList<PdfLogicalTextBlock> Captions { get; } #

Caption text identified by the canonical semantic pipeline.

public IReadOnlyList<PdfLogicalTextBlock> Footnotes { get; } #

Footnote text identified by the canonical semantic pipeline.

public IReadOnlyList<PdfLogicalParagraph> Paragraphs { get; } #

Heuristic paragraph groups built from non-table, non-list text lines.

public IReadOnlyList<PdfLogicalListItem> ListItems { get; } #

Detected bullet and numbered list items with marker and level hints.

public IReadOnlyList<PdfLogicalTable> Tables { get; } #

Detected table-like regions.

public Int32 VectorPrimitiveCount { get; } #

Number of visible vector drawing primitives recovered from the source page.

public IReadOnlyList<PdfLogicalImage> Images { get; } #

Image XObjects referenced by the page.

public IReadOnlyList<PdfAnnotation> Annotations { get; } #

Generic page annotations read from the page, including any primary, additional, or chained actions.

public Int32 AnnotationCount { get; } #

Number of generic page annotations read from the page.

public Boolean HasAnnotations { get; } #

True when the page has at least one generic annotation.

public IReadOnlyList<PdfLinkAnnotation> LinkAnnotations { get; } #

Simple link annotations read from the page.

public IReadOnlyList<PdfLogicalFormWidget> FormWidgets { get; } #

AcroForm widget annotations placed on this page.

public IReadOnlyList<PdfPageAction> PageActions { get; } #

Page-level additional actions attached to the source page dictionary.

public Int32 PageActionCount { get; } #

Number of page-level additional actions attached to the source page dictionary.

public Boolean HasPageActions { get; } #

True when the source page dictionary has page-level additional actions.

Extension Methods

public static String ToMarkdown(PdfLogicalPage page, PdfLogicalMarkdownOptions options = null) #
Returns: String

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

Parameters

page OfficeIMO.Pdf.PdfLogicalPage requiredposition: 0
options OfficeIMO.Pdf.PdfLogicalMarkdownOptions = null optionalposition: 1