# NAME

PDF::API2::PDF::Dict - PDF Dictionaries and Streams. Inherits from PDF::Objind

# INSTANCE VARIABLES

There are various special instance variables which are used to look after, particularly, streams. Each begins with a space:

stream

Holds the stream contents for output

streamfile

Holds the stream contents in an external file rather than in memory. This is not the same as a PDF file stream. The data is stored in its unfiltered form.

streamloc

If both ' stream' and ' streamfile' are empty, this indicates where in the source PDF the stream starts.

# METHODS

## $d->outobjdeep($fh)

Outputs the contents of the dictionary to a PDF file. This is a recursive call.

It also outputs a stream if the dictionary has a stream element. If this occurs then this method will calculate the length of the stream and insert it into the stream's dictionary.

## $d->read_stream($force_memory)

Reads in a stream from a PDF file. If the stream is greater than `PDF::Dict::mincache` (defaults to 32768) bytes to be stored, then the default action is to create a file for it somewhere and to use that file as a data cache. If $force_memory is set, this caching will not occur and the data will all be stored in the $self->{' stream'} variable.

## $d->val

Returns the dictionary, which is itself.