Lib:Architecture/Object Layer

From GNUpdf

Overview

This page contain a description of the object layer in the GNU PDF Library.

Object Layer Architecture

object layer architecture
Enlarge
object layer architecture

This layer implements the concepts of PDF objects and PDF documents as a structured hierarchy of objects. An API is provided to manipulate that structure and the objects that compose it. Since the object hierarchy can be quite complex a garbage collection mechanism is provided to the client of the layer.

The functionality provided by this layer is implemented in several modules.

Document Module
This module implements the abstraction of object level documents. An object-level document is a hierarchy of objects that conforms a PDF document. Facilities to get the objects from a document and to create new objects into a document are also provided. A cache of objects and a garbage collection algorithm is also implemented in this module.
Object Module
This module implements the several PDF objects and provides functions to manipulate the attributes of the objects associated with an object-level document.
Reader Module
This module implements the functionality to get PDF objects from a base-level stream. A lexer and a parser are used to transform PDF source code into the objects managed by a document-level document.
Writer Module
This module implements the functionality to create a textual version of PDF objects. The textual representation of objects are then written into a given base level stream.