User Tools

Site Tools


gsoc:google-summer-code-2024-openprinting-projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
gsoc:google-summer-code-2024-openprinting-projects [2024/01/18 03:59]
till
gsoc:google-summer-code-2024-openprinting-projects [2024/01/20 03:15]
till
Line 26: Line 26:
 ====Videos/​Podcasts==== ====Videos/​Podcasts====
  
-  * [[https://​www.youtube.com/​watch?​v=diB3wm4HB1Y|Ubuntu Office Hours: Till Kamppeter and Aveek Basu about the Google Summer of Code]] 
-  * [[https://​www.youtube.com/​watch?​v=P22DOu_ahBo|Ubuntu Indaba: Till Kamppeter and Michael Sweet about the New Architecture]] 
   * [[https://​youtu.be/​CLEMiM0L2Jk|Destination Linux: Till Kamppeter and Michael Sweet about the history of OpenPrinting]]   * [[https://​youtu.be/​CLEMiM0L2Jk|Destination Linux: Till Kamppeter and Michael Sweet about the history of OpenPrinting]]
 +  * [[https://​www.youtube.com/​watch?​v=P22DOu_ahBo|Ubuntu Indaba: Till Kamppeter and Michael Sweet about the New Architecture]]
 +  * [[https://​www.youtube.com/​watch?​v=diB3wm4HB1Y|Ubuntu Office Hours: Till Kamppeter and Aveek Basu about the Google Summer of Code]]
 +  * [[https://​www.youtube.com/​watch?​v=RbgXmDjxYa4|Ubuntu Summit 2022: Till Kamppeter hosting an OpenPrinting panel with Zdenek Dohnal, Johannes Meixner, Aveek Basu, and Deepak Patankar]]
   * [[https://​podcast.asknoahshow.com/​368?​t=2837|Ask Noah: Till Kamppeter on how OpenPrinting improved printing with Linux/​Unix]]   * [[https://​podcast.asknoahshow.com/​368?​t=2837|Ask Noah: Till Kamppeter on how OpenPrinting improved printing with Linux/​Unix]]
   * [[https://​www.youtube.com/​watch?​v=m5QKJH9tDjQ|Linux Saloon: Till Kamppeter about how he got Snap enthusiast]]   * [[https://​www.youtube.com/​watch?​v=m5QKJH9tDjQ|Linux Saloon: Till Kamppeter about how he got Snap enthusiast]]
Line 75: Line 76:
 So we are going to replace SANE in the role of an interface between scanning user applications and scanner drivers by the sandboxing-ready eSCL. SANE will continue to exist, but to provide the legacy scanner drivers enclosed in a Scanner Application. So we are going to replace SANE in the role of an interface between scanning user applications and scanner drivers by the sandboxing-ready eSCL. SANE will continue to exist, but to provide the legacy scanner drivers enclosed in a Scanner Application.
  
-Work on extending the Printer Application framework [[https://​github.com/​michaelrsweet/​pappl/​|PAPPL]] has already been [[https://​github.com/​Bhavna2020/​GSoC-2021|started in GSoC 2021]] and [[https://​gist.github.com/​Rishabh-792/​b1a2960b7e0e3d2bd3a5f4db3d260fc0|continued in GSoC 2022]].+Work on extending the Printer Application framework [[https://​github.com/​michaelrsweet/​pappl/​|PAPPL]] has already been started in GSoC [[https://​github.com/​Bhavna2020/​GSoC-2021|2021]] and continued in GSoC [[https://​gist.github.com/​Rishabh-792/​b1a2960b7e0e3d2bd3a5f4db3d260fc0|2022]] and [[https://​dev.to/​kappuccino111/​sandboxing-scanners-a-leap-into-the-driverless-realm-gsoc-23-report-3eci|2023]].
  
 ====Desktop Integration==== ====Desktop Integration====
Line 116: Line 117:
   * [[https://​github.com/​OpenPrinting/​ghostscript-printer-app/​|Ghostscript Printer Application]] - Printer Application for printers using Ghostscript (and many other) drivers ([[https://​snapcraft.io/​ghostscript-printer-app|in the Snap Store]])   * [[https://​github.com/​OpenPrinting/​ghostscript-printer-app/​|Ghostscript Printer Application]] - Printer Application for printers using Ghostscript (and many other) drivers ([[https://​snapcraft.io/​ghostscript-printer-app|in the Snap Store]])
   * [[https://​github.com/​OpenPrinting/​hplip-printer-app/​|HPLIP Printer Application]] - Printer Application for most HP Printers ([[https://​snapcraft.io/​hplip-printer-app|in the Snap Store]])   * [[https://​github.com/​OpenPrinting/​hplip-printer-app/​|HPLIP Printer Application]] - Printer Application for most HP Printers ([[https://​snapcraft.io/​hplip-printer-app|in the Snap Store]])
-  * [[https://​github.com/​OpenPrinting/​gutenprint-printer-app/​|Gutenprint Printer Application]] - Printer Application for hig-quality printing on Epson, Canon, and other inkjets and on many dye-sublimation printers ([[https://​snapcraft.io/​gutenprint-printer-app|in the Snap Store]])+  * [[https://​github.com/​OpenPrinting/​gutenprint-printer-app/​|Gutenprint Printer Application]] - Printer Application for high-quality printing on Epson, Canon, and other inkjets and on many dye-sublimation printers ([[https://​snapcraft.io/​gutenprint-printer-app|in the Snap Store]])
   * [[https://​github.com/​michaelrsweet/​lprint/​|LPrint]] - Printer Application for label printers ([[https://​snapcraft.io/​lprint|in the Snap Store]])   * [[https://​github.com/​michaelrsweet/​lprint/​|LPrint]] - Printer Application for label printers ([[https://​snapcraft.io/​lprint|in the Snap Store]])
   * [[https://​github.com/​alexpevzner/​sane-airscan/​|sane-airscan]] - The "​airscan"​ SANE backend, supports driverless eSCL and WSD scanning, IPP Scan support is planned   * [[https://​github.com/​alexpevzner/​sane-airscan/​|sane-airscan]] - The "​airscan"​ SANE backend, supports driverless eSCL and WSD scanning, IPP Scan support is planned
Line 130: Line 131:
  
 ======Project Ideas====== ======Project Ideas======
 +
 +=====Desktop integration:​ CPDB support for the print dialogs of Mozilla (Thunderbird/​Firefox) and LibreOffice=====
 +
 +=====Desktop Integration:​ Update system-config-printer for the New Architecture of printing=====
 +
 +=====Desktop Integration:​ User interfaces for using OAuth2 with printers and scanners=====
 +
 +=====Replace QPDF by PDFio as PDF manipulation library in libcupsfilters (cfFilterPDFToPDF() filter function and others)=====
 +
 +1 contributor full-size (350 hours).
 +
 +Like [[https://​openprinting.github.io/​cups/​|CUPS]],​ [[https://​github.com/​OpenPrinting/​libcupsfilters|libcupsfilters]] is principally written in regular C and not in %%C++%%. We want to avoid %%C++%% as it has often problems with binary compatibility and the mechanism with which the Debian/​Ubuntu build services auto-detect dependencies between Debian packages get very awkward with %%C++%%.
 +
 +But libcupsfilters still depends on one library which is written in %%C++%%, [[https://​github.com/​qpdf/​qpdf/​|QPDF]],​ a library for manipulating PDF files: Scaling up and down, moving around on the page, rotating, combining several source pages on one destination page, turning filled PDF forms into straight PDF, ... QPDF is used by the filter functions cfFilterPDFToPDF(),​ cfFilterBannerToPDF(),​ cfFilterGSToRaster(),​ and cfFilterRasterToPDF().
 +
 +Michael Sweet, author of CUPS, has some years ago started the [[https://​www.msweet.org/​pdfio/​|PDFio]] project. This is a PDF handling and manipulation library, as QPDF is, but it is fully written in standard, regular C, not in %%C++%%.
 +
 +Therefore we want to replace the use of QPDF by PDFio and this is what this GSoC project is about.
 +
 +But for such a switchover we must take into account that QPDF is a complex and sophisticated project with a lot of features (it got even new features by two GSoC projects of OpenPrinting) while PDFio is a young project run as one of the many small projects by Michael Sweet and we must be very careful to see whether it does not miss any important feature. Especially we must look after correct printing of filled-in PDF forms and PDF annotations.
 +
 +So part of the project will be investigation of suitability and perhaps also work with Mike to get needed features added. And after the switchover thorough testing is needed to avoid any regressions after this impactful change.
 +
 +Mentors: Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Michael Sweet, author of CUPS and PAPPL (msweet at msweet dot org), Ira McDonald (blueroofmusic at gmail dot com), TBD
 +
 +Desired knowledge: %%C/C++%%, CUPS
 +
 +Code License: Apache 2.0
 +
 +
 +=====CPDB backend for IPP infrastructure/​cloud printers=====
 +
 +=====Turn cups-browsed into a Printer Application=====
 +
 +=====Printer Application for Braille embossers=====
 +
  
 =====Adding support for the new functionality/​attributes of IPP Everywhere 2.x to libcupsfilters and the Common Print Dialog Backends (CPDB)===== =====Adding support for the new functionality/​attributes of IPP Everywhere 2.x to libcupsfilters and the Common Print Dialog Backends (CPDB)=====
gsoc/google-summer-code-2024-openprinting-projects.txt ยท Last modified: 2024/04/01 09:28 by till