Introduction to PDF::API2

The top-level PDF::API2 object maintains an internal data structure that loosely resembles the PDF document structure. The top-level object knows how to construct the header, body, and cross-reference sections of the final PDF document. You then construct the document by creating objects and adding them to the top-level document. Three types of objects are defined: structural objects, content stream objects, and resource objects.

Structural objects are used to define the page, outline, and annotation trees of the document. A Page object describes a single page. The current version of PDF::API2 uses only a single-page hierarchy (see Chapter 10 for more about the page hierarchy). You can’t create multiple page trees with shared resources. The Outlines object defines the root of a tree of outline entries. An Outline object is used to define a single outline entry. The Annotation object is used to add floating notes to a page.

To draw graphics or text on a page, use one of the content stream objects. Example 12-1 shows how to use the Text object to draw a simple “Hello World” string on a page. First, create a new page and set its dimensions. Add a Text object, which is a repositionable block of text. A Font object is assigned to the Text object; in this case, the core Helvetica font is used. After that, the string is drawn, and the PDF is created with the stringify( ) method.

Example 12-1. Hello World with the Text object
#!/usr/bin/perl -w # # Example 12-1. Hello ...

Get Perl Graphics Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.