Net::CUPS - Common Unix Printing System Interface
use Net::CUPS; my $cups = Net::CUPS->new(); my $printer = $cups->getDestination( "lj4200dn" );
Net::CUPS is an object oriented interface to the Common Unix Printing System.
my $printer = $cups->getDestination( $printer_name );
This method takes the name of the printer to acquire. If the printer does not exist it will return nothing.
my @printers = $cups->getDestinations();
This method will return an array of destinations currently configured on the cups server.
my $password = $cups->getPassword( $prompt );
Method to retrieve the password from the user via the password callback.
my $ppd = $cups->getPPD( $name );
Returns a Net::CUPS::PPD object for the default printer or for the specified printer or class.
my $makes = $cups->getPPDMakes();
Returns an arrary of scalers holding the names of all the makers (e.g. HP or Lexmark) of PPD files installed on the CUPS server
my $ppds = $cups->getAllPPDs();
Returns an array of scalers with the maker and model of all the PPDs installed on the CUPS server
Returns the file name of the PPD specified by the name and make as found in the array returned by getAllPPDs. The file name is used by addDestination and is relative to where the CUPS server is instructed to look (e.g /usr/share/ppd).
my $server_name = $cups->getServer();
A method to return either the hostname or the IP address of the active print server.
my $username = $cups->getUsername();
This method will return the current username associated with the CUPS transaction.
my $result = $cups->requestData( $request, $resource, $filename );
Send an IPP request to the server. This function is based off the C CUPS function cupsDoRequest and cupsDoRequestFile. The $filename is optional.
$cups->setPasswordCB( $function )
Method to set the callback function to be used by getPassword.
$cups->setServer( $server_ip );
This method will change the current cups server to another hosts.
$cups->setUsername( $username );
A method to change the username associated with CUPS interaction.
$cups->deleteDestination( $destination_name );
A method to delete an existing destination
$cups->addDestination( $name, $location, $printer_info, $ppd_name, $device_uri) A method to create a new destination. The $ppd_name variable should be the one returned for that printer by the getPPDFileName method. It will be relative to where the CUPS server is configured to look for PPD files (e.g. /usr/share/ppd).
Net::CUPS is currently maintained by Stefan Seifert <NINE@cpan.org>. The Github repository for this project is at https://github.com/niner/perl-Net-CUPS. Pull requests are welcome.
Dracken Technology, Inc. (http://www.dracken.com/)
Aike Reyer <email@example.com> supplied the password handling code.
Mark Gannon <firstname.lastname@example.org> supplied the code for PPD acquisition, destination creation and destination deletion.
Copyright (c) 2003-2005 David Hageman
Copyright (c) 2006-2009 Dracken Technology, Inc.
All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
CUPS, the Common UNIX Printing System, the CUPS logo, and ESP Print Pro are the trademark property of Easy Software Products.