lib/pdf/medivo/fdf_generator.rb in medivo-0.1.13 vs lib/pdf/medivo/fdf_generator.rb in medivo-0.1.14
- old
+ new
@@ -1,63 +1,34 @@
module Medivo
module FdfGenerator
def self.file(info)
- afile = Tempfile.new('fdf', :encoding => 'ascii-8bit')
- afile.write "%FDF-1.2\x0d%\xe2\xe3\xcf\xd3\x0d\x0a"; # header
- afile.write "1 0 obj\x0d<< " # open the Root dictionary
- afile.write "\x0d/FDF << " # open the FDF dictionary
- afile.write "/Fields [ " # open the form Fields array
+ PdfGenerator.tmp_pdf do |afile|
+ afile.write "%FDF-1.2\x0d%\xe2\xe3\xcf\xd3\x0d\x0a"; # header
+ afile.write "1 0 obj\x0d<< " # open the Root dictionary
+ afile.write "\x0d/FDF << " # open the FDF dictionary
+ afile.write "/Fields [ " # open the form Fields array
- info.each { |key, value|
- if value.class == Hash
- value.each { |sub_key, sub_value|
- afile.write '<< /T (' + key.to_s + '_' + sub_key.to_s + ') /V '
- afile.write '(' + escape_data(sub_value) + ') /ClrF 2 /ClrFf 1 >> '
- }
- else
- afile.write '<< /T (' + key.to_s + ') /V (' + escape_data(value) + ') /ClrF 2 /ClrFf 1 >> '
- end
- }
+ info.each { |key, value|
+ if value.class == Hash
+ value.each { |sub_key, sub_value|
+ afile.write '<< /T (' + key.to_s + '_' + sub_key.to_s + ') /V '
+ afile.write '(' + escape_data(sub_value) + ') /ClrF 2 /ClrFf 1 >> '
+ }
+ else
+ afile.write '<< /T (' + key.to_s + ') /V (' + escape_data(value) + ') /ClrF 2 /ClrFf 1 >> '
+ end
+ }
- afile.write "] \x0d" # close the Fields array
- afile.write ">> \x0d" # close the FDF dictionary
- afile.write ">> \x0dendobj\x0d" # close the Root dictionary
+ afile.write "] \x0d" # close the Fields array
+ afile.write ">> \x0d" # close the FDF dictionary
+ afile.write ">> \x0dendobj\x0d" # close the Root dictionary
- # trailer note the "1 0 R" reference to "1 0 obj" above
- afile.write "trailer\x0d<<\x0d/Root 1 0 R \x0d\x0d>>\x0d"
- afile.write "%%EOF\x0d\x0a"
- afile.close
- afile
+ # trailer note the "1 0 R" reference to "1 0 obj" above
+ afile.write "trailer\x0d<<\x0d/Root 1 0 R \x0d\x0d>>\x0d"
+ afile.write "%%EOF\x0d\x0a"
+ end
end
-
- #def self.file(info)
- # PdfGenerator.tmp_pdf do |afile|
- # afile.write "%FDF-1.2\x0d%\xe2\xe3\xcf\xd3\x0d\x0a"; # header
- # afile.write "1 0 obj\x0d<< " # open the Root dictionary
- # afile.write "\x0d/FDF << " # open the FDF dictionary
- # afile.write "/Fields [ " # open the form Fields array
- #
- # info.each { |key, value|
- # if value.class == Hash
- # value.each { |sub_key, sub_value|
- # afile.write '<< /T (' + key.to_s + '_' + sub_key.to_s + ') /V '
- # afile.write '(' + escape_data(sub_value) + ') /ClrF 2 /ClrFf 1 >> '
- # }
- # else
- # afile.write '<< /T (' + key.to_s + ') /V (' + escape_data(value) + ') /ClrF 2 /ClrFf 1 >> '
- # end
- # }
- #
- # afile.write "] \x0d" # close the Fields array
- # afile.write ">> \x0d" # close the FDF dictionary
- # afile.write ">> \x0dendobj\x0d" # close the Root dictionary
- #
- # # trailer note the "1 0 R" reference to "1 0 obj" above
- # afile.write "trailer\x0d<<\x0d/Root 1 0 R \x0d\x0d>>\x0d"
- # afile.write "%%EOF\x0d\x0a"
- # end
- #end
def self.escape_data(value)
value.to_s.strip.gsub(/[\(]/, '\\(').gsub(/[\)]/, '\\)')
end
end
\ No newline at end of file