86: def to_s
87: unless @pages.empty?
88: res = "\n#{@oid} 0 obj\n<< /Type /Pages\n/Kids ["
89: @pages.uniq!
90: @pages.each { |p| res << "#{p.oid} 0 R\n" }
91: res << "]\n/Count #{@pages.size}"
92: unless @fonts.empty? and @procset.nil?
93: res << "\n/Resources <<"
94: res << "\n/ProcSet #{@procset.oid} 0 R" unless @procset.nil?
95: unless @fonts.empty?
96: res << "\n/Font << "
97: @fonts.each { |f| res << "\n/F#{f.font_id} #{f.oid} 0 R" }
98: res << " >>"
99: end
100: unless @xObjects.empty?
101: res << "\n/XObject << "
102: @xObjects.each { |x| res << "\n/#{x.label} #{x.oid} 0 R" }
103: res << " >>"
104: end
105: res << "\n>>"
106: res << "\n/MediaBox [#{@media_box.join(' ')}]" unless @media_box.nil? or @media_box.empty?
107: res << "\n/BleedBox [#{@bleed_box.join(' ')}]" unless @bleed_box.nil? or @bleed_box.empty?
108: res << "\n/TrimBox [#{@trim_box.join(' ')}]" unless @trim_box.nil? or @trim_box.empty?
109: end
110: res << "\n >>\nendobj"
111: else
112: "\n#{@oid} 0 obj\n<< /Type /Pages\n/Count 0\n>>\nendobj"
113: end
114: end