|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.lowagie.text.pdf.SimpleBookmark
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:
| Field Summary | |
private Stack |
attr
|
private ArrayList |
topList
|
| Constructor Summary | |
private |
SimpleBookmark()
Creates a new instance of SimpleBookmark |
| Method Summary | |
private static List |
bookmarkDepth(PdfReader reader,
PdfDictionary outline,
IntHashtable pages)
|
(package private) 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()
Called after the document is parsed. |
void |
endElement(String tag)
Called when an end tag is found. |
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 List |
importFromXML(InputStream in)
Import the bookmarks from XML. |
static List |
importFromXML(Reader in)
Import the bookmarks from XML. |
(package private) static Object[] |
iterateOutlines(PdfWriter writer,
PdfIndirectReference parent,
List kids,
boolean namedAsNames)
|
static void |
shiftPageNumbers(List list,
int pageShift,
int[] pageRange)
For the pages in range add the pageShift to the page number.
|
void |
startDocument()
Called when the document starts to be parsed. |
void |
startElement(String tag,
HashMap h)
Called when a start tag is found. |
void |
text(String str)
Called when a text element is found. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private ArrayList topList
private Stack attr
| Constructor Detail |
private SimpleBookmark()
| Method Detail |
private static List bookmarkDepth(PdfReader reader, PdfDictionary outline, IntHashtable pages)
public static List getBookmark(PdfReader reader)
List with the bookmarks. It returns null if
the document doesn't have any bookmarks.
reader - the document
List with the bookmarks or null if the
document doesn't have anypublic static void eliminatePages(List list, int[] pageRange)
list - the bookmarkspageRange - the page ranges, always in pairs.public static void shiftPageNumbers(List list, int pageShift, int[] pageRange)
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.
list - the bookmarkspageShift - the number to add to the pages in rangepageRange - the page ranges, always in pairs. It can be null
to include all the pagesstatic void createOutlineAction(PdfDictionary outline, HashMap map, PdfWriter writer, boolean namedAsNames) throws IOException
IOExceptionstatic Object[] iterateOutlines(PdfWriter writer, PdfIndirectReference parent, List kids, boolean namedAsNames) throws IOException
IOExceptionpublic static void exportToXMLNode(List list, Writer out, int indent, boolean onlyASCII) throws IOException
list - the bookmarksout - the export destination. The writer is not closedindent - the indentation level. Pretty printing significant onlyonlyASCII - codes above 127 will always be escaped with &#nn; if true,
whatever the encoding
IOException - on errorpublic static void exportToXML(List list, OutputStream out, String encoding, boolean onlyASCII) throws IOException
<?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)*>
list - the bookmarksout - the export destination. The stream is not closedencoding - the encoding according to IANA conventionsonlyASCII - codes above 127 will always be escaped with &#nn; if true,
whatever the encoding
IOException - on errorpublic static void exportToXML(List list, Writer wrt, String encoding, boolean onlyASCII) throws IOException
list - the bookmarkswrt - the export destination. The writer is not closedencoding - the encoding according to IANA conventionsonlyASCII - codes above 127 will always be escaped with &#nn; if true,
whatever the encoding
IOException - on errorpublic static List importFromXML(InputStream in) throws IOException
in - the XML source. The stream is not closed
IOException - on errorpublic static List importFromXML(Reader in) throws IOException
in - the XML source. The reader is not closed
IOException - on errorpublic void endDocument()
SimpleXMLDocHandler
endDocument in interface SimpleXMLDocHandlerpublic void endElement(String tag)
SimpleXMLDocHandler
endElement in interface SimpleXMLDocHandlertag - the tag namepublic void startDocument()
SimpleXMLDocHandler
startDocument in interface SimpleXMLDocHandlerpublic void startElement(String tag, HashMap h)
SimpleXMLDocHandler
startElement in interface SimpleXMLDocHandlertag - the tag nameh - the tag's attributespublic void text(String str)
SimpleXMLDocHandler
text in interface SimpleXMLDocHandlerstr - the text element, probably a fragment.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||