lib/zebra/print_job.rb in zebra-zpl-1.0.5 vs lib/zebra/print_job.rb in zebra-zpl-1.1.0
- old
+ new
@@ -1,32 +1,26 @@
module Zebra
class PrintJob
- # class UnknownPrinter < StandardError
- # def initialize(printer)
- # super("Could not find a printer named #{printer}")
- # end
- # end
attr_reader :printer
def initialize(printer)
- #check_existent_printers printer
-
@printer = printer
end
def print(label, ip)
@remote_ip = ip
- tempfile = label.persist
+ if label.is_a? String
+ tempfile = Tempfile.new "zebra_label"
+ tempfile.write label
+ tempfile.close
+ else
+ tempfile = label.persist
+ end
send_to_printer tempfile.path
end
private
-
- # def check_existent_printers(printer)
- # existent_printers = Cups.show_destinations
- # raise UnknownPrinter.new(printer) unless existent_printers.include?(printer)
- # end
def send_to_printer(path)
puts "* * * * * * * * * * * * Sending file to printer #{@printer} at #{@remote_ip} * * * * * * * * * * "
result = system("rlpr -H #{@remote_ip} -P #{@printer} -o #{path} 2>&1") # try printing to LPD on windows machine first
system("lp -h #{@remote_ip} -d #{@printer} -o raw #{path}") if !result # print to unix (CUPS) if rlpr failed