User Tools

Site Tools


pdf:pdf4smalltalk

This is an old revision of the document!


PDF4Smalltalk

This is a Smalltalk library for PDF.
PDF files can be opened and all PDF objects are available as Smalltalk objects, which can be manipulated in any way you like. Likewise, any Smalltalk PDF object (net) can be written out as conforming PDF file.

This is a system library implementing the PDF specification (ISO standard PDF 32000-1:2008) in VisualWorks Smalltalk. The syntax is covered comprehensively, which means that any PDF file can be read and any PDF object can be written in a conforming way.

Most of the common PDF types are modeled explicitely as Smalltalk classes, while non-modeled types are represented by dictionaries.

The library code is annotated with the original descriptions and definitions from the specification, so that learning about PDF itself is well supported.

There is also a tool to inspect PDFs: the PDFExplorer.

Users of this library are programmers who need full control over any detail of PDFs.

Get started

The slides "PDF in Smalltalk" (a talk at ESUG 2011), give an overview of what this project is about.

Load the PDF Development bundle from the Cincom Public Store into your VisualWorks image.

Try the demos and examples.

To get the latest news and to participate in discussions, subscribe to the mailing list.

Documentation

The PDF specification is vast and this implementation covers only parts of it. Topics of interest:

  • Colors Usage of colorspaces and colors
  • 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.
  • PackageStructure Describes the structure of the bundles and packages in store and explains the meaning of it.
  • Porting Comments about issues around porting the library to another Smalltalk dialect.
  • Examples Various examples of Smalltalk generated PDF documents.

References

The project was discussed in a podcast (German) from Smalltalk Inspect (mentioned in Joachims Small World).

Bob Nemec is using the library to build a report generator!

History

March 2015

Gitorius is closing down. Therefore I decided to use my own webspace to host the PDF4Smalltalk documentation.

In the last 3 years, nothing much happened except for the occasional bug fix. But recently, I am more active again.

I am working on the ContentStream with, hopefully, leads to higher level objects like texts or graphical elements instead of a stream of graphics operators.

Since the project is on my own server now, I hope that I will program and write a bit more…

May 2012

This project was hosted at Origo until the end of Mai 2012. The wiki was recreated on Gitorius. Other contents was preserved as follows:

* The Blog was recreated on this wiki at Blog. Until another place is found to host the blog, the old contents is preserved here for reference.

* The static Forum contents has been reposted on the discussion list and can be seen in the archive.

* The issue tracker was not used much… so I dropped it with the old contents.

2011

Started at Origo

/var/www/virtual/code4hl/html/dokuwiki/data/attic/pdf/pdf4smalltalk.1427902136.txt.gz · Last modified: 2015/04/01 17:28 by christian