/* CHAPTER 6. Bookmarks */ /** Starts the bookmark retrieval process for a given PDF. */ public native void startGetBookmarkInfo(Pdf pdf) throws CpdfError; /** Gets the number of bookmarks for the PDF given to {@link #startGetBookmarkInfo(Pdf) startGetBookmarkInfo}. */ public native int numberBookmarks() throws CpdfError; /** Gets the bookmark level for the given bookmark 0...(n - 1). */ public native int getBookmarkLevel(int serial) throws CpdfError; /** Gets the bookmark target page for the given PDF (which must be the same as the PDF passed to {@link #startGetBookmarkInfo(Pdf) startGetBookmarkInfo}) and bookmark 0...(n - 1). */ public native int getBookmarkPage(Pdf pdf, int serial) throws CpdfError; /** Returns the text of bookmark 0...(n - 1)) */ public String getBookmarkText(int serial) throws CpdfError; /** Returns true if the bookmark is open. */ public native boolean getBookmarkOpenStatus(int serial) throws CpdfError; /** Ends the bookmark retrieval process, cleaning up. */ public native void endGetBookmarkInfo() throws CpdfError; /** Starts the bookmark setting process for n bookmarks. */ public native void startSetBookmarkInfo(int n) throws CpdfError; /** Set bookmark level for the given bookmark 0...(n - 1). */ public native void setBookmarkLevel(int serial, int level) throws CpdfError; /** Sets the bookmark target page for the given PDF (which must be the same as the PDF to be passed to {@link #endSetBookmarkInfo(Pdf) endSetBookmarkInfo}) and bookmark 0...(n - 1). */ public native void setBookmarkPage(Pdf pdf, int serial, int pagenum) throws CpdfError; /** Sets the open status of bookmark 0...(n - 1). */ public native void setBookmarkOpenStatus(int serial, boolean open) throws CpdfError; /** Sets the text of bookmark 0...(n - 1). */ public void setBookmarkText(int serial, String text) throws CpdfError; /** Ends the bookmark setting process, writing the bookmarks to the given PDF. */ public native void endSetBookmarkInfo(Pdf pdf) throws CpdfError; /** Returns the bookmark data in JSON format. */ public native byte[] getBookmarksJSON(Pdf pdf) throws CpdfError; /** Sets the bookmarks from JSON bookmark data. */ public native void setBookmarksJSON(Pdf pdf, byte[] data) throws CpdfError; /** Typesets a table of contents from existing bookmarks and prepends it to the document. @param pdf PDF document @param font font, such as {@link #timesRoman timesRoman} @param fontsize font size @param title table of contents title @param bookmark if true, the table of contents gets its own bookmark. */ public void tableOfContents(Pdf pdf, int font, double fontsize, String title, boolean bookmark) throws CpdfError;