Class PDF::Writer::Object::Info
In: lib/pdf/writer/object/info.rb
Parent: PDF::Writer::Object
Transaction::Simple SimpleTable TechBook Complex Action Procset FontDescriptor FontEncoding Destination Info Catalog Encryption Contents Pages Outline Outlines Annotation Page Font ViewerPreferences Image Hash OHash QuickRef FontMetrics ARC4 StrokeStyle PolygonPoint ImageInfo StdDev lib/pdf/simpletable.rb lib/pdf/techbook.rb lib/pdf/writer.rb lib/pdf/quickref.rb Math lib/pdf/writer/fontmetrics.rb lib/pdf/writer/ohash.rb lib/pdf/writer/arc4.rb lib/pdf/writer/strokestyle.rb lib/pdf/writer/graphics.rb lib/pdf/writer/object.rb lib/pdf/writer/object/image.rb External EN Lang OffsetReader lib/pdf/writer/graphics/imageinfo.rb Graphics lib/pdf/writer/object/outlines.rb lib/pdf/writer/object/destination.rb lib/pdf/writer/object/viewerpreferences.rb lib/pdf/writer/object/fontencoding.rb lib/pdf/writer/object/page.rb lib/pdf/writer/object/contents.rb lib/pdf/writer/object/procset.rb lib/pdf/writer/object/pages.rb lib/pdf/writer/object/info.rb lib/pdf/writer/object/encryption.rb lib/pdf/writer/object/catalog.rb lib/pdf/writer/object/outline.rb lib/pdf/writer/object/fontdescriptor.rb lib/pdf/writer/object/action.rb lib/pdf/writer/object/font.rb lib/pdf/writer/object/annotation.rb Object Writer lib/pdf/charts/stddev.rb Charts PDF dot/m_33_0.png

Define the document information — metadata.

Methods

new   to_s  

Constants

Info = %w{CreationDate Creator Title Author Subject Keywords ModDate Trapped Producer}

Public Class methods

[Source]

    # File lib/pdf/writer/object/info.rb, line 14
14:   def initialize(parent)
15:     super(parent)
16: 
17:     @parent.instance_variable_set('@info', self)
18:     @creationdate = Time.now
19: 
20:     @creator  = File.basename($0)
21:     @producer = "PDF::Writer for Ruby"
22:     @title    = nil
23:     @author   = nil
24:     @subject  = nil
25:     @keywords = nil
26:     @moddate  = nil
27:     @trapped  = nil
28:   end

Public Instance methods

[Source]

    # File lib/pdf/writer/object/info.rb, line 34
34:   def to_s
35:     res = "\n#{@oid} 0 obj\n<<\n"
36:     Info.each do |i|
37:       v = __send__("#{i.downcase}".intern)
38:       next if v.nil?
39:       res << "/#{i} ("
40:       if v.kind_of?(Time)
41:         s = "D:%04d%02d%02d%02d%02d"
42:         v = v.utc
43:         v = s % [ v.year, v.month, v.day, v.hour, v.min ]
44:       end
45: 
46:       res << PDF::Writer.escape(v)
47:       res << ")\n"
48:     end
49:     res << ">>\nendobj"
50:   end

[Validate]