Skip to content

IPageRange

IPageRange is the read-only contract for a page selection, implemented by PageRange. It exposes the boundary values plus three computed classification flags that distinguish an "all pages" selection from a partial or single-page one, which PdfClientService.ExtractPageRanges relies on to decide how to copy pages. (BR-14)

Purpose

  • Defines the read surface a page selection must expose for page-extraction logic to classify and act on it.

Context

  • Namespace: PdfAPI.Core
  • Assembly/package: PdfAPI.Core

Public members

Member Signature Purpose
StartPage int StartPage { get; } The first page (1-based) included in the selection.
StopPage int StopPage { get; } The last page included in the selection; -1 denotes open-ended (through the last page). (BR-15)
IsPartial bool IsPartial { get; } Indicates the selection covers a subset of pages rather than the whole document.
IsOriginal bool IsOriginal { get; } Indicates the selection spans the entire original document (1 to -1). (BR-14)
IsSingle bool IsSingle { get; } Indicates the selection covers exactly one page.

Behavioral notes

  • PdfClientService.ExtractPageRanges branches on IsOriginal versus the relative order of StartPage/StopPage to decide whether to copy the whole document, copy ascending, or copy descending. (BR-14, BR-15, BR-16)

Constraints and usage notes

  • PageRange is the only implementation shipped in the compiled assembly.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • PdfAPI.Core\Extract\PageRange.cs