com.foxit.sdk.pdf.PageLabels Class Reference
Inheritance diagram for com.foxit.sdk.pdf.PageLabels:
com.foxit.sdk.common.Base

Public Member Functions

 PageLabels (PDFDoc document) throws com.foxit.sdk.PDFException
 Constructor, from a PDF document object. More...
 
 PageLabels (PageLabels other)
 Constructor, with another PageLabels object. More...
 
PDFNumberTree getNumberTree ()
 Get the PageLabels number tree. More...
 
String getPageLabelPrefix (int page_index) throws com.foxit.sdk.PDFException
 Get the label prefix string in the page label (as numbering format) of a specified page index. More...
 
int getPageLabelStart (int page_index) throws com.foxit.sdk.PDFException
 Get the value of the numeric portion for the first page label in the page label (as numbering format) of a specified page index. More...
 
int getPageLabelStyle (int page_index) throws com.foxit.sdk.PDFException
 Get the numbering style to be used for the numeric portion in the page label (as numbering format) of a specified page index. More...
 
String getPageLabelTitle (int page_index) throws com.foxit.sdk.PDFException
 Get the full page label title for a page specified by page index. More...
 
boolean hasPageLabel (int page_index) throws com.foxit.sdk.PDFException
 Check if there is a page label (as numbering format) defined with specified page index. More...
 
boolean isEmpty ()
 Check whether current object is empty or not. More...
 
void removeAll () throws com.foxit.sdk.PDFException
 Remove all page labels. More...
 
void removePageLabel (int page_index) throws com.foxit.sdk.PDFException
 Remove a page label (as numbering format) defined with a specified page index. More...
 
void setPageLabel (int page_index, int label_style, int first_label_number, String prefix_string) throws com.foxit.sdk.PDFException
 Set a page label (as numbering format) defined with a page index which is the starting page index of the range. More...
 

Static Public Attributes

static final int e_DecimalNums = 1
 Page label style: decimal Arabic numerals.
 
static final int e_LowerLetters = 5
 Page label style: lowercase letters. More...
 
static final int e_LowerRomanNums = 3
 Page label style: lowercase roman numerals.
 
static final int e_None = 0
 Page label style: no numbering style. More...
 
static final int e_UpperLetters = 4
 Page label style: uppercase letters. More...
 
static final int e_UpperRomanNums = 2
 Page label style: uppercase roman numerals.
 

Detailed Description

Each page in a PDF document is identified by an integer page index that expresses the page's relative position within the document. In addition, a document may optionally define page labels (PDF 1.3) to identify each page visually on the screen or in print. Page label titles and page indices need not coincide: the indexes are fixed, running consecutively through the document starting from 0 for the first page, but the label titles can be specified in any way that is appropriate for the particular document. For example, if the document begins with 12 pages of front matter numbered in roman numerals and the remainder of the document is numbered in arabic, the first page would have a page index of 0 and a page label title of i, the twelfth page would have index 11 and label title xii, and the thirteenth page would have index 12 and label title 1.
For purposes of page labeling, a document can be divided into labeling ranges, each of which is a series of consecutive pages using the same numbering system. Pages within a range are numbered sequentially in ascending order. A page's label (as numbering format), consists of a numeric portion based on its position within its labeling range, optionally preceded by a label prefix denoting the range itself. For example, the pages in an appendix might be labeled with decimal numeric portions prefixed with the string A-; the resulting page labels would be A-1, A-2, and so on. Please refer to Section 8.3.1 "Page Labels" in <PDF Reference 1.7> for more details.
This class can be used to get page label full title directly, get information of a page label (as numbering format), set or add a new page label, and so on.

Constructor & Destructor Documentation

◆ PageLabels() [1/2]

com.foxit.sdk.pdf.PageLabels.PageLabels ( PDFDoc  document) throws com.foxit.sdk.PDFException

Constructor, from a PDF document object.

If there exists page labeling range information in the specified PDF document, this function is just to construct a PageLabels object to be associated with these information. If there is no such information in the specified PDF document, the constructed PageLabels object can be used to set page labeling range information to PDF document.

Parameters
documentA valid PDF document object.

◆ PageLabels() [2/2]

com.foxit.sdk.pdf.PageLabels.PageLabels ( PageLabels  other)

Constructor, with another PageLabels object.

Parameters
otherAnother PageLabels object.

Member Function Documentation

◆ getNumberTree()

PDFNumberTree com.foxit.sdk.pdf.PageLabels.getNumberTree ( )

Get the PageLabels number tree.

Returns
The PageLabels number tree.

◆ getPageLabelPrefix()

String com.foxit.sdk.pdf.PageLabels.getPageLabelPrefix ( int  page_index) throws com.foxit.sdk.PDFException

Get the label prefix string in the page label (as numbering format) of a specified page index.

This function is only useful when input page index has a page label – that means the page index is the starting page index of a page labeling range. Function PageLabels::hasPageLabel can be used to check if the page index has a page label. If input page index does not have page label, this function will return empty string.

Parameters
page_indexThe page index which is the starting page index of a page labeling range. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
Returns
The label prefix string. Empty string means no prefix string is used or input page index does not have page label. Function PageLabels::hasPageLabel can be used to check if input page index has a page label.

◆ getPageLabelStart()

int com.foxit.sdk.pdf.PageLabels.getPageLabelStart ( int  page_index) throws com.foxit.sdk.PDFException

Get the value of the numeric portion for the first page label in the page label (as numbering format) of a specified page index.

Subsequent pages are numbered sequentially from this value until the next page labeling range appears. This value must be greater than or equal to 1.
This function is only useful when input page index has a page label – that means the page index is the starting page index of a page labeling range. Function PageLabels::hasPageLabel can be used to check if the page index has a page label. If input page index does not have page label, this function will return -1.

Parameters
page_indexThe page index which is the starting page index of a page labeling range. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
Returns
The value of the numeric portion for the first page label in specified labeling range, which would be greater than or equal to 1. -1 means no first label number is defined or input page index does not have page label. Function PageLabels::hasPageLabel can be used to check if input page index has a page label.

◆ getPageLabelStyle()

int com.foxit.sdk.pdf.PageLabels.getPageLabelStyle ( int  page_index) throws com.foxit.sdk.PDFException

Get the numbering style to be used for the numeric portion in the page label (as numbering format) of a specified page index.

This function is only useful when input page index has a page label – that means the page index is the starting page index of a page labeling range. Function PageLabels::hasPageLabel can be used to check if the page index has a page label. If input page index does not have page label, this function will return -1.

Parameters
page_indexThe page index which is the starting page index of a page labeling range. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
Returns
The numbering style. Please refer to values starting from e_None and this would be one of these values.
-1 means input page index does not have page label.

◆ getPageLabelTitle()

String com.foxit.sdk.pdf.PageLabels.getPageLabelTitle ( int  page_index) throws com.foxit.sdk.PDFException

Get the full page label title for a page specified by page index.

This function can help to get the full page label title of a specified page index directly, and user does not need to take care about which page labeling range this page belongs to.
Only when related PDF document does not have any page labeling range information, this function would return empty string for each valid page index.

Parameters
page_indexA page index. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
Returns
The page label full title string.

◆ hasPageLabel()

boolean com.foxit.sdk.pdf.PageLabels.hasPageLabel ( int  page_index) throws com.foxit.sdk.PDFException

Check if there is a page label (as numbering format) defined with specified page index.

For each page labeling range, the page label (as numbering format) is defined with its starting page index.

Parameters
page_indexA page index. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
Returns
true means there exists a page label defined with input page index, while false means there is no page label defined with input page index.

◆ isEmpty()

boolean com.foxit.sdk.pdf.PageLabels.isEmpty ( )

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ removeAll()

void com.foxit.sdk.pdf.PageLabels.removeAll ( ) throws com.foxit.sdk.PDFException

Remove all page labels.

Returns
None.

◆ removePageLabel()

void com.foxit.sdk.pdf.PageLabels.removePageLabel ( int  page_index) throws com.foxit.sdk.PDFException

Remove a page label (as numbering format) defined with a specified page index.

After the specified page label is removed, the related labeling range will be merged to the previous page labeling range sequence.
As required in Section 8.3.1 "Page Labels" in <PDF reference 1.7>, a page label defined with page index 0 is required. So user is recommended not to remove the page label of page index 0 singly.

Parameters
page_indexThe page index which is the starting page index of a page labeling range. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount. Not recommend to remove the page label defined with page index 0 singly as required in Section 8.3.1 "Page Labels" in <PDF reference 1.7>,
Returns
None.

◆ setPageLabel()

void com.foxit.sdk.pdf.PageLabels.setPageLabel ( int  page_index,
int  label_style,
int  first_label_number,
String  prefix_string 
) throws com.foxit.sdk.PDFException

Set a page label (as numbering format) defined with a page index which is the starting page index of the range.


If no any page labeling range in the related PDF document, this function will set input page index as the starting page of a new page labeling range and use input values as page label (as numbering format) for this new range. Pages following the specified page will be in the same labeling range, until the next page labeling range appears. Specially, in this case, if input page index is not 0, this function will also add a new page label for index 0, with no label style, no prefix, first label number = 1, by default – this is required in Section 8.3.1 "Page Labels" in <PDF reference 1.7>.
If these is no page label for input page index, this function will set input page index as the starting page of a new page labeling range and use input values as page label (as numbering format) for this new range. Pages following the specified page will be in the same labeling range, until the next page labeling range appears.
If there exists a page label for input page index, this function will replace the old page label (as numbering format) with input values.

Parameters
page_indexThe page index which is the starting page index of a page labeling range. Valid range: from 0 to (count-1). count is the page count of related PDF document, and can be retrieved by function pdf::PDFDoc::getPageCount.
label_styleThe numbering style to be used for the numeric portion in the page labeling range. Please refer to values starting from e_None and this should be one of these values.
first_label_numberThe value of the numeric portion for the first page label in the page labeling range. It should be greater than or equal to 1. If the input value is invalid, Foxit PDF SDK will use 1 by default.
prefix_stringThe label prefix string for page labels in the labeling range. This can be an empty string which means not use prefix string. Default value : an empty string.
Returns
None.

Member Data Documentation

◆ e_LowerLetters

static final int com.foxit.sdk.pdf.PageLabels.e_LowerLetters = 5
static

Page label style: lowercase letters.

If this style is used, a to z will be used for the first 26 pages, aa to zz will be used for the next 26, and so on.

◆ e_None

static final int com.foxit.sdk.pdf.PageLabels.e_None = 0
static

Page label style: no numbering style.

This means page labels consist solely of a label prefix with no numeric portion.

◆ e_UpperLetters

static final int com.foxit.sdk.pdf.PageLabels.e_UpperLetters = 4
static

Page label style: uppercase letters.

If this style is used, A to Z will be used for the first 26 pages, AA to ZZ will be used for the next 26, and so on.

Foxit Software Corporation Logo
@2018 Foxit Software Incorporated. All rights reserved.