Catalyst::View::PDF::RUser(Contributed Perl DocumCatalyst::View::PDF::Reuse(3)NAMECatalyst::View::PDF::Reuse - Create PDF files from Catalyst using
Template Toolkit templates
SYNOPSIS
Create a PDF::Reuse view:
script/myapp_create.pl view PDF::Reuse PDF::Reuse
In MyApp.pm, add a configuration item for the template include path:
__PACKAGE__->config('View::PDF::Reuse' => {
INCLUDE_PATH => __PACKAGE__->path_to('root','templates')
});
In your controller:
$c->stash->{pdf_template} = 'hello_pdf.tt';
$c->forward('View::PDF::Reuse');
In root/templates/hello_pdf.tt:
[% pdf.prFont('Helvetica-Bold') %]
[% pdf.prFontSize(20) %]
[% pdf.prText(100,100,'Hello, World!') %]
DESCRIPTIONCatalyst::View::PDF::Reuse provides the facility to generate PDF files
from a Catalyst application by embedding PDF::Reuse commands within a
Template Toolkit template.
Template Syntax
Within your template you will have access to a "pdf" object which has
methods corresponding to all of PDF::Reuse's functions.
For example, to print the text Hello, World at PDF coordinates 100,100,
use the following directive in your template:
[% pdf.prText(100,100,'Hello, World') %]
Data held in the stash can be printed as follows:
$c->stash->{list} = ['one', 'two', 'three', 'four'];
[% y = 500 %]
[% FOREACH item IN list %]
[% pdf.prText(100,y,item) %]
[% y = y - 13 %]
[% END %]
Formatting can be defined using the Template Toolkit format plugin:
[% USE format %]
[% currency = format('AX%.2f') %]
[% pdf.prText(100,100,currency(10)) %]
Using existing PDF documents
The key benefit of PDF::Reuse is the ability to load an existing PDF
file and use this as the basis for a new document.
For example, to produce receipts or shipping labels you could create a
blank receipt in Microsoft Word, convert this to PDF, then use
PDF::Reuse to add in details such as the order number and customer
address.
[% pdf.prForm('customer_receipt.pdf') %]
[% pdf.prText(123,643,order.number) %]
[% pdf.prText(299,643,order.date) %]
Note that the PDF document loaded by "pdf.prForm" must be in the same
directory as your Template Toolkit template.
FUNCTIONS
process
Render the PDF file, places the contents in "$c->response->body" and
sets appropriate HTTP headers.
You should normally not need to use this method directly, instead
forward to the PDF::Reuse view from your controller:
$c->forward('View::PDF::Reuse');
The filename and content disposition (inline or attachment) can be
controlled by putting the following values in the stash:
$c->stash->{pdf_disposition} = 'attachment'; # Default is 'inline'
$c->stash->{pdf_filename} = 'myfile.pdf';
If the PDF filename is not specified, it will be set to the last
component of the URL path, appended with '.pdf'. For example, with a
URL of <http://localhost/view/order/pdf/1234> the PDF filename would be
set to 1234.pdf.
render_pdf
Renders the PDF file and returns the raw PDF data.
If you need to capture the PDF data, e.g. to store in a database or for
emailing, call "render_pdf" as follows:
my $pdf = $c->view("PDF::Reuse")->render_pdf($c);
AUTHOR
Jon Allen, jj@jonallen.info
BUGS
Please report any bugs or feature requests to
"bug-catalyst-view-pdf-reuse at rt.cpan.org", or through the web
interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-View-PDF-Reuse
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-View-PDF-
Reuse>. I will be notified, and then you'll automatically be notified
of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Catalyst::View::PDF::Reuse
You can also look for information at:
· RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Catalyst-View-PDF-Reuse
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Catalyst-View-PDF-Reuse>
· AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Catalyst-View-PDF-Reuse
<http://annocpan.org/dist/Catalyst-View-PDF-Reuse>
· CPAN Ratings
http://cpanratings.perl.org/d/Catalyst-View-PDF-Reuse
<http://cpanratings.perl.org/d/Catalyst-View-PDF-Reuse>
· Search CPAN
http://search.cpan.org/dist/Catalyst-View-PDF-Reuse
<http://search.cpan.org/dist/Catalyst-View-PDF-Reuse>
SEE ALSO
PDF::Reuse
Penny's Arcade Open Source - <http://www.pennysarcade.co.uk/opensource>
COPYRIGHT & LICENSE
Copyright (C) 2009 Penny's Arcade Limited
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.1 2010-06-21 Catalyst::View::PDF::Reuse(3)