The functionality is fantastic; especially useful is the ability to add pages from existing PDFs to your document.
The interface on the other hand is an abomination and the fact that code uses package variables means you can't easily distill the module into some object.
The docs exist and look to be complete, but there's just too much of them (partly due to bad interface). It took me a while to find how to change page size and I still don't know how prForm and prDoc differ or how to change font colour.
PDF::Reuse is an absolute gem of a Perl Package. A little tricky to make and install (more so the Barcode package(s)) but very much worth it.
I used it at the core of a corporate Merge Data and Forms suite written primarily as a browser delivered PHP application. The PHP interface allows the user to build quite complex print job definitions (including data sourcing etc) and save these (ultimately) as a Perl Hash of job parameters that is included into the processing script at runtime.
This suite allowed our public sector organisation to move away from dependency on highly programatically controlled Xerox DJDE based scripted printing to a more open Data with Forms application.
This meant we could give more control on development and maintenance output documentation to our end-user department and printing room staff - freeing programming time (and expense) for other things.
Could not have done it without PDF::Reuse - simple, reliable and powerful. It is its power to create complex and varied printed output using a few, easy to master commands that gave it an overall 5 in my assessment. I found teething problems getting PDF background forms to work were best overcome by producing my background PDF using CutePDF writer.
This module is misnamed, in my opinion, because it is just as good at PDF creation, as it is for PDF reuse. I've used this for years to generate the Sudoku, Killer Sudoku, Slitherlink, etc. files on my puzzle website, krazydad.com, as well as for preparing puzzles and mazes for publication, and it's a great workhorse.
I've since tried a few other PDF creation methods (including a few modules in Ruby, Processing, and C++/Cairo), and I still prefer using this module with Perl.
Very impressive! It's fast, easy to use and generates well formed and lightweight PDFs. The ability to use another document as a template and to embed literal PDF commands in the code makes this a very flexible tool. I can't recommend it highly enough.
The functionality of this module is great for a variety of simple PDF generation tasks.
The interface, on the other hand, is abysmal. With unconditionally exported functions and global state, there's no way to have more than one PDF::Reuse instance at a time. The ability to output to an arbitrary filehandle or to a string is also lacking.
PDF::Reuse made my life better. I had to collect 20000 pages from more than 10000 other pdfs spread over the filesystem and PDF::Reuse made the job perfect. Especially valueable is the possibility to write PDF-commands directly into the new document. Thanks to the author!
If you want to assemble PDF's by combining templates and overlaying text then this module is an excellent choice. It can also be used to create PDFs from scratch. There are good examples in the documentation to get you running quickly. The PDF generation is blindingly fast. The output quality is excellent. The author/maintainer has been very responsive about incorporating patches and adding new functionality. Highly recommended.
I've used so many java pdf generators and this is by far the fastest, most standards compliant, feature loaded module I've seen. The standard output file size is always smaller than what I put into it. Stamping bar codes and other features is simple. Great work on this project.