Lately I was using this wonderful plugin to create PDF documents with ruby (version 1.1.3). It did its job quite well for what I needed it to, but when I was asked to hide the acrobat toolbar in the viewer, I got some problems.
Actually, the plugin’s class “ViewerPreferences” was exactly what I was looking for, but if I use it, it throw me an error while opening the generated pdf file.
The code that print that part of the pdf is:
# File lib/pdf/writer/object/viewerpreferences.rb
66: def to_s
67: res = "\n#{@id} 0 obj\n<< "
68: Preferences.each do |s|
69: v = __send__("#{s.downcase}".intern)
70: res << "\n/#{s} /#{v}" unless v.nil?
71: end
72: res << "\n>>\n"
73: end
Comparing the generated file with a working one, I fixed that function this way:
66: def to_s
67: res = "\n#{@oid} 0 obj\n<< "
68: Preferences.each do |s|
69: v = __send__("#{s.downcase}".intern)
70: res << "\n/#{s} #{v}" unless v.nil?
71: end
72: res << "\n>>\nendobj\n"
73: end
There also a patch file avaiable here
I’m not very into pdf coding, so perhaps there was a more stylish way to write it, or I done some mistakes, so I will be very happy about every suggestion to improve the code.