Net::CUPS(3) Common Unix Printing System Interface

SYNOPSIS


use Net::CUPS;
my $cups = Net::CUPS->new();
my $printer = $cups->getDestination( "lj4200dn" );

DESCRIPTION

Net::CUPS is an object oriented interface to the Common Unix Printing System.

METHODS

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).

SUPPORT

Support for this module and other software developed by Dracken Technology, Inc can be found at http://www.dracken.com/.

AUTHOR

Dracken Technology, Inc. (http://www.dracken.com/)

ACKNOWLEDGEMENTS

Aike Reyer <[email protected]> supplied the password handling code.

Mark Gannon <[email protected]> supplied the code for PPD acquisition, destination creation and destination deletion.

COPYRIGHT AND LICENSE

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.