Repository URL to install this package:
|
Version:
0.5.0 ▾
|
#!/usr/bin/env ruby
$LOAD_PATH.unshift(File.dirname(__FILE__)+"/../lib/")
require 'rubygems'
require 'rtf'
include RTF
fonts = [Font.new(Font::ROMAN, 'Times New Roman'),
Font.new(Font::MODERN, 'Courier')]
styles = {}
styles['PS_HEADING'] = ParagraphStyle.new
styles['PS_NORMAL'] = ParagraphStyle.new
styles['PS_NORMAL'].justification = ParagraphStyle::FULL_JUSTIFY
styles['PS_INDENTED'] = ParagraphStyle.new
styles['PS_INDENTED'].left_indent = 300
styles['PS_TITLE'] = ParagraphStyle.new
styles['PS_TITLE'].space_before = 100
styles['PS_TITLE'].space_after = 200
styles['CS_HEADING'] = CharacterStyle.new
styles['CS_HEADING'].bold = true
styles['CS_HEADING'].font_size = 36
styles['CS_CODE'] = CharacterStyle.new
styles['CS_CODE'].font = fonts[1]
styles['CS_CODE'].font_size = 16
document = Document.new(fonts[0])
document.paragraph(styles['PS_HEADING']) do |p1|
p1.apply(styles['CS_HEADING']) << 'Example Program'
end
document.paragraph(styles['PS_NORMAL']) do |p1|
p1 << 'This document is automatically generated using the RTF Ruby '
p1 << 'library. This serves as an example of what can be achieved '
p1 << 'in document creation via the library. The source code that '
p1 << 'was used to generate it is listed below...'
end
document.paragraph(styles['PS_INDENTED']) do |p1|
n = 1
p1.apply(styles['CS_CODE']) do |p2|
File.open('example03.rb') do |file|
file.each_line do |line|
p2.line_break
p2 << "#{n > 9 ? '' : ' '}#{n} #{line.chomp}"
n += 1
end
end
end
end
document.paragraph(styles['PS_TITLE']) do |p1|
p1.italic do |p2|
p2.bold << 'Listing 1:'
p2 << ' Generator program code listing.'
end
end
document.paragraph(styles['PS_NORMAL']) do |p1|
p1 << "This example shows the creation of a new document and the "
p1 << "of textual content to it. The example also provides examples "
p1 << "of using block scope to delimit style scope (lines 40-51)."
end
File.open('example03.rtf', 'w') {|file| file.write(document.to_rtf)}