public class PDPageLabels extends Object implements COSObjectable
Constructor and Description |
---|
PDPageLabels(PDDocument document)
Creates an empty page label dictionary for the given document.
|
PDPageLabels(PDDocument document,
COSDictionary dict)
Creates an page label dictionary for a document using the information in
the given COS dictionary.
|
Modifier and Type | Method and Description |
---|---|
COSBase |
getCOSObject()
Convert this standard java object to a COS object.
|
String[] |
getLabelsByPageIndices()
Returns a mapping with 0-based page indices as keys and corresponding
page labels as values as an array.
|
NavigableSet<Integer> |
getPageIndices()
Get an ordered set of page indices having a page label range.
|
Map<String,Integer> |
getPageIndicesByLabels()
Returns a mapping with computed page labels as keys and corresponding
0-based page indices as values.
|
PDPageLabelRange |
getPageLabelRange(int startPage)
Returns the page label range starting at the given page, or
null
if no such range is defined. |
int |
getPageRangeCount()
Returns the number of page label ranges.
|
void |
setLabelItem(int startPage,
PDPageLabelRange item)
Sets the page label range beginning at the specified start page.
|
public PDPageLabels(PDDocument document)
Note that the page label dictionary won't be automatically added to the
document; you will still need to do it manually (see
PDDocumentCatalog.setPageLabels(PDPageLabels)
.
document
- The document the page label dictionary is created for.PDDocumentCatalog.setPageLabels(PDPageLabels)
public PDPageLabels(PDDocument document, COSDictionary dict) throws IOException
Note that the page label dictionary won't be automatically added to the
document; you will still need to do it manually (see
PDDocumentCatalog.setPageLabels(PDPageLabels)
.
document
- The document the page label dictionary is created for.dict
- an existing page label dictionaryIOException
- If something goes wrong during the number tree conversion.PDDocumentCatalog.setPageLabels(PDPageLabels)
public int getPageRangeCount()
This will be always >= 1, as the required default entry for the page range starting at the first page is added automatically by this implementation (see PDF32000-1:2008, p. 375).
public PDPageLabelRange getPageLabelRange(int startPage)
null
if no such range is defined.startPage
- the 0-based page index representing the start page of the page
range the item is defined for.null
if no label range is defined
for the given start page.public void setLabelItem(int startPage, PDPageLabelRange item)
startPage
- the 0-based index of the page representing the start of the
page label range.item
- the page label item to set.IllegalArgumentException
- if the startPage parameter is < 0.public COSBase getCOSObject()
getCOSObject
in interface COSObjectable
public Map<String,Integer> getPageIndicesByLabels()
NOTE: If the document contains duplicate page labels, the returned map will contain less entries than the document has pages. The page index returned in this case is the highest index among all pages sharing the same label.
public String[] getLabelsByPageIndices()
public NavigableSet<Integer> getPageIndices()
Copyright © 2002–2018 The Apache Software Foundation. All rights reserved.