| java.lang.Object com.lowagie.text.pdf.SimpleBookmark
SimpleBookmark | public class SimpleBookmark implements SimpleXMLDocHandler(Code) | | Bookmark processing in a simple way. It has some limitations, mainly the only
action types supported are GoTo, GoToR, URI and Launch.
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:
- "Action" = "GoTo" - "Page" | "Named"
- "Page" = "3 XYZ 70 400 null" - page number followed by a destination (/XYZ is also accepted)
- "Named" = "named_destination"
- "Action" = "GoToR" - "Page" | "Named" | "NamedN", "File", ["NewWindow"]
- "Page" = "3 XYZ 70 400 null" - page number followed by a destination (/XYZ is also accepted)
- "Named" = "named_destination_as_a_string"
- "NamedN" = "named_destination_as_a_name"
- "File" - "the_file_to_open"
- "NewWindow" - "true" or "false"
- "Action" = "URI" - "URI"
- "URI" = "http://sf.net" - URI to jump to
- "Action" = "Launch" - "File"
- "File" - "the_file_to_open_or_execute"
author: Paulo Soares (psoares@consiste.pt) |
Method Summary | |
static void | createOutlineAction(PdfDictionary outline, HashMap map, PdfWriter writer, boolean namedAsNames) | public static void | eliminatePages(List list, int pageRange) Removes the bookmark entries for a number of page ranges. | public void | endDocument() | public void | endElement(String tag) | public static void | exportToXML(List list, OutputStream out, String encoding, boolean onlyASCII) Exports the bookmarks to XML. | public static void | exportToXML(List list, Writer wrt, String encoding, boolean onlyASCII) Exports the bookmarks to XML.
Parameters: list - the bookmarks Parameters: wrt - the export destination. | public static void | exportToXMLNode(List list, Writer out, int indent, boolean onlyASCII) Exports the bookmarks to XML. | public static List | getBookmark(PdfReader reader) Gets a List with the bookmarks. | public static List | importFromXML(InputStream in) Import the bookmarks from XML.
Parameters: in - the XML source. | public static List | importFromXML(Reader in) Import the bookmarks from XML.
Parameters: in - the XML source. | public static Object[] | iterateOutlines(PdfWriter writer, PdfIndirectReference parent, List kids, boolean namedAsNames) | public static void | shiftPageNumbers(List list, int pageShift, int pageRange) For the pages in range add the pageShift to the page number.
The page ranges
consists of a number of pairs with the start/end page range. | public void | startDocument() | public void | startElement(String tag, HashMap h) | public void | text(String str) |
eliminatePages | public static void eliminatePages(List list, int pageRange)(Code) | | Removes the bookmark entries for a number of page ranges. The page ranges
consists of a number of pairs with the start/end page range. The page numbers
are inclusive.
Parameters: list - the bookmarks Parameters: pageRange - the page ranges, always in pairs. |
endDocument | public void endDocument()(Code) | | |
exportToXML | public static void exportToXML(List list, OutputStream out, String encoding, boolean onlyASCII) throws IOException(Code) | | Exports the bookmarks to XML. The DTD for this XML is:
<?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 Parameters: out - the export destination. The stream is not closed Parameters: encoding - the encoding according to IANA conventions Parameters: onlyASCII - codes above 127 will always be escaped with &#nn; if true ,whatever the encoding throws: IOException - on error |
exportToXML | public static void exportToXML(List list, Writer wrt, String encoding, boolean onlyASCII) throws IOException(Code) | | Exports the bookmarks to XML.
Parameters: list - the bookmarks Parameters: wrt - the export destination. The writer is not closed Parameters: encoding - the encoding according to IANA conventions Parameters: onlyASCII - codes above 127 will always be escaped with &#nn; if true ,whatever the encoding throws: IOException - on error |
exportToXMLNode | public static void exportToXMLNode(List list, Writer out, int indent, boolean onlyASCII) throws IOException(Code) | | Exports the bookmarks to XML. Only of use if the generation is to be include in
some other XML document.
Parameters: list - the bookmarks Parameters: out - the export destination. The writer is not closed Parameters: indent - the indentation level. Pretty printing significant only Parameters: onlyASCII - codes above 127 will always be escaped with &#nn; if true ,whatever the encoding throws: IOException - on error |
getBookmark | public static List getBookmark(PdfReader reader)(Code) | | Gets a List with the bookmarks. It returns null if
the document doesn't have any bookmarks.
Parameters: reader - the document a List with the bookmarks or null if thedocument doesn't have any |
importFromXML | public static List importFromXML(InputStream in) throws IOException(Code) | | Import the bookmarks from XML.
Parameters: in - the XML source. The stream is not closed throws: IOException - on error the bookmarks |
importFromXML | public static List importFromXML(Reader in) throws IOException(Code) | | Import the bookmarks from XML.
Parameters: in - the XML source. The reader is not closed throws: IOException - on error the bookmarks |
shiftPageNumbers | public static void shiftPageNumbers(List list, int pageShift, int pageRange)(Code) | | For the pages in range add the 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 Parameters: pageShift - the number to add to the pages in range Parameters: pageRange - the page ranges, always in pairs. It can be null to include all the pages |
startDocument | public void startDocument()(Code) | | |
|
|