Class: RGhost::Paper
- Includes:
- RubyToPs
- Defined in:
- lib/rghost/paper.rb
Overview
link:images/paper01.png
Constant Summary collapse
- DEFAULT_OPTIONS =
{ :landscape => false, :margin_top => 1, :margin_right => 1, :margin_bottom => 1, :margin_left => 1, :duplex => false, :tumble => false }
Instance Method Summary collapse
-
#gs_paper ⇒ Object
:nodoc:.
-
#initialize(paper = :A4, options = {}) ⇒ Paper
constructor
===Examples.
- #ps ⇒ Object
Methods included from RubyToPs
#array_to_stack, #hash_to_array, #pack_string, #ps_escape, #string_eval, #to_array, #to_bool, #to_string, #to_string_array
Methods inherited from PsObject
#<<, #call, #graphic_scope, #raw, #set, #to_s
Constructor Details
#initialize(paper = :A4, options = {}) ⇒ Paper
===Examples
====Create paper by name doc=Document.new :paper => :A4 ====Create paper by name in landscape doc=Document.new :paper => :A4 , :landscape => true ====Create custom paper doc=Document.new :paper => [10,15] ====Defining all margins doc=Document.new :paper => :A5, :margin => 0.5 ====Defining custom margins doc=Document.new :paper => :A5, :margin => [0.5, 1, 0.5, 2] #=>[top,right,bottom,left] clockwise ====Defining particular margin doc=Document.new :paper => :A5, :margin_top => 1, :margin_left => 0.3 ====Defining two faces document to printer doc=Document.new :paper => :A5, :duplex => true ===Parameters
- paper - The paper parameter can be either a Symbol or a Array. If paper parameter is a Symbol its value will search in RGhost::Constants::Papers . If paper parameter is a Array(with two numeric elements) will be position [0] width and [1] height of page. Example: doc=Document.new :paper => :A3 #=> Build new A3 paper doc=Document.new :paper => [5,5] #=> Build new custom paper 5x5, using default unit defined in RGhost::Config::GS.
====Configuration options:
- :landscape - If set to true will invert width to height and height to width.
- :margin - Specifies margins non-printable area. It can be one Numeric for all margins or Array [top,right,bottom,left] margins.
- :duplex - Specifies two faces(for print)
- :tumble - Specifies kind of duplex
54 55 56 57 58 |
# File 'lib/rghost/paper.rb', line 54 def initialize(paper=:A4, ={}) =DEFAULT_OPTIONS.merge() @paper=paper end |
Instance Method Details
#gs_paper ⇒ Object
:nodoc:
71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/rghost/paper.rb', line 71 def gs_paper #:nodoc: fp=format_paper p=fp[:gs] #["-dDEVICEWIDTHPOINTS=#{p[0]}", "-dDEVICEHEIGHTPOINTS=#{p[1]}"] if fp[:done] ["-dDEVICEWIDTHPOINTS=#{p[0]}", "-dDEVICEHEIGHTPOINTS=#{p[1]}"] else ["-dDEVICEWIDTHPOINTS=#{to_pt(p[0])}", "-dDEVICEHEIGHTPOINTS=#{to_pt(p[1])}"] end end |
#ps ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/rghost/paper.rb', line 60 def ps d=format_duplex p=format_paper[:rg] m=format_margin lib=RGhost::Load.library :paper d<< p << m << lib.ps end |