http://qs321.pair.com?node_id=628389


in reply to Re: Add Border to a PDF file
in thread Add Border to a PDF file

Thanks, your code is a really a good beginning. Problem here that the border overwrites the content of the PDF file. In that cause, I would rather draw the border outside the content, or shrink the page first and then draw the border.
--Artist

Replies are listed 'Best First'.
Re^3: Add Border to a PDF file
by snoopy (Curate) on Jul 24, 2007 at 07:41 UTC
    Here's a second cut. This preserves the page size and shrinks the graphics by 10%:
    #!/usr/bin/perl use warnings; use strict; use PDF::API2; my $pdf_in = PDF::API2->open('/tmp/test.pdf'); my $pdf_out = PDF::API2->new; foreach my $pagenum (1 .. $pdf_in->pages) { my $page_in = $pdf_in->openpage($pagenum); # # create new page # my $page_out = $pdf_out->page(0); # # Get the page size # my @mbox = $page_in->get_mediabox; # # Inherit mediabox $page_out->mediabox(@mbox); # # # copy page as a form. reduce slightly. # my $xo = $pdf_out->importPageIntoForm($pdf_in, $pagenum); my $gfx = $page_out->gfx; $gfx->formimage($xo, my $_x = 20, my $_y = 20, my $_scale = .9); # # Draw a box 10pt in from the edges of the page # $gfx->linewidth(1); $gfx->strokecolor('#000000'); $gfx->rect($mbox[0]+10, $mbox[1]+10, $mbox[2]-20, $mbox[3]-20); $gfx->stroke; } $pdf_out->saveas('/tmp/test2.pdf');
      Thank you very much. This works perfect.