NAME

Template::Flute::PDF - PDF generator for HTML templates

VERSION

Version 0.0025

SYNOPSIS

$flute = new Template::Flute (specification_file => 'invoice.xml',
                            template_file => 'invoice.html',
                            values => \%values);
$flute->process();

$pdf = new Template::Flute::PDF (template => $flute->template(),
                                file => 'invoice.pdf');

$pdf->process();

DESCRIPTION

Template::Flute::PDF is a PDF generator based on Template::Flute and PDF::API2.

CONSTRUCTOR

new

Create a Template::Flute::PDF object with the following parameters:

template

Template::Flute::HTML object.

file

PDF output file.

page_size

Page size for the PDF (default: A4).

html_base

Base directory for HTML resources like images and stylesheets.

METHODS

process

Processes HTML template and creates PDF file.

set_page_size

Sets the page size for the PDF.

select_page PAGE_NUM

Selects page with the given PAGE_NUM. Creates new page if necessary.

content_height

Returns the height of the content part of the page.

content_width

Returns the width of the content part of the page.

font NAME [weight]

Returns PDF::API2 font object for font NAME, WEIGHT is optional.

text_filter TEXT

Adjusts whitespace in TEXT for output in PDF.

setup_text_props ELT SELECTOR [INHERIT]

Determines text properties for HTML template element ELT, CSS selector SELECTOR and INHERIT flag.

calculate ELT [PARAMETERS]

Calculates width and height for HTML template element ELT.

check_out_of_bounds POS DIM

Check whether we are out of bounds with position POS and dimensions DIM.

textbox ELT TEXT PROPS BOX ATTRIBUTES

Adds textbox for HTML template element ELT to the PDF.

hline SPECS HPOS VPOS LENGTH WIDTH

Add horizontal line to PDF.

borders X_LEFT Y_TOP WIDTH HEIGHT

Adds borders to the PDF.

rect X_LEFT Y_TOP X_RIGHT Y_BOTTOM COLOR

Adds rectangle to the PDF.

locate_image

Determines location of an image file from the src HTML attribute.

$imgfile = $pdf->locate_image('images/cart.png');

The location is based on the current directory, or on the html_base constructor parameter if the src HTML attribute contains a single file name only.

image OBJECT HPOS VPOS WIDTH HEIGHT

Add image OBJECT to the PDF.

begin_transform

Starts transformation of current content object.

end_transform

Ends transformation of current content object.

FUNCTIONS

to_points [DEFAULT_UNIT]

Converts widths to points, default unit is mm.

AUTHOR

Stefan Hornburg (Racke), <racke@linuxia.de>

BUGS

Certainly a lot, as converting from HTML to PDF is quite complicated and challenging.

Please report any unknown bugs or feature requests to bug-template-flute-pdf at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Flute-PDF.

KNOWN BUGS

Background color

Using background color hides text.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Template::Flute::PDF

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2010-2012 Stefan Hornburg (Racke) <racke@linuxia.de>.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.