Techioz Blog

Prawn を使用してテーブル/セル内に書式設定されたテキストを描画します

概要

Rails 3.0.1 を prawn-0.11.1.pre で実行しています

いくつかの基本的なテストを行って、Prawn に書式設定されたテキストを含む単純なテーブルを作成できるかどうかを確認しました。

data = ["Cell 1", formatted_text([{:text => "Cell 2"}])], 
       ["Cell 3","Cell 4"]
table(data)
render

PDFは次のようにレンダリングされます

Cell 2
[Cell 1][      ]
[Cell 3][Cell 4]

(素晴らしい表ですが、「セル 2」というテキストが表の外側にあります)

私の目標は、セル #2 内の書式設定されたテキスト「セル 2」を取得することです。

これはどうすればよいでしょうか?

解決策

formatted_text は書式設定されたテキストを返すのではなく、それをレンダリングします。そうするとき テーブル「セル 2」のデータを構築するときに formatted_text を呼び出します。 表の前にレンダリングされ、行 1 と列 2 のセルが表示されます。 空の。 Prawn::Table::Cell::Text オブジェクトに置きたいと思います ここに formatted_text 呼び出しがあります。 Prawn::Table::Cell::Text の場合 必要なものすべてをサポートしていない場合は、おそらく自分で作成する必要があります Prawn::Table::Cell のサブクラスを作成し、すべて手動で実行します。