Proton is a HTML to PDF renderer service that uses a headless Chromium process remote-controlled by Puppeteer.
It was written by Readers Web as part of a project to sunset OfflineContentGenerator and building a new PDF renderer. Readers Web were responsible for the creation and initial implementation of the service. As of T210652#4948225, Reading Infrastructure are responsible for maintaining the service.
The product requirements for the new PDF renderer can be found here: https://www.mediawiki.org/wiki/Reading/Web/PDF_Functionality. A technical overview of the Proton service can be found here: https://wikitech.wikimedia.org/wiki/Proton.
This project tasks are triaged as part of the #reading-infrastructure-team-backlog process, so the work board is disabled.
The PDF creation stack, as of August 2020:
- The Electron-PDFs extension (docs) provides the "Download as PDF" link and the Special:DownloadAsPdf page.
- The Proton (docs) service generates PDF files. It essentially uses the output of /api/rest_v1/page/pdf/ which uses https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/services/chromium-render
- Issues with the MediaWiki print CSS rendering and styling (example) fall under Browser-support-print-media