NAME

Mail::SpamAssassin::PDF::Parser - Parse PDF documents

SYNOPSIS

use Mail::SpamAssassin::PDF::Parser;
my $parser = Mail::SpamAssassin::PDF::Parser->new(timeout => 5);
$parser->parse(\$data);
print $parser->version();
print $parser->info()->{Author};
print $parser->is_encrypted();
print $parser->is_protected();
new(%opts)

Create a new parser object. Options are:

context

A Mail::SpamAssassin::PDF::Context object. This object will be used to handle callbacks for various PDF objects. See Mail::SpamAssassin::PDF::Context for more information.

timeout

Timeout in seconds. If the PDF document takes longer than this to parse, the parser will die with an error. This is useful for preventing denial of service attacks.

max_bytes

Most bytes of stream data to decode. The output of each decoding filter, and each reuse of a decoded stream, counts towards it; parse() dies, and extract_images() skips the image, once the total is over it. bytes_decoded() returns the total. Unlimited if not given.

debug

Set the debugging level. Valid values are 'all', 'trace', 'xref', 'stream', 'tokens', 'page', 'image', 'text', 'uri'

parse($data)

Parse a PDF document. $data can be a filename, a reference to a scalar containing the PDF data, or a file handle.