O'Reilly logo

Programming Web Graphics with Perl and GNU Softwar by Shawn Wallace

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Multipage Documents with PostScript::Document

The PostScript::Document module comes with the PostScript package. It creates an abstract interface for creating generic multiple page textual documents. You can think of a Document object as a big text block with additional attributes and methods that allow it to span multiple pages. You can also include page numbers, and textual headers and footers that appear on each page of the document.

The Document object is used in a similar manner to the TextBlock object to do the following:

  1. Instantiate a new document with the new( ) method and a number of optional parameters defining the attributes of the page.

  2. Add text elements to the document with the addText( ) method.

  3. Create the PostScript as a string of code with the Write( ) method.

  4. Write the code to a file, and pipe or append it to other code.

A sample script using this module that reads a text file and appends a title, header, and footer to it would look something like this:

#!/usr/bin/perl -w use strict; use PostScript::Document; my $doc = new PostScript::Document; $doc->addText( text => "Hullabalo in Hoosick Falls.\n", font => 'CenturySchL-Ital', size => 24, leading => 100 ); $doc->addText( text => "by Charba Gaspee.\n", font => 'URWGothicL-Demi', size => 18, leading => 36 ); $doc->addHeader(text => "Hullabaloo in Hoosick Falls", font => 'URWGothicL-Demi', size => 9, leading => 11 ); $doc->addFooter(text => "Page ##Page", font => 'URWGothicL-Demi', size => 9, leading => 11 ); # Now read ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required