docs/example.rb in zebra-zpl-1.1.3 vs docs/example.rb in zebra-zpl-1.1.4

- old
+ new

@@ -1,290 +1,290 @@ -require_relative '../lib/zebra/zpl' - -def print_zpl_str(name, label) - zpl = '' - label.dump_contents zpl - puts "\n#{name}:\n#{zpl}\n\n" -end - -def new_label - Zebra::Zpl::Label.new( - width: 600, - length: 305, - print_speed: 6, - print_density: 5, - copies: 1 - ) -end - -################################################################################ -# Text -################################################################################ -label = new_label -text = Zebra::Zpl::Text.new( - data: "Hello, printer!", - position: [10, 125], - font_size: Zebra::Zpl::FontSize::SIZE_5, - justification: Zebra::Zpl::Justification::CENTER -) -box = Zebra::Zpl::Graphic.new( - graphic_type: 'B', - position: [10,5], - graphic_width: label.width, - graphic_height: label.length-10, - line_thickness: 1, - rounding_degree: 1 -) -label << text -label << box -print_zpl_str('text', label) - -################################################################################ -# Raw ZPL -################################################################################ -label = new_label -zpl_string = "^GFA,1300,1300,13,,::::::O01IFE,N01KFE,N0MFC,M03NF,M0OFC,L03PF,L0QF8,K01QFE,K03RF,K07RF8,J01SFC,J03F9OFE7E,J07F01MFE03F,J07E007LF803F8,J0FE003KFE001FC,I01FEI0FC00FC001FE,I03FCI04M01FF,I07FCQ01FF,I07FCQ01FF8,I0FFCQ01FFC,I0FFEQ01FFC,001FFEQ01FFE,:003FFEQ03IF,003FFEQ01IF,007FFCR0IF,007FFCR0IF8,007FF8R07FF8,00IFS03FF8,00IFS03FFC,:00FFES01FFC,01FFES01FFC,01FFES01FFE,:01FFCS01FFE,:::::01FFES01FFE,::01FFES03FFE,01IFS03FFE,01IFS03FFC,01IF8R07FFC,00IF8R0IFC,00IFCR0IFC,00IFEQ01IFC,00JFQ03IF8,007IF8P07IF8,007IFCP0JF8,007JFO03JF,003F87FCN0KF,003F81FFM03JFE,001F80FFEK01KFE,001FC07FFCJ0LFC,I0FF03FF8J0LFC,I0FF03FF8J07KF8,I07F81FF8J07KF8,I03F807F8J07KF,I03FC004K07JFE,I01FCN07JFE,J0FEN07JFC,J07FN07JF8,J03F8M07JF,J01FCM07IFE,K0FFM07IFC,K07IF8J07IF8,K03IF8J07IF,L0IF8J07FFC,L07FF8J07FF8,L01FF8J07FE,M0FF8J07F8,M01F8J07E,N07K038,,::::::::::::::^FS" -raw_zpl = Zebra::Zpl::Raw.new( - data: zpl_string, - position: [50, 50], -) -label << raw_zpl -print_zpl_str('raw_zpl', label) - -################################################################################ -# Barcode -################################################################################ -label = new_label -barcode = Zebra::Zpl::Barcode.new( - data: 'F112358', - position: [80, 50], - height: 150, - width: 4, - print_human_readable_code: true, - type: Zebra::Zpl::BarcodeType::CODE_128_AUTO -) -label << barcode -print_zpl_str('barcode', label) - -################################################################################ -# QR Code -################################################################################ -label = new_label -qrcode = Zebra::Zpl::Qrcode.new( - data: 'www.github.com', - position: [200, 45], - scale_factor: 8, - correction_level: 'H', -) -label << qrcode -print_zpl_str('qrcode', label) - -################################################################################ -# Data Matrix -################################################################################ -label = new_label -datamatrix = Zebra::Zpl::Datamatrix.new( - data: 'www.github.com', - position: [225, 75], - symbol_height: 10, - aspect_ratio: 1 -) -label << datamatrix -print_zpl_str('datamatrix', label) - -################################################################################ -# Graphics -################################################################################ -label = new_label -box = Zebra::Zpl::Graphic.new( - graphic_type: 'B', - position: [10,10], - graphic_width: 80, - graphic_height: 80, - line_thickness: 2, - rounding_degree: 2 -) -circle = Zebra::Zpl::Graphic.new( - graphic_type: 'C', - position: [100,10], - graphic_width: 80, - line_thickness: 3 -) -diagonal1 = Zebra::Zpl::Graphic.new( - graphic_type: 'D', - position: [190,10], - graphic_width: 80, - graphic_height: 80, - line_thickness: 3, - orientation: 'R' -) -diagonal2 = diagonal1.dup -diagonal2.orientation = 'L' -ellipse = Zebra::Zpl::Graphic.new( - graphic_type: 'E', - position: [280,10], - graphic_width: 40, - graphic_height: 80, - line_thickness: 3 -) -symbol = Zebra::Zpl::Graphic.new( - graphic_type: 'S', - symbol_type: 'B', - position: [335,10], - graphic_width: 80, - graphic_height: 80 -) - -label << box -label << circle -label << diagonal1 -label << diagonal2 -label << ellipse -label << symbol -label.elements.each { |e| e.position = [e.x + 110 , e.y + 90] } -print_zpl_str('graphics', label) - -################################################################################ -# Images -################################################################################ -label = new_label -image = Zebra::Zpl::Image.new( - path: File.expand_path('./images/earth.jpg', File.dirname(__FILE__)), - position: [145, 0], - width: 305, - height: 305 -) -label << image -print_zpl_str('image', label) - -# inverted image -label = new_label -image = Zebra::Zpl::Image.new( - path: File.expand_path('./images/earth.jpg', File.dirname(__FILE__)), - position: [145, 0], - width: 305, - height: 305, - invert: true -) -label << image -print_zpl_str('image_inverted', label) - -################################################################################ -# Image Manipulation -################################################################################ -label = new_label -image = Zebra::Zpl::Image.new( - path: File.expand_path('./images/ruby.png', File.dirname(__FILE__)), - position: [0, 0], - width: 305, - height: 305, - black_threshold: 0.65 -) -src = image.source -src.background('white').flatten - -# perform edge detection on the image -MiniMagick::Tool::Convert.new do |convert| - convert << src.path - convert << '-colorspace' << 'gray' - convert << '-edge' << '4' - convert << '-negate' - convert << src.path -end - -src.trim - -label << image -print_zpl_str('image_manipulation', label) - -################################################################################ -# Justification -################################################################################ -label = new_label -t1 = Zebra::Zpl::Text.new( - data: "ZPL", - position: [10, 25], - font_size: Zebra::Zpl::FontSize::SIZE_5, - justification: Zebra::Zpl::Justification::LEFT -) -t2 = Zebra::Zpl::Text.new( - data: "ZPL", - position: [10, 65], - font_size: Zebra::Zpl::FontSize::SIZE_5, - justification: Zebra::Zpl::Justification::CENTER -) -t3 = Zebra::Zpl::Text.new( - data: "ZPL", - position: [10, 105], - font_size: Zebra::Zpl::FontSize::SIZE_5, - justification: Zebra::Zpl::Justification::RIGHT -) -t4 = Zebra::Zpl::Text.new( - data: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", - position: [10, 180], - font_size: Zebra::Zpl::FontSize::SIZE_4, - justification: Zebra::Zpl::Justification::JUSTIFIED -) -box = Zebra::Zpl::Graphic.new( - graphic_type: 'B', - position: [10,5], - graphic_width: label.width, - graphic_height: label.length-10, - line_thickness: 1, - rounding_degree: 1 -) -label << t1 -label << t2 -label << t3 -label << t4 -label << box -print_zpl_str('justification', label) - -################################################################################ -# Rotation -################################################################################ -label = new_label -t1 = Zebra::Zpl::Text.new( - data: "Zero", - position: [10, 125], - font_size: Zebra::Zpl::FontSize::SIZE_5, - rotation: Zebra::Zpl::Rotation::NO_ROTATION, - max_lines: 1 -) -t2 = Zebra::Zpl::Text.new( - data: "90", - position: [100, 125], - font_size: Zebra::Zpl::FontSize::SIZE_5, - rotation: Zebra::Zpl::Rotation::DEGREES_90, - max_lines: 1 -) -t3 = Zebra::Zpl::Text.new( - data: "180", - position: [175, 125], - font_size: Zebra::Zpl::FontSize::SIZE_5, - rotation: Zebra::Zpl::Rotation::DEGREES_180, - justification: Zebra::Zpl::Justification::RIGHT, - max_lines: 1 -) -t4 = Zebra::Zpl::Text.new( - data: "270", - position: [275, 125], - font_size: Zebra::Zpl::FontSize::SIZE_5, - rotation: Zebra::Zpl::Rotation::DEGREES_270, - justification: Zebra::Zpl::Justification::RIGHT, - max_lines: 1 -) -box = Zebra::Zpl::Graphic.new( - graphic_type: 'B', - position: [10,5], - graphic_width: label.width, - graphic_height: label.length-10, - line_thickness: 1, - rounding_degree: 1 -) -label << t1 -label << t2 -label << t3 -label << t4 -label.elements.each { |e| e.position = [e.x + 150, e.y] } -label << box -print_zpl_str('rotation', label) +require_relative '../lib/zebra/zpl' + +def print_zpl_str(name, label) + zpl = '' + label.dump_contents zpl + puts "\n#{name}:\n#{zpl}\n\n" +end + +def new_label + Zebra::Zpl::Label.new( + width: 600, + length: 305, + print_speed: 6, + print_density: 5, + copies: 1 + ) +end + +################################################################################ +# Text +################################################################################ +label = new_label +text = Zebra::Zpl::Text.new( + data: "Hello, printer!", + position: [10, 125], + font_size: Zebra::Zpl::FontSize::SIZE_5, + justification: Zebra::Zpl::Justification::CENTER +) +box = Zebra::Zpl::Graphic.new( + graphic_type: 'B', + position: [10,5], + graphic_width: label.width, + graphic_height: label.length-10, + line_thickness: 1, + rounding_degree: 1 +) +label << text +label << box +print_zpl_str('text', label) + +################################################################################ +# Raw ZPL +################################################################################ +label = new_label +zpl_string = "^GFA,1300,1300,13,,::::::O01IFE,N01KFE,N0MFC,M03NF,M0OFC,L03PF,L0QF8,K01QFE,K03RF,K07RF8,J01SFC,J03F9OFE7E,J07F01MFE03F,J07E007LF803F8,J0FE003KFE001FC,I01FEI0FC00FC001FE,I03FCI04M01FF,I07FCQ01FF,I07FCQ01FF8,I0FFCQ01FFC,I0FFEQ01FFC,001FFEQ01FFE,:003FFEQ03IF,003FFEQ01IF,007FFCR0IF,007FFCR0IF8,007FF8R07FF8,00IFS03FF8,00IFS03FFC,:00FFES01FFC,01FFES01FFC,01FFES01FFE,:01FFCS01FFE,:::::01FFES01FFE,::01FFES03FFE,01IFS03FFE,01IFS03FFC,01IF8R07FFC,00IF8R0IFC,00IFCR0IFC,00IFEQ01IFC,00JFQ03IF8,007IF8P07IF8,007IFCP0JF8,007JFO03JF,003F87FCN0KF,003F81FFM03JFE,001F80FFEK01KFE,001FC07FFCJ0LFC,I0FF03FF8J0LFC,I0FF03FF8J07KF8,I07F81FF8J07KF8,I03F807F8J07KF,I03FC004K07JFE,I01FCN07JFE,J0FEN07JFC,J07FN07JF8,J03F8M07JF,J01FCM07IFE,K0FFM07IFC,K07IF8J07IF8,K03IF8J07IF,L0IF8J07FFC,L07FF8J07FF8,L01FF8J07FE,M0FF8J07F8,M01F8J07E,N07K038,,::::::::::::::^FS" +raw_zpl = Zebra::Zpl::Raw.new( + data: zpl_string, + position: [50, 50], +) +label << raw_zpl +print_zpl_str('raw_zpl', label) + +################################################################################ +# Barcode +################################################################################ +label = new_label +barcode = Zebra::Zpl::Barcode.new( + data: 'F112358', + position: [80, 50], + height: 150, + width: 4, + print_human_readable_code: true, + type: Zebra::Zpl::BarcodeType::CODE_128_AUTO +) +label << barcode +print_zpl_str('barcode', label) + +################################################################################ +# QR Code +################################################################################ +label = new_label +qrcode = Zebra::Zpl::Qrcode.new( + data: 'www.github.com', + position: [200, 45], + scale_factor: 8, + correction_level: 'H', +) +label << qrcode +print_zpl_str('qrcode', label) + +################################################################################ +# Data Matrix +################################################################################ +label = new_label +datamatrix = Zebra::Zpl::Datamatrix.new( + data: 'www.github.com', + position: [225, 75], + symbol_height: 10, + aspect_ratio: 1 +) +label << datamatrix +print_zpl_str('datamatrix', label) + +################################################################################ +# Graphics +################################################################################ +label = new_label +box = Zebra::Zpl::Graphic.new( + graphic_type: 'B', + position: [10,10], + graphic_width: 80, + graphic_height: 80, + line_thickness: 2, + rounding_degree: 2 +) +circle = Zebra::Zpl::Graphic.new( + graphic_type: 'C', + position: [100,10], + graphic_width: 80, + line_thickness: 3 +) +diagonal1 = Zebra::Zpl::Graphic.new( + graphic_type: 'D', + position: [190,10], + graphic_width: 80, + graphic_height: 80, + line_thickness: 3, + orientation: 'R' +) +diagonal2 = diagonal1.dup +diagonal2.orientation = 'L' +ellipse = Zebra::Zpl::Graphic.new( + graphic_type: 'E', + position: [280,10], + graphic_width: 40, + graphic_height: 80, + line_thickness: 3 +) +symbol = Zebra::Zpl::Graphic.new( + graphic_type: 'S', + symbol_type: 'B', + position: [335,10], + graphic_width: 80, + graphic_height: 80 +) + +label << box +label << circle +label << diagonal1 +label << diagonal2 +label << ellipse +label << symbol +label.elements.each { |e| e.position = [e.x + 110 , e.y + 90] } +print_zpl_str('graphics', label) + +################################################################################ +# Images +################################################################################ +label = new_label +image = Zebra::Zpl::Image.new( + path: File.expand_path('./images/earth.jpg', File.dirname(__FILE__)), + position: [145, 0], + width: 305, + height: 305 +) +label << image +print_zpl_str('image', label) + +# inverted image +label = new_label +image = Zebra::Zpl::Image.new( + path: File.expand_path('./images/earth.jpg', File.dirname(__FILE__)), + position: [145, 0], + width: 305, + height: 305, + invert: true +) +label << image +print_zpl_str('image_inverted', label) + +################################################################################ +# Image Manipulation +################################################################################ +label = new_label +image = Zebra::Zpl::Image.new( + path: File.expand_path('./images/ruby.png', File.dirname(__FILE__)), + position: [0, 0], + width: 305, + height: 305, + black_threshold: 0.65 +) +src = image.source +src.background('white').flatten + +# perform edge detection on the image +MiniMagick::Tool::Convert.new do |convert| + convert << src.path + convert << '-colorspace' << 'gray' + convert << '-edge' << '4' + convert << '-negate' + convert << src.path +end + +src.trim + +label << image +print_zpl_str('image_manipulation', label) + +################################################################################ +# Justification +################################################################################ +label = new_label +t1 = Zebra::Zpl::Text.new( + data: "ZPL", + position: [10, 25], + font_size: Zebra::Zpl::FontSize::SIZE_5, + justification: Zebra::Zpl::Justification::LEFT +) +t2 = Zebra::Zpl::Text.new( + data: "ZPL", + position: [10, 65], + font_size: Zebra::Zpl::FontSize::SIZE_5, + justification: Zebra::Zpl::Justification::CENTER +) +t3 = Zebra::Zpl::Text.new( + data: "ZPL", + position: [10, 105], + font_size: Zebra::Zpl::FontSize::SIZE_5, + justification: Zebra::Zpl::Justification::RIGHT +) +t4 = Zebra::Zpl::Text.new( + data: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + position: [10, 180], + font_size: Zebra::Zpl::FontSize::SIZE_4, + justification: Zebra::Zpl::Justification::JUSTIFIED +) +box = Zebra::Zpl::Graphic.new( + graphic_type: 'B', + position: [10,5], + graphic_width: label.width, + graphic_height: label.length-10, + line_thickness: 1, + rounding_degree: 1 +) +label << t1 +label << t2 +label << t3 +label << t4 +label << box +print_zpl_str('justification', label) + +################################################################################ +# Rotation +################################################################################ +label = new_label +t1 = Zebra::Zpl::Text.new( + data: "Zero", + position: [10, 125], + font_size: Zebra::Zpl::FontSize::SIZE_5, + rotation: Zebra::Zpl::Rotation::NO_ROTATION, + max_lines: 1 +) +t2 = Zebra::Zpl::Text.new( + data: "90", + position: [100, 125], + font_size: Zebra::Zpl::FontSize::SIZE_5, + rotation: Zebra::Zpl::Rotation::DEGREES_90, + max_lines: 1 +) +t3 = Zebra::Zpl::Text.new( + data: "180", + position: [175, 125], + font_size: Zebra::Zpl::FontSize::SIZE_5, + rotation: Zebra::Zpl::Rotation::DEGREES_180, + justification: Zebra::Zpl::Justification::RIGHT, + max_lines: 1 +) +t4 = Zebra::Zpl::Text.new( + data: "270", + position: [275, 125], + font_size: Zebra::Zpl::FontSize::SIZE_5, + rotation: Zebra::Zpl::Rotation::DEGREES_270, + justification: Zebra::Zpl::Justification::RIGHT, + max_lines: 1 +) +box = Zebra::Zpl::Graphic.new( + graphic_type: 'B', + position: [10,5], + graphic_width: label.width, + graphic_height: label.length-10, + line_thickness: 1, + rounding_degree: 1 +) +label << t1 +label << t2 +label << t3 +label << t4 +label.elements.each { |e| e.position = [e.x + 150, e.y] } +label << box +print_zpl_str('rotation', label)