Package: wnpp
Severity: wishlist

* Package name    : pdfio
  Version         : 1.4.0
  Upstream Author : Michael Sweet <msw...@msweet.org> (Author of CUPS)
* URL             : https://www.msweet.org/pdfio/
* License         : Apache-2.0-with-GPL2-LGPL2-Exception (same as CUPS)
  Programming Lang: C  (Just C, NOT C++)
  Description     : C library for reading, writing, and manipulating PDF files

PDFio is a library for reading, writing and manipulating PDF files, but not for rendering or displaying them. It is written by Michael Sweet, author of CUPS, mainly with the purpose to not have C++ (QPDF for example is written in C++) and also to have a more useful license (Mike chose the same license as for CUPS) than many other projects.

libcupsfilters uses QPDF for manipulation of print jobs in PDF format, like printing several pages on one sheet, printing only selected pages, ... It principally works, but there are some quirks, especially when making a Debian package of a C++ library the *.symbols file contains tons of ghost symbols which do not belong to the API and they even differ depending on the architecture, producing a maintenance nightmare. Therefore I decided to switch libcupsfilters from using QPDF to PDFio.

The needed investigations and coding on libcupsfilters were already done, in the following Google-Summer-of-Code project:

    Replace QPDF by PDFio as PDF manipulation library in libcupsfilters
    Contributor: Uddhav Phatak
https://medium.com/@uddhavphatak/gsoc-2024-final-report-the-refactor-report-a46756e9d6ce

The code is in the following Pull Request on libcupsfilters:

    https://github.com/OpenPrinting/libcupsfilters/pull/71

I will soon be finished and ready to merge and once I have merged it I will make a new release of libcupsfilters, version 2.2.0, which will use PDFio and therefore depend on it. This requires PDFio to be packaged in Debian.

As we need this package also in Ubuntu, I have already created and it can and should be used in Debian as well. You find it on my PPA:

    https://launchpad.net/~till-kamppeter/+archive/ubuntu/ppa
    https://launchpad.net/~till-kamppeter/+archive/ubuntu/ppa/+packages
https://launchpad.net/~till-kamppeter/+archive/ubuntu/ppa/+sourcefiles/pdfio/1.4.0-0ubuntu1~ppa1/pdfio_1.4.0.orig.tar.gz https://launchpad.net/~till-kamppeter/+archive/ubuntu/ppa/+sourcefiles/pdfio/1.4.0-0ubuntu1~ppa1/pdfio_1.4.0-0ubuntu1~ppa1.debian.tar.xz https://launchpad.net/~till-kamppeter/+archive/ubuntu/ppa/+sourcefiles/pdfio/1.4.0-0ubuntu1~ppa1/pdfio_1.4.0-0ubuntu1~ppa1.dsc

To avoid source tarball mismatches between Debian and Ubuntu please use the source tarball from the Launchpad link above.

As it is primarily used in the printing stack I recommend maintainership by the Debian Printing Team and Thorsten Alteholz.

   Till

Reply via email to