in reply to Re^6: blank pdf generated using PDF::API2 (Updated)
in thread blank pdf generated using PDF::API2

Try this program against your problem pdf. What version of PDF::API2 do you have ?

#!/usr/bin/perl use strict; use warnings; use PDF::API2; my $file = 'some.pdf'; my $pdf = PDF::API2->open($file); my $pages = $pdf->pages(); printf "PDF Version : %s\n",$pdf->version(); printf "Pages : %s\n",$pdf->pages(); for my $n (1..$pages){ my $page = $pdf->openpage($n); printf "Page %3d Media %5.2f %5.2f %5.2f %5.2f\n",$n,$page->get_medi +abox; }
poj

Replies are listed 'Best First'.
Re^8: blank pdf generated using PDF::API2 (Updated)
by lennelei (Acolyte) on Jul 21, 2017 at 13:26 UTC

    Hi,

    Before giving you the answers, I may have an idea: it seems that the problematic pdf is encrypted. I think that PDF::API2 doesn't work because it tries to copy some sort raw content from an encrypted pdf to a non encrypted file (which produces blank pages because it's incorrect data). CAM::PDF might work because it starts with the original PDF and then remove the unwanted pages leaving the file encrypted (I presume that sejda either do the same or first decipher the content before copying it).

    PDF-API2 folder in my Strawberry Perl installation gives 2.033:

    D:\Perl\cpan\build\PDF-API2-2.033-ze3hij\lib\PDF\API2.pm

    Here is the result of your script with juste a printf added on line 11 to check the encryption (printf "isEncrypted : %s\n",$pdf->isEncrypted();) :

    PDF Version : 1.3 Pages : 540 isEncrypted : 1 Page 1 Media 0.00 0.00 595.00 864.00 Page 2 Media 0.00 0.00 595.00 864.00 Page 3 Media 0.00 0.00 595.00 864.00 Page 4 Media 0.00 0.00 595.00 864.00 Page 5 Media 0.00 0.00 595.00 864.00 Page 6 Media 0.00 0.00 595.00 864.00 Page 7 Media 0.00 0.00 595.00 864.00 Page 8 Media 0.00 0.00 595.00 864.00 Page 9 Media 0.00 0.00 595.00 864.00 Page 10 Media 0.00 0.00 595.00 864.00 Page 11 Media 0.00 0.00 595.00 864.00 Page 12 Media 0.00 0.00 595.00 864.00 ...an so on until page 540 (values are exactly the same)

      I think it's protected not encrypted. I managed to reproduce the problem using a document created with OpenOffice and exported as pdf. I set a 'permissions' password (document restricted) but left the 'open' password blank (document not-encrypted).

      poj