Public Member Functions | |
PDFNumberTree (PDFDoc document, int type) throws com.foxit.sdk.PDFException | |
Constructor, with parameters. More... | |
PDFNumberTree () | |
Constructor. | |
PDFNumberTree (PDFNumberTree other) | |
Constructor, with another PDFNumberTree object. More... | |
PDFObject | getObj (int number) throws com.foxit.sdk.PDFException |
Get the value (as PDF object) of a specified key integer. More... | |
int | getType () throws com.foxit.sdk.PDFException |
Get the type of current number tree. More... | |
boolean | hasNumber (int number) throws com.foxit.sdk.PDFException |
Check if the specified key integer exists in current number tree. More... | |
boolean | isEmpty () |
Check whether current object is empty or not. More... | |
boolean | removeAllObjs () throws com.foxit.sdk.PDFException |
Remove all key integers from current number tree, along with theirs value (as PDF object). More... | |
boolean | removeObj (int number) throws com.foxit.sdk.PDFException |
Remove a key integer from current number tree, along with its value (as PDF object). More... | |
boolean | setObj (int number, PDFObject pdf_object) throws com.foxit.sdk.PDFException |
Set the value (as PDF object) of a specified key integer. If the key integer does not exist, it will be added to current number tree with the value. More... | |
Static Public Attributes | |
static final int | e_PageLabels = 1 |
"PageLabels" number tree. | |
Number tree is a kind of common data structure in PDF. A number tree is similar to a number tree, except that keys in a number tree are integers instead of strings and are sorted in ascending numerical order. Number tree has following characteristics:
key integers in a number tree are sorted in ascending numerical order and each key integer in the same number tree is unique;
values associated with the key integers may be objects of any type, depending on the purpose of the number tree;
number tree can represent an arbitrarily large collection of key-value pairs, which can be looked up efficiently without requiring the entire data structure to be read from the PDF file.
Class PDFNumberTree is used to be associated with an existing number tree with specified type or create one. It offers functions to get key-value pairs in the number tree, and set/add/remove any key-value pair. Currently, class PDFNumberTree can be associated with following number tree defined in PDF document:
PageLabels number tree (with type e_PageLabels), which defines the page labeling for the document. The keys in this tree are page indexes; the corresponding values are page label dictionaries (Please refer to <PDF Renferece 1.7> P594 Section 8.3.1, "Page Labels"). Each page index denotes the first page in a labeling range to which the specified page label dictionary applies. The tree must include a value for page index 0.
com.foxit.sdk.pdf.objects.PDFNumberTree.PDFNumberTree | ( | PDFDoc | document, |
int | type | ||
) | throws com.foxit.sdk.PDFException |
Constructor, with parameters.
If there exists number tree with specified type in the PDF document, this function is just to construct a PDFNumberTree object to be associated with the number tree. If there is no such number tree in PDF document, the constructed PDFNumberTree object can be used to create such number tree in PDF document and add items to the number tree.
document | A valid PDF document object. |
type | The type of the number tree. Please refer to values starting from e_PageLabels and this should be one of these values. |
com.foxit.sdk.pdf.objects.PDFNumberTree.PDFNumberTree | ( | PDFNumberTree | other | ) |
Constructor, with another PDFNumberTree object.
other | Another PDFNumberTree object. |
PDFObject com.foxit.sdk.pdf.objects.PDFNumberTree.getObj | ( | int | number | ) | throws com.foxit.sdk.PDFException |
Get the value (as PDF object) of a specified key integer.
number | An integer as the key. |
int com.foxit.sdk.pdf.objects.PDFNumberTree.getType | ( | ) | throws com.foxit.sdk.PDFException |
Get the type of current number tree.
boolean com.foxit.sdk.pdf.objects.PDFNumberTree.hasNumber | ( | int | number | ) | throws com.foxit.sdk.PDFException |
Check if the specified key integer exists in current number tree.
number | An integer that represents the key to be checked. |
boolean com.foxit.sdk.pdf.objects.PDFNumberTree.isEmpty | ( | ) |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
boolean com.foxit.sdk.pdf.objects.PDFNumberTree.removeAllObjs | ( | ) | throws com.foxit.sdk.PDFException |
Remove all key integers from current number tree, along with theirs value (as PDF object).
boolean com.foxit.sdk.pdf.objects.PDFNumberTree.removeObj | ( | int | number | ) | throws com.foxit.sdk.PDFException |
Remove a key integer from current number tree, along with its value (as PDF object).
If the input key integer does not exist in current number tree, this function will return true directly.
number | An integer as the key to be removed. |
boolean com.foxit.sdk.pdf.objects.PDFNumberTree.setObj | ( | int | number, |
PDFObject | pdf_object | ||
) | throws com.foxit.sdk.PDFException |
Set the value (as PDF object) of a specified key integer. If the key integer does not exist, it will be added to current number tree with the value.
number | An integer as the key. |
pdf_object | A PDF object to be set as the key's value. It should not be null. The type of this PDF object should match current number tree; otherwise, the input PDF object is invalid. Please refer to comment of class PDFNumberTree for more details. User should not release this PDF object after this function succeeds. |