Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^2: Putting text and images in PDFs using PDF::API2

by JamesNC (Chaplain)
on Jan 17, 2006 at 13:22 UTC ( #523736=note: print w/replies, xml ) Need Help??

in reply to Re: Putting text and images in PDFs using PDF::API2
in thread Putting text and images in PDFs using PDF::API2

I wrote a PDF module a long time ago and have been using it for personal use. Recently I added html-like tables( has column and row spanning) to it and a few other items. Actually, I keep adding to it as I see reason to. A friend wanted to use it to create bi-lingual Biblical text and so I added unicode support and embeded TrueType fonts(which was lots of fun). You see I had to use iText (java) extensively at work, but really wanted something vastly easier to use for Perl, so I developed my own both as an exercise in learning the PDF Spec better and some Perl OOP. It's only real dependancy is Compress::Zlib. If you want to try it let me know. I call it MoosePdf, silly I know. But I gave it a really terse yet simple and IMHO intuitive syntax. For instance, one way to do the above program with just the raw text and image operators (with a table it would simpler) would be thus:
use strict; use DBI; use MoosePdf; my $pdf = new MoosePdf('myPdf.pdf'); my $page = $pdf->addPage(size=>'595x852', margins=> 72); my $f = $page->addFont("Helvetica"); my $fb = $page->addFont("Helvetica-Bold"); my $image = $page->addImage(file=>"santa.jpg"); #path my $height = $image->getHeight; $page->showImage( image=>$image, x=>100, y=> 100+$height); $page->addText( text=>"Heading Here", x=>100, y=>100, font=>$fb, size= +> 10 ); my $dbh=DBI->connect("DBI:mysql:database=voice:host=localhost","userna +me","password") or die "$!\n"; my $sth=$dbh->prepare("select column1,column2,column3,column4,column5 +from test") or die "$!\n"; $sth->execute() or die "$!\n"; my $y = 750; while (my @row=$sth->fetchrow_array()) { $y -= 45; my $string=join(",",@row)."\n"; $page->addText( text=>$string, x=>100, y=>$y, font=>$f, size=> 10 ); if( $y < 100 ){ $page = $pdf->AddPage(); #inherits from existing page $page->addText(text=>"Heading Here", font=>$fb, size=>10, x=>100, y +=>800 ); $y = 750; } } $pdf->save();

Anyway, if you want to try it, msg me with your email and I will send it and some examples to you if you will agree to not redistribute it as it needs more documentation.


Replies are listed 'Best First'.
Re^3: Putting text and images in PDFs using PDF::API2
by Anonymous Monk on Mar 27, 2009 at 14:08 UTC
    I know this is an old post but I am interested to use ant test the module for PDF you had created, how could I get a copy and samples of this module like you said?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://523736]
Discipulus will now go afk due to a splunk refreshment session..
[choroba]: Pippy loves Splunk

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2017-02-21 08:25 GMTServer Error (Error ID 7820012c60600)

An error has occurred. The site administrators have been notified of the problem and will likely soon fix it. We thank you, for you're patients.

Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (308 votes). Check out past polls.