PoDoFo 0.9.0 is out, refactored and enhanced

New version of PoDoFo library is out with lots of internal changes as well as several useful new features.

There are three major changes in this version, as well as beginnings of new some features.

First of all, the PoDoFo architecture got a complete overhaul, started a while before releasing the previous version. Also, since this version there is just one library called libpodofo now, thus making podofo-base and podofo-doc libs rest in peace.

The second major change is a new tool called podofocolor which can convert colors in a PDF file following certain rules. For rules definition you can use Lua. The tools/podofocolor/example.lua file contains several samples: IsNearlyTheSameRGB, IsNearlyGray, ConvertRGBToGrayscale and ConvertRGBToCmyk.

Finally, the source code now has a much better coverage by unit tests which helps identifying regressions and is most helpful to developers, not users.

The list of smaller changes goes like this:

  • a TIFF predictor was implemented, and predictor implementation was fixed;
  • several memory leaks and crashes were fixed;
  • PoDoFos garbage collection for PDF files is now available through the public API, a small tool called podofogc was added for testing it;
  • Type1 subsetting was implemented, and Type1 embedding was fixed by Ulrich Arnold;
  • initial support for PDF signing was added by Petr Pytelka
  • compilation with libpng 1.5 was fixed;
  • several font issues were fixed by Nenad Novak, and width key from font metrics is now read thanks to Petr Pytelka;
  • man pages, contributed by Scribus developer Oleksandr Moskalenko.

PoDoFo is currently available as source code archive. You can find packages of 0.9.0 already for SUSE Enterprise Linux, OpenSUSE, Mandriva and Fedora in Scribus repositories. Packages for Debian and Ubuntu are expected within next few days. There is also a build for Puppy Linux by dingodog available.

PoDoFo is used by applications like Scribus (EPS and PDF embedding, AI v9+ importing) and Fontmatrix. Apart from being a library, PoDoFo has several console tools useful for mere mortals like you and me: cropping, merging and impositioning of PDFs and suchlike.

Download source code

Was it useful? There's more:

5 Responses. Comments closed for this entry.

  1. podofocolor was a great addition for podofo tools!

    I built yesterday and I tried both grayscale and cmyk conversion (via
    example.lua file provided with sourcecode)

    gray scale conversion method works very fine, no problems

    but cmyk (performed via example.lua file)

    podofocolor lua example.lua rgb_source.pdf cmyk_podofocolor.pdf 

    presents problems:

    I tested with pitstop and other preflight programs for industrial offset
    prepress and the message is:

    ———————————————————————————————
    Number of plates 4
    Plates (Cyan) (Magenta) (Yellow) (Black)
    ==
    Problems:
    11 matches Uses RGB color

    Uses RGB color : Base color space =DeviceRGB
    ———————————————————————————————

    I attach dummy RGB pdf used for conversion, resulting pdf from
    podofocolor cmyk conversion and example.lua

    example.lua: http://ifile.it/o1ig3l5
    rgb_source pdf : http://ifile.it/o02tixr
    resulting output of podofocolor: http://ifile.it/ej4s3od

  2. Yep, saw your mail in podofo-users@ :) Hopefully Dominic will reply soon. I think I had to make a remark in the news that podofocolor is really in its infancy. But then the more testing it gets, the sooner it matures. So thank you!

  3. many thanks for quick reply and interest

    Since its beginnings, I was a great fan and user of podofo tools

    the good news is that grayscale conversion performed by podofocolor has passed both callas preflight and sheridan industries prepress verify

    this is very useful for OpenOffice users, because it has a serious bug when exports in pdf format: internal colospace is always settled in RGB, while professional printing machines need a cmyk profile (also if only black is used; so must be 0 % C 0% M 0% y and 100% K)

    *Bug 3210 -  CMYK printing*
    - http://openoffice.org/bugzilla/show_bug.cgi?id=3210
    ==
    *Bug 81097 -  pdf export - selection of text coding (CMYK or RGB )*
    - http://openoffice.org/bugzilla/show_bug.cgi?id=81097

    podofocolor may be the ideal workaround, since these bugs are not too taken seriously by openoffice developers

  4. another little request

    as Puppy Linux user, I compiled for Puppy 3.01-4.3.x

    *podofo 0.9.0*
    - http://goo.gl/IL8D5

    you can add to binaries packages available

  5. Well, I’m not team member to mention this on the project’s website, but the link is added to news here now :)