Bookmark: Insert a bookmark for current page [ 4 ]
Inserts a bookmark on current page. This function takes 3 parameters:
- Text ⇒ character string pointer which specifies the text of the bookmark to be inserted.
- Level ⇒ null or positive integer which specifies the level of this bookmark within a potential hierarchical bookmark tree.
- Y ⇒ float number which further specifies ordinate location where this bookmark will point when clicked upon.
C calling syntax
void Bookmark (char *text, int level, float y);
Cobol calling syntax
CALL "Bookmark" using by value TEXT,LEVEL,Y.
C sample code
#include "fpdf.h" static char f_ini ??(??) = ??< "ini??/??/demofpdf.ini" ??>; static char f_out ??(??) = ??< "pdf??/??/demo_d.pdf" ??>; static char buf0 ??(128??); /* ----------------------------------------------------------------- */ int main (int argc, char *argv ) ??< int ii, jj; char *ptr; NewPdfy (f_ini, 1); jj = P_MODIFY + P_ANNOT_FORMS; SetProtection (jj, "USER-PSWD", "OWNER-PSWD"); for (ii = 0; ii < 9; ii ++) begin AddPage("L"); jj = PageNo (); sprintf (buf0, "numbers%d", jj); if ((ii & 1) == 0) ptr = ""; else ptr = "http://www.cnn.com"; Image (buf0, 50, 20, 200, 0, "jpg", ptr); sprintf (buf0, "Page %d", jj); Bookmark (buf0, 0, 0); end Output (f_out); ??>
Description of sample code
This piece of code illustrates various functions found in FPDF4ZOS interface. It opens a PDF context and specifies that the document ought to be protected at both levels: - It requires from users to key the string USER-PSWD in order to be able to read the document => encryption at user level. - It further encodes the document at owner level, forbidding Print and copy-paste features. In order to change these protections, a user should key password OWNER-PSWD. Program then performs a loop on 9 pages in each of which a different image is inserted. Note that in the even pages, the image carries a link to web site www.cnn.com. The following functions are used in this piece: - NewPdfy() --> Initialisation of a pdf context - AddPage() --> As it says - SetProtection() --> Instruct that PDF is to be protected at user and owner levels - Image() --> Insert an image into a PDF document - Bookmark() --> Insert an bookmark into a PDF document - PageNo() --> Retrieve current page number while building PDF document - FlushPdf() --> Output PDF file taking into account all the instructions invoked since NewPdfy or previous FlushPdf
See sample source code in 'C' as well as PDF execution result - NB: For encrypted PDFs, user password is USER-PSWD