disponible in Savannah: download
What is PHP::PRINT::IPP ?
PrintIPP or PHP::PRINT::IPP is a set of PHP classes (PHP5) which implements an IPP/1.1 (Internet Printing Protocol, version 1.1) client.
PHP::PRINT:IPP has been not designed to cope with IPP/2.0, 2.1 and 2.2. Moreother, these IPP versions (which are just 3 different uses cases, with 2.2 as plain functionality) are still in developpement at the "Printer Working Group" which mainly focuses on consumers services from acquisition (scan, ...) to print, describing uses cases and graphical user interface behavior. If unlikely a triple IPP/2.x would be published through IETF standard process (RFCs), I hope the current complete mess between a protocol definition, GUI and uses cases will be avoided.
PHP::PRINT::IPP, is able to print (send to the IPP server) both strings and files, cancel jobs, as well as perform all RFC2911 operations.
There is also a CUPS™sub-class for the Common Unix Printing System server specific stuff. This class is quite outdated regarding new CUPS functions.
PHP::PRINT::IPP is distributed under GNU LGPL. Thus, it is a "Free Software".
Currently, it is able to print both strings and files on an IPP 1.1 server, parses server's response, cancels jobs, and perform all REQUIRED and OPTIONAL operations from RFC2911. CUPS extension have following operations: cupsGetDefaults (get default printer attributes), cupsAcceptJobs, cupsRejectJobs (reject jobs for given printer), cupsGetPrinters (get printers list).
- The protocol version is IPP/1.1,
- It is currently tested only with CUPS and a few print servers. Please report if it is working with other servers to the email@example.com mailing list.
- SSL/TLS works with CUPS but is not capable of upgrade from standard HTTP connection (TLS upgrade is mandatory regarding specs, apologies...). If you need TLS with CUPS-1.1, please set up "SSLPort" to a dedicated port in cupsd.conf (CUPS 1.2 seems to work well without that setting).
Please report any bug or feature request to PHP::PRINT::IPP project page https://savannah.nongnu.org/projects/phpprintipp
It depends on http_class.php, which is shipped with. http_class.php is stable enough, but handles only "Digest" and "Basic" authentication, and is not capable of "upgrade" operation.
It is complex, but logical :)
Tarballs can be found here.
You'll find Debian packages here.
Anonymous cvs: cvs -z3 -d:pserver:firstname.lastname@example.org:/sources/phpprintipp co phpprintipp
You can also browse CVS at http://cvs.savannah.gnu.org/viewvc/?root=phpprintipp
On line user documentation is here.
Installation instructions are here.
Post your requests to the mailing list email@example.com.
Tests / examples
Various examples are given in "./testfiles" tarball directory.
There are also working examples in "./bin" and "./www" directories of the tarball, included PHP/HTML web interfaces and a CLI one.
Tested Print servers
- TRENDnet TE100-P1P
- EPSON EpsonNet (C823782)