2010-11-10 93 views
2

我正在大蝦,0.11.1.pre繪製格式化文本表格/單元格內有蝦

我只是做了一些基本的測試的Rails 3.0.1,看看我是否能得到大蝦創建一個簡單的表包括一些格式的文本:

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」...

我應該怎麼做?

回答

5

formatted_text不返回格式化文本,它呈現它。所以,當 在table的構建數據的同時調用formatted_text時,將在表格之前呈現「單元格2」 ,並且在第1行和第2列的單元格爲 爲空。我想你想在Prawn::Table::Cell::Text對象 你有你的formatted_text電話。如果Prawn::Table::Cell::Text 不支持您需要的一切,那麼您可能需要製作Prawn::Table::Cell的 的子類,然後全部手動完成。

+0

感謝您的答覆...這是非常令人沮喪......我想了解蝦是如何工作的,我根本看不懂的文件.. 。 – jfanals 2010-11-10 19:57:43

+0

你能給我一個額外的幫助:當試圖用下面的代碼創建一個簡單的Prawn :: Table :: Cell :: Text對象時:Prawn :: Table :: Cell :: Text.make(self,:content =>「Cell 2」),但我仍然有一些錯誤(這次錯誤是「內容類型不能識別:{:content =>」test「}」,創建對象的正確方法是什麼? – jfanals 2010-11-10 20:05:07

+0

「make」的第二個參數應該是「點」,「:content」和其他選項。對蝦有點稀疏。這些例子可能是有用的,有一些使用'Prawn :: Table :: Cell :: Text'的演示:https://github.com/sandal/prawn/tree/stable/examples/ – 2010-11-10 23:00:10

3

至少在對蝦0.12,我可以這樣做:

table_data = 
    [[Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "<b>Bold!</b>", 
               :inline_format => true), 
    Prawn::Table::Cell::Text.new(pdf, [0,0], :content => txt) 
    ]] 

    pdf.table(table_data)