Class: PDF::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf-extended-ops.rb

Instance Method Summary collapse

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_objectObject

Page 405 - PDF Reference



53
54
55
# File 'lib/pdf-extended-ops.rb', line 53

def begin_text_object()
add_content("\nBT")
end

#close_subpathObject

: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_contentObject

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_objectObject



69
70
71
# File 'lib/pdf-extended-ops.rb', line 69

def end_text_object()
add_content("\nET")
end

#fill_path_with_nonzeroObject



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_stateObject



29
30
31
# File 'lib/pdf-extended-ops.rb', line 29

def restore_graphics_state()
add_content("\nQ")
end

#save_graphics_stateObject



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_pathObject

:args=>[]



154
155
156
# File 'lib/pdf-extended-ops.rb', line 154

def stroke_path()
add_content("\n S")
end