jPod PDF library

jPod PDF library

A library for reading, writing and manipulating PDF files.

See:
          Description

APP (PDF application level)
de.intarsys.pdf.app.acroform This package encapsulates the quite complex logic when filling forms.
de.intarsys.pdf.app.action Some application level framework to handle the event mechanics in a PDF document.
de.intarsys.pdf.app.annotation  
de.intarsys.pdf.app.appearance The "framework" for dealing with appearances.
de.intarsys.pdf.font.outlet This package summarizes the handling of fonts.

 

PD (PDF domain level)
de.intarsys.pdf.cds CDS (Common Data Structure) defines higher level data structures or types on top of COS types that are used all over the PDF spec.
de.intarsys.pdf.fd A basic implementation of the FDF part of the PDF spec.
de.intarsys.pdf.pd The higher level building blocks of a PDF document.

 

COS (basic data type level)
de.intarsys.pdf.content The "content" package contains functionality to work on PDF content streams.
de.intarsys.pdf.content.common Some common implementations on PDF content stream.
de.intarsys.pdf.content.text  
de.intarsys.pdf.cos This package implements the low level document and its datatypes according to the pdf specification.

 

IO (parsing and serializing)
de.intarsys.pdf.parser Everything related to reading PDF and COS data from data streams.
de.intarsys.pdf.writer Serializing a PDF document.

 

ST (storage level)
de.intarsys.pdf.st The storage level semantics of a PDF document.

 

Basic
de.intarsys.pdf.crypt This package implements the security relevant aspects of the PDF spec.
de.intarsys.pdf.encoding This package implements the encodings of the PDF spec.
de.intarsys.pdf.filter The filter relevant parts of the PDF spec.
de.intarsys.pdf.font The font part of the PDF is quite large for itself, so it is extracted to a package of its own.
de.intarsys.pdf.postscript A simple generated parser/interpreter for PDF embedded postscript.
de.intarsys.pdf.tools.kernel Tool classes for working with the kernel of the PDF implementation.

 

A library for reading, writing and manipulating PDF files.

Content

  1. Installation
  2. Overview
  3. Implementation Details
  4. License
  5. References
  6. Service and support

Installation

To use this implementation, you have to include the jar files in the "lib" directory in your classpath.

Overview

This is the "kernel" of the intarsys PDF implementation, containing the static model parts, datatypes and IO implementations. Using this kernel alone, you are able to read, manipulate and write PDF documents in any way you like. An impressive example is CABAReT Stage, built completely on top of this kernel. A couple of other layers and libraries will provide additional features to ease PDF document handling. Here is a (incomplete) Feature List for this implementation:

Implementation Details

There are some common patterns throughout this implementation.


* still incomplete list *

Factories

A factory decouples semantics from concrete implementation. Our factories use always an interface using the name "I[name]Factory". A singleton implementation with the name "[name]Factory" provides getter and setter to access this factory. In most cases a standard implementation is provided, named "Standard[name]Factory".

License

This library is released under a BSD style license. The license is included with the sources and at numerous other places, for example here:
/*
 * Copyright (c) 2007, intarsys consulting GmbH
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer.
 *
 * - Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 *
 * - Neither the name of intarsys nor the names of its contributors may be used
 *   to endorse or promote products derived from this software without specific
 *   prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
As far as we need 3rd party components, the respective licenses are included in the "3rd_party_licenses" directory.

References

jPod intarsys PDF library is a stable, industrial strength java library to access or generate PDF documents. Currently it is used in different products, e.g.:

Service & Support

If you need further support, feel free to contact us. intarsys consulting GmbH
Bahnhofplatz 8
76137 Karlsruhe
Fon +49 721 38479-0
Fax +49 721 38479-60
info@intarsys.de
www.intarsys.de

For service and support contact

  1. EMail support: support@intarsys.de


jPod PDF library

Copyright © 2008 intarsys consulting GmbH. All Rights Reserved.