I am the current maintainer of PDF::Template, having taken over from Dave Ferrance (the original author) 4 years ago. I am also the co-maintainer of PDF::Writer, originally written by Audrey (yes, that Audrey). She is also the author and maintainer of PDF::FromHTML, which uses PDF::Template to generate PDFs from a given HTML file.

P::T is in big trouble. It uses PDFlib as the underlying rendering engine. It was originally written against PDFlib v3 with some work done to leverage some functionality in PDFlib v4. PDFlib v7 is in the process of being released. This release removes several important functions from the API that P::T uses. Thus, the latest P::T will not work with the latest PDFlib.

PDF::Writer is a project started by Audrey that is attempting to provide a single API over the two major PDF rendering engines in Perl - PDFlib and PDF::API2. It is currently in its infancy and the attempt I made this past summer to migrate PDF::Template over to it failed.

I do not have the time nor the inclination to work on PDF::Template anymore. I haven't used it in over 18 months and do not foresee using it in the near future. I have since moved onto other projects (notably DBM::Deep). Thus, I'm looking to hand over the reins.

The person (or persons) taking over PDF::Template (and, hopefully, PDF::Writer) will be inheriting a module that is the only one in its niche in the Perl landscape. If you also take over P::W, you will be taking over a project that is attempting to provide a generic PDF-generation API over PDFlib and PDF::API2. There is also the design goal of providing a TT plugin better than the latex one currently in use.

In other words, there's a ton of really great work to be done and a lot of kudos for the person who's willing to do it. I would be willing to spend as much time as necessary to successfully transition both projects as well as act as a design advisor and, if needed, mentor for whomever takes over maintainership. (I suspect that if you asked politely, you'd also be able to get maintainership of PDF::FromHTML from Audrey without pushing too hard.)

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
Re: PDF::Template needs a new maintainer
by almut (Canon) on Jan 28, 2007 at 14:23 UTC

    If no one else is going to shout "here!", I'd raise my hand.

    I've done quite a bit of low level hacking in PDF (as well as its cousin PostScript), so this might be a good fit... (Actually, I've written my own PDF lib in Perl (that was before PDF::API2 was ready for prime time) -- unfortunately, it's proprietary... (paid work)). Also, I have access to virtually all major unix platforms, so I could at least make sure the modules build/work on those.

    OTOH, I'm entirely new to maintaining CPAN modules... so I'm wondering, what does it entail beyond hacking at the sources?

      You might want to write to jkeenan1, who is leading an effort to mentor people on taking over maintenance of modules. See Phalanx Phoenix: Mentored Maintenance of CPAN Modules. While that is a face-to-face effort, primarily, there is also a mailing list and Jim has given some talks on this topic at YAPC and other places that he might be able to share with you.

      If you're new to CPAN modules entirely, I suggest reading some of the Tutorials as a good starting point (e.g. How to make a CPAN Module Distribution). Sam Tregar's book Writing Perl Modules for CPAN is another good starting point.


      Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      In addition to xdg's excellent pointers, you might also want to look at my article on the subject.

      As for what's needed in this specific area, the biggest thing lacking is tests. When I took over PDF::Template 4 years ago, there was no easy way of testing PDFs. One of the reasons I was so interested in converting PDF::Template to use PDF::Writer as its engine is that writing tests for PDF::Template become much simpler (see how I wrote tests for Excel::Template as a good example). In the meantime, Test::PDF has been released to CPAN and would make a very good way to test PDF::Template or PDF::Writer.

      The most immediate need is to get off of the PDFlib v3 API and either onto PDF::Writer (best solution) or the PDFlib v6 API (better than nothing). After that, there's a number of directions you can go.

      • Build in support for HTML-like tables. (The single-most requested feature).
      • Move off of the XML templating format and to a TT-based format. (Fixes a bunch of design flaws and gets us out of the templating business and into the PDF-generation business)
      • Make a bigger deal of the custom nodes feature.
      • Add the ability to draw (second-most requested feature)

      As you have low-level PDF experience, this sounds like it might be a good fit. I'll /msg you my email and we can chat further.

      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?