Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: Add images to PDF using pdf::ap12

by cristofayre (Sexton)
on Feb 20, 2015 at 17:02 UTC ( [id://1117360]=note: print w/replies, xml ) Need Help??


in reply to Re: Add images to PDF using pdf::ap12
in thread Add images to PDF using pdf::ap12

Thanks for the time in posting your code, but that's a little "heavy" for me. I ended up using a couple of for ->next loops
use PDF::API2; print "content-type: text/html\n\n"; use CGI::Carp qw( fatalsToBrowser ); $pdf = PDF::API2->new(-file => 'new.pdf'); # prepares filespace # 10 pages without above graphic = <3 seconds for ($doc=0; $doc<10; $doc++){ # Repeat for each new loop $page = $pdf->page(); # Adds new page to document. $page->mediabox('A4'); # Sets page size to A4 $font = $pdf->corefont('Verdana'); # Adds the Verdana font $text = $page->text(); # Adds some text to page $across=30; $up=48; $z=0; $qr=$pdf->image_png('test.png'); # Test pathname $arrow=$pdf->image_png('C:\...\arrows.png'); # Test pathname $gfx = $page->gfx; for ($x=0; $x<3; $x++){ # Across in 180dpi steps $new_across=$across+(180*$x); for ($y=0; $y<8; $y++){ # Up in 96dpi steps $new_up=$up+(96*$y); $text->font($font, 8); $text->translate($new_across, $new_up); $text->text('http://www.###/abcde/122345'); # Test URL $text->font($font, 9); $text->translate($new_across+11, $new_up+56); $text->text('Find Your'); $text->translate($new_across+16, $new_up+45); $text->text('Photos'); $text->font($font, 11); $text->translate($new_across+25, $new_up+34); $text->text('HERE'); $gfx->image($qr, ($new_across+90), ($new_up+10)); $gfx->image($arrow, ($new_across-4), ($new_up+12)); $z++; } } #$file=$pdf->image_png('C:\...label_layout.png'); # This is onl +y a test pathname #$gfx = $page->gfx; #$gfx->image($file, 0, 0); } # End of Page loop $pdf->save(); # Saves the file print "OK"; exit;
I will now add some code from GD library to create 24 QR code images, and then load them into page 1 by 1. Then discard them, and prepare the next batch for next page and so on.

Replies are listed 'Best First'.
Re^3: Add images to PDF using pdf::ap12
by gpapkala (Acolyte) on Feb 24, 2015 at 21:08 UTC

    So one more piece of code from myself. I wrote very small module that extends the PDF::API2 with QRCodes capabilities. Unfotunatelly although I sent this to current package maintener it never appeard in the PDF::API2

    Anyway you may have a look at https://github.com/grzegorzpapkala/PDF-API2-Resource-XObject-Form-QRCode. It relays on Text::QRCode. This way you can generate the QRcodes without extra GD calls. Maybe it would be easier this way.

      Sorry I've not replied before now. Been busy trying to get all the models to work! So I completed my code using GD before I saw this. I may give it a try, but to be honest, the AP12 and GD are creating 240 labels in 3 seconds, which I don't think is too bad. (Then again, 2400 is about 27 secs, so if your little code beats that ...)

      Alas, now run into another problem: I can't get the PDF to read into perl / appear in browser. (Fine if clicked/opened from local folder) I've submitted another post to the Monks, but basically the code is 212K ... but won't proceed beyond 4K whatever I try. And if I can't read it into memory again, I can't send it to browser / zip it or do anything!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1117360]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (7)
As of 2024-03-29 12:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found