User Tools

Site Tools


Documentation for the PDFtalk library

The PDF specification is extensive. The implementation covers the core mechanisms to read and write PDF objects in a conforming way. This is comparable to the virtual machine and core classes in Smalltalk. Many of the PDF features and possibilities are implemented by sets of PDF types and a clear definition of their structure and interplay. This compares to class libraries in Smalltalk.

PDF has many features which are more or less independent from each other. Implementing a PDF feature with the PDFtalk library means to define classes for each relevant PDF type for the feature and providing some automations or helpers for constructing the proper structures.

Some simple features are implemented by the library apart from the core mechanisms. Many others are not. For an overview see the state of the implementation. The documentation here is not comprehensive and covers only a few topics.

Using the library

  • Text Shows how to put text on a page.
  • Colors Usage of colorspaces and colors
  • Images Bitmapped images in PDF
  • Examples Various examples of Smalltalk generated PDF documents.

About the library

  • Implementation Notes the state of the implementation of the features structured along the specification chapters.
  • Typing PDF attributes are typed. To make use of this, the typing system was implemented. Since this is complex, it deserves its own topic.
  • Extending How to add a new PDF Object to the library from the specification.
  • Monsters Some PDF writers are not implementing the specification properly. Some of the problems encountered in the wild are dicussed here.
  • Complex Values The paper and slides about the basic values framework.

Brief descriptions of the releases are documented in the History of the project.

documentation.txt · Last modified: 2021/07/13 16:08 by christian

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki