Provided by: libcatalyst-view-pdf-reuse-perl_0.4-2_all bug

NAME

       Catalyst::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!') %]

DESCRIPTION

       Catalyst::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.