---
name: "PDF::API2::Basic::PDF::Dict"
section: "3pm"
platform: "linux"
package: "perl-pdf-api2"
version: "2.048-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PDF::API2::Basic::PDF::Dict"
---

# PDF::API2::Basic::PDF::Dict(3pm)

Low-level dictionary and stream objects

## NAME

PDF::API2::Basic::PDF::Dict - Low-level dictionary and stream objects

## 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

### $type = $d-\>type($type)

Get/Set the standard Type key.  It can be passed, and will return, a text value rather than a Name object.

### @filters = $d-\>filter(@filters)

Get/Set one or more filters being used by the optional stream attached to the dictionary.

### $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.
