Skip to content

Google Summer of Code 2018 | The Linux Foundation | Improving bannertopdf filter to use QPDF instead of Poppler APIs

Sahil Arora edited this page Aug 13, 2018 · 4 revisions

Introduction

image

This repository is a part of the project Improving bannertopdf filter to use QPDF instead of Poppler APIs done during the Google Summer of Code Program, 2018 under the mentorship of The Linux Foundation as the mentoring organization.

About Me

I am Sahil Arora, and I am an alumni of Indian Institute of Technology, Mandi. This is my second year of taking part in Google Summer of Code Program, and last year my project dealt with adding PCLm support to cups-filters.

Mentors

  1. Till Kamppeter: Till Kamppeter was invited in 2006 to work for the Free Standards Group (now The Linux Foundation) merging http://linuxprinting.org into OpenPrinting and leading the OpenPrinting project full time. With OpenPrinting, he leads the development of new printing architectures, technologies, printing infrastructure, and interface standards for Linux and Unix-style operating systems. For this, he is in contact with the leading printer manufacturers, all relevant free software projects, and the distribution vendors. Till is also a distinguished Linux Foundation Fellow.
  1. Jay Berkenbilt: Jay is the creator and maintainer of the widely used QPDF library. He is currently the Principal Release Manager at Appian.

Acknowledgements

I would like to express my sincere vote of thanks to my mentors, Till and Jay, for being extremely supportive throughout the project. I would also like to thank Tobias Hoffman, one of the contributors to cups-filters, for his extremely valuable inputs without which the project could not have been complete. Lastly, I would like to express my gratitide to Aveek Basu (basu [dot] aveek [at] gmail [dot] com), who found me last year during the Google Summer of Code selections, and for selecting me to contribute to such great projects.

About CUPS and CUPS-FILTERS

CUPS is the standards-based, open source printing system developed by Apple Inc. for macOS® and other UNIX®-like operating systems. CUPS uses the Internet Printing Protocol (IPP) to support printing to local and network printers. CUPS is the primary printing software. CUPS-FILTERS is a software which is shipped with CUPS and is mainly responsible for, as the name suggests, filtering the data that goes to the printer, for example converting the print file to a format supported by the printer, getting IPP attributes from the printer, etc.

About the project

How does it impact

Challenges

Achievements

Code Links

Footnotes

cups-filters

cups-filters got split out of CUPS for CUPS version 1.6.x, containing the filters and backends which Apple does not need for Mac OS X and therefore did not want to maintain anymore. Till Kamppeter had overtaken this part as an OpenPrinting project named cups-filters. He added cups-browsed as CUPS itself did not automatically make remote CUPS queues available locally anymore. He also took maintainership on all CUPS features which Apple has given up. With the time, cups-filters got improved cups-filters, especially switched to a PDF-based printing workflow, added legacy CUPS broadcasting/browsing, sophisticated filtering of remote printers, auto setup of remote IPP printers, driverless printing, etc., and all the time kept it compatible with new CUPS features.