Public Member Functions | |
TabOrderMgr (PDFPage page) | |
Constructor, from a PDF page object. More... | |
TabOrderMgr (TabOrderMgr other) | |
Constructor, with another TabOrderMgr object. More... | |
boolean | adjustStructureOrder (AnnotArray annot_array) throws com.foxit.sdk.PDFException |
Adjust the structure order with specified annotations, and tab order type will be set to e_Structure at the same time. More... | |
Annot | getFirstAnnot () throws com.foxit.sdk.PDFException |
Get the first annotation in current tab order. More... | |
Annot | getLastAnnot () throws com.foxit.sdk.PDFException |
Get the last annotation in current tab order. More... | |
Annot | getNextAnnot (Annot annot) throws com.foxit.sdk.PDFException |
Get the next annotation of specified annotation in current tab order. More... | |
int | getOrderType () throws com.foxit.sdk.PDFException |
Get the tab order type. More... | |
Annot | getPrevAnnot (Annot annot) throws com.foxit.sdk.PDFException |
Get the previous annotation of specified annotation in current tab order. More... | |
boolean | isEmpty () |
Check whether current object is empty or not. More... | |
void | reload () throws com.foxit.sdk.PDFException |
Reload the tab order of annotations. More... | |
void | setOrderType (int order_type) throws com.foxit.sdk.PDFException |
Set the tab order type. More... | |
Static Public Attributes | |
static final int | e_Column = 0x0002 |
C (column order): Annotations are visited in columns running vertically up and down the page. | |
static final int | e_None = 0x0000 |
None (index order): Annotations are visited in annotation's index across the page. | |
static final int | e_Row = 0x0001 |
R (row order): Annotations are visited in rows running horizontally across the page. | |
static final int | e_Structure = 0x0003 |
S (structure order): Annotations are visited in the order in which they appear in the structure tree. | |
Tab order is the order to navigate through annotations on a PDF page by using Tab key in keyboard. This class offers functions to manager the order of moving the keyboard focus among annotations on a PDF page. Tab order manager will ignore following types of annotations:
note annotations which are as reply annotations, note annotations which are as state annotations, pop-up annotations, annotations whose flags contain annots::e_FlagHidden.
This class offers functions to get the order type and get annotations one by one in the order type. This class also offers functions to change the order type:
Function TabOrderMgr::setOrderType can be used to change the tab order type. Specially, if the tab order type is changed to e_Structure, function TabOrderMgr::adjustStructureOrder could be called to set the order.
Function TabOrderMgr::adjustStructureOrder can be called directly to change the order type to structure order and set the structure order at the same time.
After calling function TabOrderMgr::setOrderType or TabOrderMgr::adjustStructureOrder, function TabOrderMgr::reload should be called; otherwise the annotations' order may not be changed as expected.
com.foxit.sdk.pdf.TabOrderMgr.TabOrderMgr | ( | PDFPage | page | ) |
Constructor, from a PDF page object.
page | A valid PDF page. |
com.foxit.sdk.pdf.TabOrderMgr.TabOrderMgr | ( | TabOrderMgr | other | ) |
Constructor, with another TabOrderMgr object.
other | Another TabOrderMgr object. |
boolean com.foxit.sdk.pdf.TabOrderMgr.adjustStructureOrder | ( | AnnotArray | annot_array | ) | throws com.foxit.sdk.PDFException |
Adjust the structure order with specified annotations, and tab order type will be set to e_Structure at the same time.
This function is used to adjust the annotation order for structure tab order. First, re-order annotations in the input array according to the order in this array, and then re-order the reset annotations (which are not included in the input array) by the reading direction of PDF document.
After this function succeeds, indexes of all annotations in the related PDF page will be changed.
annot_array | An array of annotations which will be re-ordered first for structure tab order. All the annotations in this array should belong to the same page as the one related to current tab order manager. These annotations should all be valid and should be different from each other. |
Annot com.foxit.sdk.pdf.TabOrderMgr.getFirstAnnot | ( | ) | throws com.foxit.sdk.PDFException |
Get the first annotation in current tab order.
Annot com.foxit.sdk.pdf.TabOrderMgr.getLastAnnot | ( | ) | throws com.foxit.sdk.PDFException |
Get the last annotation in current tab order.
Annot com.foxit.sdk.pdf.TabOrderMgr.getNextAnnot | ( | Annot | annot | ) | throws com.foxit.sdk.PDFException |
Get the next annotation of specified annotation in current tab order.
annot | The valid specified annotation. |
int com.foxit.sdk.pdf.TabOrderMgr.getOrderType | ( | ) | throws com.foxit.sdk.PDFException |
Get the tab order type.
Annot com.foxit.sdk.pdf.TabOrderMgr.getPrevAnnot | ( | Annot | annot | ) | throws com.foxit.sdk.PDFException |
Get the previous annotation of specified annotation in current tab order.
annot | The valid specified annotation. |
boolean com.foxit.sdk.pdf.TabOrderMgr.isEmpty | ( | ) |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
void com.foxit.sdk.pdf.TabOrderMgr.reload | ( | ) | throws com.foxit.sdk.PDFException |
Reload the tab order of annotations.
This function should be called when:
any annotation in related PDF page is moved/deleted/added;
related page's rotation is changed;
reading direction of related PDF document is changed;
function TabOrderMgr::setOrderType or TabOrderMgr::adjustStructureOrder is called to change the tab order type or structure order.
void com.foxit.sdk.pdf.TabOrderMgr.setOrderType | ( | int | order_type | ) | throws com.foxit.sdk.PDFException |
Set the tab order type.
order_type | The new tab order type. It should be one of following values: e_None: means not to use tab order. e_Row: means to use row order. e_Column: means to use column order. e_Structure: means to use struct order and then function TabOrderMgr::adjustStructureOrder could be called to set the order. |