This repo contains scripts for building a database of all the Postscript Printer Definition (PPD) files used by Chrome OS.
Chrome OS uses CUPS to support printing. CUPS is very versatile software, but for situations where it can't automatically configure a printer on its own, PPD files are used instead. This is commonly needed for older printers which do not support driverless printing protocols like IPP Everywhere.
Google keeps a database of ~7000 PPD files which provide support for ~22100 different printer models. These files are hosted on https://printerconfigurations.googleusercontent.com, and PPDs are downloaded as needed from there.
This project downloads the entirety of Google's PPD database and exports it in a single ZIP file. Prebuilt versions can be downloaded from the releases page.
Clone this repository, create a Python venv, and install dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
Run the script:
python3 main.py
Generated data will be located at data/ppd.zip
.
MercuryWorkshop/chromeos-ppd: Database for Chrome OS PPD files
Copyright (C) 2025 ading2210
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.