Package com.itextpdf.kernel.utils
Class PageRange
java.lang.Object
com.itextpdf.kernel.utils.PageRange
Class representing a page range, for instance a page range can contain pages
5, then pages 10 through 15, then page 18, then page 21 and so on.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Inner interface for range parts definitionstatic class
Class for range part containing a range of pages for all pages after a given start page.static class
Class for range part based on several range parts.static class
Class for range part for all even or odd pages.static class
Class for range part containing a range of pages represented by a start and an end page.static class
Class for range part containing a single page. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Pattern
private final List
<PageRange.IPageRangePart> private static final Pattern
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds any page range part to this page range.addPageSequence
(int startPageNumber, int endPageNumber) Adds a page sequence to the range.addSinglePage
(int pageNumber) Adds a single page to the range.boolean
getQualifyingPageNums
(int nbPages) Gets the list of pages that have been added to the range so far.private static PageRange.IPageRangePart
getRangeObject
(String rangeDef) int
hashCode()
boolean
isPageInRange
(int pageNumber) Checks if a given page is present in the range built so far.
-
Field Details
-
SEQUENCE_PATTERN
-
SINGLE_PAGE_PATTERN
-
sequences
-
-
Constructor Details
-
PageRange
public PageRange()Constructs an emptyPageRange
instance. -
PageRange
Constructs aPageRange
instance from a range in a string form, for example: "1-12, 15, 45-66". More advanced forms are also available, for example: - "3-" to indicate from page 3 to the last page - "odd" for all odd pages - "even" for all even pages - "3- & odd" for all odd pages starting from page 3 A complete example for pages 1 to 5, page 8 then odd pages starting from page 9: "1-5, 8, odd & 9-".- Parameters:
pageRange
- a String of page ranges
-
-
Method Details
-
getRangeObject
-
addPageRangePart
Adds any page range part to this page range. Users may define and plug in custom implementations for behavior not found in the standard library.- Parameters:
part
- a custom implementation ofPageRange.IPageRangePart
- Returns:
- this range, already modified
-
addPageSequence
Adds a page sequence to the range.- Parameters:
startPageNumber
- the starting page number of the sequenceendPageNumber
- the finishing page number of the sequence- Returns:
- this range, already modified
-
addSinglePage
Adds a single page to the range.- Parameters:
pageNumber
- the page number to add- Returns:
- this range, already modified
-
getQualifyingPageNums
Gets the list of pages that have been added to the range so far.- Parameters:
nbPages
- number of pages of the document to get the pages, to list only the pages eligible for this document.- Returns:
- the list containing page numbers added to the range matching this document
-
isPageInRange
public boolean isPageInRange(int pageNumber) Checks if a given page is present in the range built so far.- Parameters:
pageNumber
- the page number to check- Returns:
true
if the page is present in this range,false
otherwise
-
equals
-
hashCode
public int hashCode()
-