0

RTFドキュメントを作成するためのこのコードがありますが、テキストに色を付ける方法が見つかりません。誰かが私を助けてくれますか?

# encoding: utf-8
#!/usr/bin/env ruby

$LOAD_PATH.unshift(File.dirname(__FILE__)+"/../lib/")

require 'rtf'
include RTF
colour = Colour.new(150, 150, 150)

style = CharacterStyle.new
style.bold      = true
style.font_size = 28
style.foreground = colour

document = RTF::Document.new(RTF::Font.new(RTF::Font::ROMAN, 'Times New Roman'))

document.paragraph(style) do |p|
   p << "And there you have it."
end


File.open('my_document.rtf', 'w') {|file| file.write(document.to_rtf)}

与える

C:/Ruby193/lib/ruby/gems/1.9.1/gems/rtf-0.3.3/lib/rtf/style.rb:124:in `prefix': undefined method `index' for nil:NilClass (NoMethodError)
4

1 に答える 1

1

RDocの最後の例(http://ruby-rtf.rubyforge.org/docs/index.html )を確認してください。

CharacterStyleを作成し、それを段落に適用していますが、これは許可されていません。CharacterStyleをテキストに適用する必要があります。

出力を次のように変更します。

document.paragraph() do |p|
    p.apply(style) do |t|
        t << "And there you have it."
    end
end
于 2012-08-02T17:17:56.643 に答える