A lightweight Ruby library for interacting with printers through CUPS.
Ruby CUPS provides a wrapper for the Common UNIX Printing System, allowing rubyists to perform basic tasks like printer discovery, job submission & querying.
This library is opinionated in a few respects:
- Setting up CUPS & requisite print drivers is already part of your sys-admin repertoire
- By implication you don't want another GUI to manage it all
- You’re only looking for destinations which have been set up locally
Although this, like everything else is open to change.
sudo gem install cups
Let's print something!
page = Cups::PrintJob.new("/invoice.pdf")
page.print # => 127
Instantiate a PrintJob object, call print on it, and you've got yourself a job number there.
What happened to my job?
page.state # => "Processing..."
page.cancel # => true
Which printer do I want?
Cups.show_destinations # => ["office", "home"]
Cups.default_printer # => "office"