百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pappl

> 编程语言
开源

PAPPL - 打印机应用程序框架

347 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

PAPPL - 打印机应用程序框架

PAPPL - Printer Application Framework

PAPPL is a simple C-based framework/library for developing CUPS Printer Applications, which are the recommended replacement for printer drivers. It was specifically developed to support LPrint and a future Gutenprint Printer Application but is sufficiently general purpose to support any kind of printer or driver that can be used on desktops, servers, and in embedded environments.

PAPPL supports JPEG, PNG, PWG Raster, Apple Raster, and "raw" printing to printers connected via USB and network (AppSocket/JetDirect) connections. PAPPL provides an embedded IPP Everywhere™ service that provides access to printers locally or on your whole network.

PAPPL is licensed under the Apache License Version 2.0 with an exception to allow linking against GPL2/LGPL2 software (like older versions of CUPS), so it can be used freely in any project you'd like. If you want to support the development of this framework financially, please consider sponsoring me through Github. I am also available to do consulting and/or development through my company Lakeside Robotics ().

PAPPL is helping to accelerate the adoption of IPP Everywhere™ and is making it easier for developers to support other IPP-based licensing programs like AirPrint™ and Mopria®.

Requirements

PAPPL requires Microsoft® Windows® 10 or higher or a POSIX-compliant host operating system such as Linux®, macOS®, QNX®, or VxWorks®. On Windows, the provided project files require Visual Studio 2019 or higher. For POSIX hosts, a "make" utility that supports the include directive (like GNU make), a C99-compatible C compiler such as GCC or Clang, and the "pkg-config" utility are required along with the following support libraries:

  • Avahi (0.8 or later) or mDNSResponder for mDNS/DNS-SD support
  • libcups (3.0 or later) or CUPS (2.5 or later) for the CUPS libraries
  • GNU TLS (3.0 or later), LibreSSL (3.0 or later), or OpenSSL (1.1 or later) for TLS support
  • JPEGLIB (8 or later) or libjpeg-turbo (2.0 or later) for JPEG image support (optional for B&W printers)
  • LIBPNG (1.6 or later) for PNG image support (optional)
  • LIBPAM for authentication support (optional)
  • LIBUSB (1.0 or later) for USB printing support (optional)
  • ZLIB (1.1 or later) for compression support

Most development happens on Intel and Apple Silicon Macs, with testing on various Linux distributions, Windows 10+, and a Raspberry Pi Zero W to ensure that memory and CPU requirements remain low.

Documentation and Examples

Documentation can be found in the "doc" and "man" directories.

The OpenPrinting group has written a tutorial showing how to migrate the rastertohp driver from CUPS to a Printer Application using PAPPL, which can be used as a recipe for migrating any CUPS driver. This example is available in the hp-printer-app project and is also discussed in the PAPPL documentation.

The OpenPrinting group has also developed a PostScript printer application using PAPPL to support the many otherwise unsupported PostScript and Ghostscript-based printers.

Contributing Code and Translations

Code contributions should be submitted as pull requests on the Github site:

http://github.com/michaelrsweet/pappl/pulls

See the file "CONTRIBUTING.md" for more details.

PAPPL uses Weblate to manage the localization of the web interface and IPP attributes and values shared by all printer applications, and those likewise end up as pull requests on Github.

Legal Stuff

PAPPL is Copyright © 2019-2026 by Michael R Sweet.

This software is licensed under the Apache License Version 2.0 with an (optional) exception to allow linking against GPL2/LGPL2 software (like older versions of CUPS). See the files "LICENSE" and "NOTICE" for more information.

This software is based loosely on the "ippeveprinter.c" code from CUPS.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Cairprintapple-rasterccups

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月18日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言