Moduł PDF::Parse

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Obsluga modulu PDF::Parse

PDF::Parse to jedna (obok PDF::Core) z czesci modulu PDF. Dzieki temu modulowi mozemy przeparsowac dowolny plik PDF oraz wyciagnac rozne informacje na jego temat. Dzieki nim mozemy ustalic czy dany plik jest na pewno zbudowanym poprawnie pdfem, dowiedziec sie o jego tworcy, temacie, programie jaki zostal uzyty do jego stworzenia etc.

PDF::Parse API

W sklad API samego PDF::Parse wchodza nastepujace metody:

$pdf->TargetFile($filename);

ktore okresla plik do przeparsowania

$pdf->LoadPageInfo;

ktore dokonuje faktycznego parsowania

$pdf->Version; $pdf->IsaPDF; $pdf->IscryptPDF; $pdf->GetInfo(key); $pdf->Pages; $pdf->PageSize([$page]); $pdf->PageRotation([$page]);

ktore sluza do wyciagania interesujacych nas infomacji

Uzycie

#!/usr/bin/perl -w use PDF::Parse; use warnings; use strict; my $filename = shift; print "::: ${filename} :::\n"; my $pdf = PDF::Parse::->new; $pdf->TargetFile($filename); $pdf->LoadPageInfo; my $version = $pdf->Version; my $is_pdf = $pdf->IsaPDF; my $is_crypt = $pdf->IscryptPDF; my $pagenum = $pdf->Pages; my $rotation = $pdf->PageRotation(); if ( $is_pdf ) { my $keywords = $pdf->GetInfo( "Keywords" ) || "N/A"; my $title = $pdf->GetInfo( "Title" ) || "N/A"; my $subject = $pdf->GetInfo( "Subject" ) || "N/A"; my $author = $pdf->GetInfo( "Author" ) || "N/A"; my $cr_date = $pdf->GetInfo( "CreationDate" ) || "N/A"; my $creator = $pdf->GetInfo( "Creator" ) || "N/A"; my $producer = $pdf->GetInfo( "Producer" ) || "N/A"; my $mod_date = $pdf->GetInfo( "ModDate" ) || "N/A"; print $version, ": ", ( $is_crypt? "encrypted: " : "not encrypted: " ), $pagenum, " pages ", $rotation, " global rotation\n"; print "Title: ${title}\nSubject: ${subject}\nAuthor: ${author}\nCreation date: ${cr_date}\n" . "Creator: ${creator}\nProducer: ${producer}\nModification date: ${mod_date}\nKeywords: ${keywords}\n"; for ( my $act_page = 1; $act_page <= $pagenum; ++$act_page ) { my @act_size = $pdf->PageSize( $act_page ); my $act_rotation = $pdf->PageRotation( $act_page ); print "\tPage #${act_page}: size >>>@{act_size}<<< rotation >>>${act_rotation}<<<\n"; } } else { print "This is not a PDF file.\n"; }


Wynik dzialania na pdfie-podaniu o wize amerykanska

Dodatkowe informacje

Link do oryginalnej strony z dokumentacja w CPANie

Autor modulu i kontakt do niego

Copyright (c) 1998 - 2000 Antonio Rosella Italy antro@tiscalinet.it, Johannes Blach dw235@yahoo.com

Kontakt i informacje o autorze opracowania

Autor: WS

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.