All Projects → michaelrsweet → Pappl

michaelrsweet / Pappl

Licence: apache-2.0
PAPPL - Printer Application Framework

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Pappl

Next Img
A Next.js plugin for embedding optimized images.
Stars: ✭ 149 (-22.4%)
Mutual labels:  png, jpeg
Image Optimizer
Easily optimize images using PHP
Stars: ✭ 2,127 (+1007.81%)
Mutual labels:  png, jpeg
Azpainter
Full color painting software for Unix-like systems for illustration drawing. This is un-official little fixed repository for package maintainers of image editor AzPainter (based on "mlib" toolkit). Official repository - http://azsky2.html.xdomain.jp/arc/download.html
Stars: ✭ 179 (-6.77%)
Mutual labels:  png, jpeg
Metadata Extractor
Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Stars: ✭ 1,972 (+927.08%)
Mutual labels:  png, jpeg
Bbwebimage
A high performance Swift library for downloading, caching and editing web images asynchronously.
Stars: ✭ 128 (-33.33%)
Mutual labels:  png, jpeg
Optimise Images
Batch image resizer, optimiser and profiler using ImageMagick convert, OptiPNG, JpegOptim and optional ZopfliPNG, Guetzli and MozJPEG.
Stars: ✭ 64 (-66.67%)
Mutual labels:  png, jpeg
Pyecharts Snapshot
renders the output of pyecharts as png, jpeg, gif, svg, eps, pdf and raw base64
Stars: ✭ 142 (-26.04%)
Mutual labels:  png, jpeg
Format parser
file metadata parsing, done cheap
Stars: ✭ 46 (-76.04%)
Mutual labels:  png, jpeg
Lilliput
Resize images and animated GIFs in Go
Stars: ✭ 1,690 (+780.21%)
Mutual labels:  png, jpeg
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+626.04%)
Mutual labels:  png, jpeg
Caesium Clt
Caesium Command Line Tools - Lossy/lossless image compression tool using mozjpeg and zopflipng
Stars: ✭ 149 (-22.4%)
Mutual labels:  png, jpeg
Convert Svg
Node.js packages for converting SVG into other formats using headless Chromium
Stars: ✭ 133 (-30.73%)
Mutual labels:  png, jpeg
Omxiv
OpenMax image viewer for the Raspberry Pi
Stars: ✭ 175 (-8.85%)
Mutual labels:  png, jpeg
Dareblopy
Data Reading Blocks for Python
Stars: ✭ 82 (-57.29%)
Mutual labels:  png, jpeg
Tiny Site
图片优化
Stars: ✭ 65 (-66.15%)
Mutual labels:  png, jpeg
Doctron
Docker-powered html convert to pdf(html2pdf), html to image(html2image like jpeg,png),which using chrome(golang) kernel, add watermarks to pdf, convert pdf to images etc.
Stars: ✭ 141 (-26.56%)
Mutual labels:  png, jpeg
Stegify
🔍 Go tool for LSB steganography, capable of hiding any file within an image.
Stars: ✭ 927 (+382.81%)
Mutual labels:  png, jpeg
Imageio
画像の入出力
Stars: ✭ 9 (-95.31%)
Mutual labels:  png, jpeg
Blooddy crypto
ActionScript (AS3) library for processing binary data. This library contains MD5, SHA-1, SHA-2 ( SHA-224 и SHA-256 ), Base64, CRC32 algorithms, JSON encoder & decoder as well as PNG and JPEG encoders.
Stars: ✭ 83 (-56.77%)
Mutual labels:  png, jpeg
Markdown Themeable Pdf
ARCHIVED. NOT MAINTAINED. Themeable Markdown Converter (Print to PDF, HTML, JPEG or PNG)
Stars: ✭ 130 (-32.29%)
Mutual labels:  png, jpeg

PAPPL - Printer Application Framework

Version Apache 2.0 Build Codacy Badge Coverity Scan Status LGTM Grade LGTM Alerts

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 (https://www.lakesiderobotics.ca).

My hope is that PAPPL will accelerate the adoption of IPP Everywhere™ and make it easier for people to support other IPP-based licensing programs like AirPrint™ and Mopria®.

Requirements

PAPPL requires a POSIX-compliant host operating system such as Linux®, macOS®, QNX®, or VxWorks®, 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. It also requires the following support libraries:

  • Avahi 0.8 or later (except on macOS) for mDNS/DNS-SD support
  • CUPS 2.2 or later for the CUPS libraries
  • GNU TLS 3.0 or later (except on macOS) for TLS support
  • JPEGLIB 9 or later for JPEG image support (optional for B&W printers)
  • LIBPNG 1.6 or later for PNG image support (optional)
  • LIBUSB 1.0 or later for USB printing support
  • PAM for authentication support (optional)
  • ZLIB 1.1 or later for compression support

Most development happens on a Mac, with testing on various Linux distributions 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 is also developing a PostScript printer application using PAPPL to support the many otherwise unsupported PostScript and Ghostscript-based printers.

Legal Stuff

PAPPL is Copyright © 2019-2021 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].