Net::CUPS(3)

NAME
Net::CUPS - 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).

SEE ALSO
Net::CUPS::Destination, Net::CUPS::PPD, Net::CUPS::IPP

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

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

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