Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
use strict; use PDF::API2; use Carp; my $pdfile = "out.pdf"; my $pdf = PDF::API2->new( -file => $pdfile) or croak "can't open $pdfi +le as output"; #open a blank page my $page = $pdf->page; $page->mediabox ('A4'); my %font = ( Helvetica => { Roman => $pdf->corefont( 'Helvetica', -encoding => ' +latin1' ), }, ); # put some text my $header = $page->text; $header->font( $font{'Helvetica'}{'Roman'}, 24 ); $header->fillcolor('darkblue'); $header->translate( 50, 750); my $ht = "Hello, this is the first page"; $header->text($ht); # add pages from other .pdf files; my $include; foreach $include ("1_3.PDF", "1_4.PDF") { $page = $pdf->page; $page->mediabox ('A4'); my $include_object = PDF::API2->open($include); my $sourcepage = $include_object->openpage(1); my $xo = $pdf->importPageIntoForm($include_object, 1); my $gfx = $page->gfx; $gfx->formimage($xo, 0, 0, 1.0); } $pdf->save; $pdf->end();
The above code produces a .pdf file that's perferctly readable by ghostview, but causes an error in Reader XI. I need to produce a .pdf files that collates pages from different sources, inserting text pages that include computed information. The report will be used in a Windows 7 office environment in which avoiding acrobat is not an option.
The problem arises, I believe, when combining .pdf of the 1.3 and 1.4 standard, but the reason could be another. The input files and result are available for download at https://www.dropbox.com/sh/12jofjihcs67ph7/aPnL4y5xZb .
I tried both formimage and importpage, sprinkled some save/restore in the code, the 'pageencaps' option, but it didn't cut it.
My environment is strawberry perl v5.16.2 on Windows 7 32 bits. My version of PDF::API2 is 2.020 MSWin32
Thank you for your help!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: PDF::API2 fails combining pdf 1.3 and 1.4
by Anonymous Monk on Feb 27, 2013 at 14:42 UTC | |
by Anonymous Monk on Feb 27, 2013 at 15:51 UTC | |
by Anonymous Monk on Feb 28, 2013 at 07:49 UTC |