com.lowagie.text.pdf
public class SimpleBookmark extends Object implements SimpleXMLDocHandler
The list structure is composed by a number of HashMap, keyed by strings, one HashMap for each bookmark. The element values are all strings with the exception of the key "Kids" that has another list for the child bookmarks.
All the bookmarks have a "Title" with the bookmark title and optionally a "Style" that can be "bold", "italic" or a combination of both. They can also have a "Color" key with a value of three floats separated by spaces. The key "Open" can have the values "true" or "false" and signals the open status of the children. It's "true" by default.
The actions and the parameters can be:
Field Summary | |
---|---|
Stack | attr |
ArrayList | topList |
Constructor Summary | |
---|---|
SimpleBookmark() Creates a new instance of SimpleBookmark |
Method Summary | |
---|---|
static List | bookmarkDepth(PdfReader reader, PdfDictionary outline, IntHashtable pages) |
static void | createOutlineAction(PdfDictionary outline, HashMap map, PdfWriter writer, boolean namedAsNames) |
static void | eliminatePages(List list, int[] pageRange)
Removes the bookmark entries for a number of page ranges. |
void | endDocument() |
void | endElement(String tag) |
static void | exportToXML(List list, OutputStream out, String encoding, boolean onlyASCII)
Exports the bookmarks to XML. |
static void | exportToXML(List list, Writer wrt, String encoding, boolean onlyASCII)
Exports the bookmarks to XML. |
static void | exportToXMLNode(List list, Writer out, int indent, boolean onlyASCII)
Exports the bookmarks to XML. |
static List | getBookmark(PdfReader reader)
Gets a List with the bookmarks. |
static int | getNumber(PdfIndirectReference indirect)
Gets number of indirect. |
static List | importFromXML(InputStream in)
Import the bookmarks from XML. |
static List | importFromXML(Reader in)
Import the bookmarks from XML. |
static Object[] | iterateOutlines(PdfWriter writer, PdfIndirectReference parent, List kids, boolean namedAsNames) |
static String | makeBookmarkParam(PdfArray dest, IntHashtable pages) |
static void | mapGotoBookmark(HashMap map, PdfObject dest, IntHashtable pages) |
static void | shiftPageNumbers(List list, int pageShift, int[] pageRange)
For the pages in range add the pageShift to the page number.
|
void | startDocument() |
void | startElement(String tag, HashMap h) |
void | text(String str) |
Parameters: list the bookmarks pageRange the page ranges, always in pairs.
<?xml version='1.0' encoding='UTF-8'?> <!ELEMENT Title (#PCDATA|Title)*> <!ATTLIST Title Action CDATA #IMPLIED Open CDATA #IMPLIED Page CDATA #IMPLIED URI CDATA #IMPLIED File CDATA #IMPLIED Named CDATA #IMPLIED NamedN CDATA #IMPLIED NewWindow CDATA #IMPLIED Style CDATA #IMPLIED Color CDATA #IMPLIED > <!ELEMENT Bookmark (Title)*>
Parameters: list the bookmarks out the export destination. The stream is not closed encoding the encoding according to IANA conventions onlyASCII codes above 127 will always be escaped with &#nn; if true
,
whatever the encoding
Throws: IOException on error
Parameters: list the bookmarks wrt the export destination. The writer is not closed encoding the encoding according to IANA conventions onlyASCII codes above 127 will always be escaped with &#nn; if true
,
whatever the encoding
Throws: IOException on error
Parameters: list the bookmarks out the export destination. The writer is not closed indent the indentation level. Pretty printing significant only onlyASCII codes above 127 will always be escaped with &#nn; if true
,
whatever the encoding
Throws: IOException on error
List
with the bookmarks. It returns null
if
the document doesn't have any bookmarks.Parameters: reader the document
Returns: a List
with the bookmarks or null
if the
document doesn't have any
Parameters: indirect 2004-06-13
Parameters: in the XML source. The stream is not closed
Returns: the bookmarks
Throws: IOException on error
Parameters: in the XML source. The reader is not closed
Returns: the bookmarks
Throws: IOException on error
pageShift
to the page number.
The page ranges
consists of a number of pairs with the start/end page range. The page numbers
are inclusive.Parameters: list the bookmarks pageShift the number to add to the pages in range pageRange the page ranges, always in pairs. It can be null
to include all the pages