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

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

Heuristic heading lines inferred from text size and geometry.

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