Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: PDF::API2 text problem

by snoopy (Deacon)
on Aug 30, 2012 at 23:32 UTC ( #990875=note: print w/ replies, xml ) Need Help??


in reply to PDF::API2 text problem

I've found that directly inserting text into a PDF can be fraught with danger. I suspect that the text/graphics state has been left in an altered state; I.E. its undergone rotation or translation etc. I've found it more robust to recreate each page in the PDF and import each page as a form element. Then output any new text or graphics.

#!/usr/bin/perl use warnings; use strict; use PDF::API2; my $file = shift (@ARGV); my $pdf_in = PDF::API2->open($file); my $pdf = PDF::API2->new; my $pagenum = 1; my $page_in = $pdf_in->openpage($pagenum); my $page = $pdf->page(0); $page->mediabox($page_in->get_mediabox); $page->trimbox($page_in->get_trimbox); my $gfx = $page->gfx; my $xo = $pdf->importPageIntoForm($pdf_in, $pagenum); $gfx->formimage($xo, 0, 0, # x y 1); # scale my $font = $pdf->corefont('Helvetica-Bold'); my $text = $page->text(); $text->font($font,10); #10-point font size $text->translate(15,770); #top left corner.. 0,0 origin starts in the +bottom left corner $text->text('blah blah sample text'); $pdf->saveas($file);


Comment on Re: PDF::API2 text problem
Download Code
Re^2: PDF::API2 text problem
by samwalker04 (Initiate) on Aug 31, 2012 at 01:12 UTC
    Thanks for the suggestion! Seems like that should work, as long as I wrap most of that code in a loop to make sure I import every page of the PDF, not just the first page. I'll give this a shot tomorrow and report back my results.
      It's working great. I simply wrapped the code in a while loop to process every page, but only stamp the new text on the first page. Thank you so much for your help.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (10)
As of 2014-09-01 14:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (13 votes), past polls