Class: PDF::Writer
- Inherits:
-
Object
- Object
- PDF::Writer
- Defined in:
- lib/pdf-extended-ops.rb
Instance Method Summary collapse
- #append_line(a, b) ⇒ Object
- #append_rectangle(a, b, c, d) ⇒ Object
- #begin_marked_content(value) ⇒ Object
- #begin_marked_content_with_p1(flag, mcid_type, mcid_value) ⇒ Object
- #begin_new_subpath(a, b) ⇒ Object
-
#begin_text_object ⇒ Object
Page 405 - PDF Reference.
-
#close_subpath ⇒ Object
:args=>[].
- #concatenate_matrix(a, b, c, d, e, f) ⇒ Object
-
#end_marked_content ⇒ Object
Page 679 - PDF Reference.
- #end_text_object ⇒ Object
- #fill_path_with_nonzero ⇒ Object
- #invoke_xobject(form, name) ⇒ Object
-
#myimage(image, label) ⇒ Object
Hacked add image to not mess up coordinate space - gsw.
- #restore_graphics_state ⇒ Object
- #save_graphics_state ⇒ Object
- #set_character_spacing(value) ⇒ Object
-
#set_gray_for_stroking(value) ⇒ Object
:args=>.
-
#set_line_cap_style(value) ⇒ Object
:args=>.
-
#set_line_dash(values, width) ⇒ Object
:args=>[, 0.0].
-
#set_line_join_style(value) ⇒ Object
:args=>.
-
#set_line_width(value) ⇒ Object
:args=>.
-
#set_miter_limit(value) ⇒ Object
:args=>.
- #set_text_font_and_size(fontabbr, fontsize) ⇒ Object
-
#set_text_matrix_and_text_line_matrix(a, b, c, d, e, f) ⇒ Object
set_line_matrix_and_text_line_matrix.
- #set_word_spacing(value) ⇒ Object
- #show_text(txt) ⇒ Object
-
#stroke_path ⇒ Object
:args=>[].
Instance Method Details
#append_line(a, b) ⇒ Object
110 111 112 |
# File 'lib/pdf-extended-ops.rb', line 110 def append_line(a,b) add_content("\n#{a} #{b} l") end |
#append_rectangle(a, b, c, d) ⇒ Object
98 99 100 |
# File 'lib/pdf-extended-ops.rb', line 98 def append_rectangle(a,b,c,d) add_content("\n#{a} #{b} #{c} #{d} re") end |
#begin_marked_content(value) ⇒ Object
85 86 87 |
# File 'lib/pdf-extended-ops.rb', line 85 def begin_marked_content(value) add_content("\n/#{value} BMC") end |
#begin_marked_content_with_p1(flag, mcid_type, mcid_value) ⇒ Object
89 90 91 |
# File 'lib/pdf-extended-ops.rb', line 89 def begin_marked_content_with_p1(flag, mcid_type, mcid_value) add_content("\n/#{flag} << /#{mcid_type} #{mcid_value} >>\nBDC") end |
#begin_new_subpath(a, b) ⇒ Object
106 107 108 |
# File 'lib/pdf-extended-ops.rb', line 106 def begin_new_subpath(a,b) add_content("\n#{a} #{b} m") end |
#begin_text_object ⇒ Object
Page 405 - PDF Reference
53 54 55 |
# File 'lib/pdf-extended-ops.rb', line 53 def begin_text_object() add_content("\nBT") end |
#close_subpath ⇒ Object
:args=>[]
149 150 151 |
# File 'lib/pdf-extended-ops.rb', line 149 def close_subpath() add_content("\n h") end |
#concatenate_matrix(a, b, c, d, e, f) ⇒ Object
33 34 35 36 |
# File 'lib/pdf-extended-ops.rb', line 33 def concatenate_matrix(a,b,c,d,e,f) add_content("\n%f %f %f %f %f %f cm" % [ a, b, c, d, e, f]) @pdfeo_matrix = Array.[](a,b,c,d,e,f) end |
#end_marked_content ⇒ Object
Page 679 - PDF Reference
94 95 96 |
# File 'lib/pdf-extended-ops.rb', line 94 def end_marked_content() add_content("\nEMC") end |
#end_text_object ⇒ Object
69 70 71 |
# File 'lib/pdf-extended-ops.rb', line 69 def end_text_object() add_content("\nET") end |
#fill_path_with_nonzero ⇒ Object
102 103 104 |
# File 'lib/pdf-extended-ops.rb', line 102 def fill_path_with_nonzero() add_content("\nf") end |
#invoke_xobject(form, name) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pdf-extended-ops.rb', line 38 def invoke_xobject(form,name) dir_name = @rubyclass.to_s png_name = form + "/" + name + ".png" jpg_name = form + "/" + name + ".jpg" if File.exists?(jpg_name) the_name = jpg_name end if File.exists?(png_name) the_name = png_name end myimage(the_name, name) add_content("\n/#{name} Do") end |
#myimage(image, label) ⇒ Object
Hacked add image to not mess up coordinate space - gsw
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pdf-extended-ops.rb', line 7 def myimage(image, label) if image.respond_to?(:read) data = image.read else open(image, 'rb') { |ff| data = ff.read } end image_info ||= PDF::Writer::Graphics::ImageInfo.new(data) tt = Time.now @images << tt id = @images.index(tt) image_obj = PDF::Writer::External::Image.new(self, data, image_info, label) @images[id] = image_obj image_obj end |
#restore_graphics_state ⇒ Object
29 30 31 |
# File 'lib/pdf-extended-ops.rb', line 29 def restore_graphics_state() add_content("\nQ") end |
#save_graphics_state ⇒ Object
25 26 27 |
# File 'lib/pdf-extended-ops.rb', line 25 def save_graphics_state() add_content("\nq") end |
#set_character_spacing(value) ⇒ Object
57 58 59 |
# File 'lib/pdf-extended-ops.rb', line 57 def set_character_spacing(value) add_content("\n #{value} Tc") end |
#set_gray_for_stroking(value) ⇒ Object
115 116 117 |
# File 'lib/pdf-extended-ops.rb', line 115 def set_gray_for_stroking(value) add_content("\n#{value} G") end |
#set_line_cap_style(value) ⇒ Object
136 137 138 139 |
# File 'lib/pdf-extended-ops.rb', line 136 def set_line_cap_style(value) thevalue = value.to_i add_content("\n#{thevalue} J") end |
#set_line_dash(values, width) ⇒ Object
:args=>[, 0.0]
142 143 144 145 146 |
# File 'lib/pdf-extended-ops.rb', line 142 def set_line_dash(values,width) hash_values = values.inspect thecontent = "\n#{hash_values} #{width} d" add_content(thecontent) end |
#set_line_join_style(value) ⇒ Object
130 131 132 133 |
# File 'lib/pdf-extended-ops.rb', line 130 def set_line_join_style(value) thevalue = value.to_i add_content("\n#{thevalue} j") end |
#set_line_width(value) ⇒ Object
120 121 122 |
# File 'lib/pdf-extended-ops.rb', line 120 def set_line_width(value) add_content("\n#{value} w") end |
#set_miter_limit(value) ⇒ Object
125 126 127 |
# File 'lib/pdf-extended-ops.rb', line 125 def set_miter_limit(value) add_content("\n#{value} M") end |
#set_text_font_and_size(fontabbr, fontsize) ⇒ Object
65 66 67 |
# File 'lib/pdf-extended-ops.rb', line 65 def set_text_font_and_size(fontabbr,fontsize) add_content("\n/#{fontabbr} #{fontsize} Tf") end |
#set_text_matrix_and_text_line_matrix(a, b, c, d, e, f) ⇒ Object
set_line_matrix_and_text_line_matrix
81 82 83 |
# File 'lib/pdf-extended-ops.rb', line 81 def set_text_matrix_and_text_line_matrix(a, b, c, d, e, f) add_content("\n%f %f %f %f %f %f Tm" % [ a, b, c, d, e, f ]) end |
#set_word_spacing(value) ⇒ Object
61 62 63 |
# File 'lib/pdf-extended-ops.rb', line 61 def set_word_spacing(value) add_content("\n #{value} Tw") end |
#show_text(txt) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/pdf-extended-ops.rb', line 73 def show_text(txt) thetxt = txt.gsub('\\','\\\\') thetxt = thetxt.gsub('(','\(') thetxt = thetxt.gsub(')','\)') add_content("\n(#{thetxt})Tj") end |
#stroke_path ⇒ Object
:args=>[]
154 155 156 |
# File 'lib/pdf-extended-ops.rb', line 154 def stroke_path() add_content("\n S") end |