libpappl1_native 1.1.0

This package has a SemVer 2.0.0 package version: 1.1.0+4.
There is a newer version of this package available.
See the version list below for details.
dotnet add package libpappl1_native --version 1.1.0
NuGet\Install-Package libpappl1_native -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="libpappl1_native" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add libpappl1_native --version 1.1.0
#r "nuget: libpappl1_native, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install libpappl1_native as a Cake Addin
#addin nuget:?package=libpappl1_native&version=1.1.0

// Install libpappl1_native as a Cake Tool
#tool nuget:?package=libpappl1_native&version=1.1.0

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 has also developed a PostScript printer application using PAPPL to support the many otherwise unsupported PostScript and Ghostscript-based printers.

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.

Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.1 297 10/10/2023
1.4.0 242 9/29/2023
1.2.3 525 9/23/2022
1.2.2.2 490 9/22/2022
1.2.2.1 492 9/21/2022
1.2.2 446 8/10/2022
1.2.1 423 5/26/2022
1.2.0-b2 321 4/5/2022
1.2.0-b1 297 4/5/2022
1.1.0.9 320 11/19/2021
1.1.0.8 304 11/8/2021
1.1.0.7 350 9/29/2021
1.1.0.6 309 9/29/2021
1.1.0.5 339 9/24/2021
1.1.0 114 9/3/2021
1.1.0-b2 214 8/26/2021
1.1.0-b1 245 8/26/2021
1.1.0-b0 253 8/26/2021