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.
- getDestination
- 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.
- getDestinations
- my @printers =
$cups->getDestinations();
This method will return an array of destinations currently
configured on the cups server.
- getPassword
- my $password =
$cups->getPassword(
$prompt );
Method to retrieve the password from the user via the password
callback.
- getPPD
- my $ppd =
$cups->getPPD( $name );
Returns a Net::CUPS::PPD object for the default printer or for
the specified printer or class.
- getPPDMakes
- 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
- getAllPPDs
- my $ppds =
$cups->getAllPPDs();
Returns an array of scalers with the maker and model of all
the PPDs installed on the CUPS server
- getPPDFileName
- $cups->getPPDFileName($ppd_name_and_make);
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).
- getServer
- my $server_name =
$cups->getServer();
A method to return either the hostname or the IP address of
the active print server.
- getUsername
- my $username =
$cups->getUsername();
This method will return the current username associated with
the CUPS transaction.
- requestData
- 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.
- setPasswordCB
- $cups->setPasswordCB(
$function )
Method to set the callback function to be used by
getPassword.
- setServer
- $cups->setServer(
$server_ip );
This method will change the current cups server to another
hosts.
- setUsername
- $cups->setUsername(
$username );
A method to change the username associated with CUPS
interaction.
- deleteDestination
- $cups->deleteDestination(
$destination_name );
A method to delete an existing destination
- addDestination
- $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::Destination, Net::CUPS::PPD, Net::CUPS::IPP
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 <aike@users.sourceforge.net> supplied the password handling
code.
Mark Gannon <mark@truenorth.nu> 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.