intarsys PDF library API

Package de.intarsys.pdf.cos

This package implements the low level document and its datatypes according to the pdf specification.

See:
          Description

Interface Summary
ICOSContainer A low level interface for polymorphic access to an object containing a COSObject.
ICOSDocumentFactory An object that is able to create a COSDocument with the help of a locator object that designates the physical source.
ICOSDocumentListener A listener for changes in a COSDocument.
ICOSExceptionHandler An object that can handle exceptions encountered when dealing with COSObject instances.
ICOSMonitor  
ICOSObjectListener A listener for changes in a COSObject.
ICOSObjectVisitor An interface for visiting a COS object structure.
ICOSProxyVisitor An interface for visiting a proxy to a COSObject
 

Class Summary
COSArray A COSArray represents an indexed collection of COSDocumentElement instances.
COSBasedObject The abstract superclass for all objects/data structures that are build on the basic COSObject types.
COSBasedObject.MetaClass The meta class implementation
COSBoolean Abstract class for the representation of boolean values
COSCatalog The document catalog object of the PDF document.
COSCatalog.MetaClass The meta class implementation
COSCompositeObject A superclass implementation for all containers of other COSObject instances.
COSDictionary Represents a collection of associations (Map).
COSDictionary.Entry  
COSDocument This is a COS level representation of a pdf document.
COSDocumentElement This is a cos level representation of the elements that may be contained in a cos container.
COSDocumentFactory The VM singleton for accessing a ICOSDocumentFactory.
COSFalse Represents the boolean value "false".
COSFixed Represents floating point numbers in pdf.
COSIndirectObject An object representing an indirect object within a COSDocument.
COSInfoDict The document information dictionary..
COSInfoDict.MetaClass The meta class implementation
COSInteger This class represents integer numbers in pdf
COSName A name object.
COSNull The null object
COSNumber Abstract superclass for numeric objects in a pdf document
COSObject Abstract superclass for all COS level object types
COSObjectKey An object that is used as a lookup key for COS objects.
COSObjectProxy A "proxy object" used to intercept the visitor callback from the serializer.
COSObjectWalkerDeep Adapter implementation for visiting a COS object structure, including indirect references.
COSObjectWalkerShallow Adapter implementation for visiting a COS object structure without navigating the indirect references.
COSPrimitiveObject Primitive COS datatypes.
COSStream An object representing stream data in a PDF document.
COSString The string representation for a pdf document
COSTools Some tools to ease life with COS.
COSTrailer The document trailer.
COSTrailer.MetaClass The meta class implementation
COSTrue Represents the boolean value "true"
MetaClass  
StandardDocumentFactory A simple factory that creates a new document from the locator.
 

Exception Summary
COSRuntimeException An exception indicating an unexpected COS related error at runtime.
COSSwapException An exception while swapping a COSObject.
COSVisitorException An exceptional condition while performing an ICOSObjectVisitor.
 

Package de.intarsys.pdf.cos Description

This package implements the low level document and its datatypes according to the pdf specification.

Every PDF document is finally composed using COS primitive and composite objects. These objects are aggregated to a COSDocument. The available primitives are

COS objects are composed using Kind of hybrid structure is a

This implementation uses a special object representing "null", COSNull. A lookup in a composite will never return an ordinary Java null, always COSNull, so you are never forced to check (obj == null || obj.isFoo()). Another useful convention is the "marshalling" using the "as" flavor of methods. This methods will return either Java "null" or an instance of the requested type. These conventions help around the sometimes lazy implemented data structures of the PDF documents available out there.

In a COS structure, other standalone objects and substructures can be referenced. This is represented using COSIndirectObject. An indirect object is not returned by the standard accessors or iterators from composite COS objects, you will always receive the dereferenced COS object. To access the reference itself, you have to use the "basic" flavor of methods.

Based on these purely technical objects without PDF domain specific behavior the meaningful data types like "Rectangle", "Page" and so on are defined. This is reflected in the framework provided by COSBasedObject, the super class for all PDF domain objects. Only a few are defined directly in the COS level itself, the most of them are found in the "pd" package.

While this seems not to be too complicated, this implementation is a quite complex and powerful one, supporting things like


intarsys PDF library API

Copyright © 2006 intarsys consulting GmbH. All Rights Reserved.