start page | rating of books | rating of authors | reviews | copyrights

Programming PHPProgramming PHPSearch this book

10.6. Other PDF Features

PDF documents support a variety of other features, such as annotations, attached files, and page transitions. These features can also be manipulated with pdflib.

10.6.1. Note Annotations

Notes can be added on top of a PDF document using pdf_add_note( ):

pdf_add_note(pdf, llx, lly, urx, ury, contents, title, icon, open);

Specify the note area with two points: the lower-left corner (llx,lly) and upper-right corner (urx,ury). The contents parameter holds the text of the note (maximum size 64 KB). The maximum size of the title is 255 characters. The icon parameter indicates which icon should represent the note when it is closed (allowable values are "comment", "insert", "note", "paragraph", "newparagraph", "key", and "help"). The open parameter indicates whether the note should be open or closed by default.

Example 10-14 creates an open note on a page with the note icon.

Example 10-14. Creating an open note

<?php
 $p = pdf_new( );
 pdf_open_file($p);

 pdf_begin_page($p,612,792);
 pdf_add_note($p,100,650,200,750,"This is a test annotation.","Testing","note",0);
 pdf_end_page($p);

 pdf_close($p);
 $buf = pdf_get_buffer($p);
 $len = strlen($buf);
 header("Content-Type: application/pdf");
 header("Content-Length: $len");
 header("Content-Disposition: inline; filename=note.pdf");
 echo $buf;
 pdf_delete($p);
?>

The output of Example 10-14 is shown in Figure 10-15.

Figure 10-15

Figure 10-15. Open note

Changing the open argument to php_add_note( ) from 1 to 0 creates the output shown in Figure 10-16 (a closed note).

Figure 10-16

Figure 10-16. Closed note

10.6.2. Attaching Files to a PDF Document

Arbitrary files can be attached to a PDF document. For example, a PDF version of this book might have attachments for each program, saving the pain of copying and pasting.

To attach a file, use the pdf_attach_file( ) function:

pdf_attach_file(pdf, llx, lly, urx, ury, filename, description, author,
                content_type, icon);

The content_type is the MIME type of the file (e.g., "text/plain"). The icon parameter can be "graph", "pushpin", "paperclip", or "tag". For example:

pdf_begin_page($p, 595, 842);
pdf_attach_file($p, 100, 600, 200, 700, "file.zip",
                "Here is that file you wanted",
                "Rasmus Lerdorf", "application/zip", "paperclip");

10.6.3. Page Transitions

PDF has the ability to apply special page transition effects similar to those you might see in presentation programs such as Microsoft PowerPoint. Most viewers apply transitions only when in fullscreen mode.

A page transition is set with the transition parameter. The available transitions are "split", "blinds", "box", "wipe", "dissolve", "glitter", and "replace". The default transition is always the simple "replace", which just replaces one page with the next.

To set the default time between pages, you can set the duration parameter. For example, to set the duration between pages to 5 seconds and to switch to the "wipe" page transition from here on, you can use:

<?php
 pdf_set_value($p, "duration", 5);
 pdf_set_parameter($p,  "transition", "wipe");
?>


Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.