2012-09-10 28 views
7

Tôi đang cố gắng tạo một bảng đơn giản bằng ruby ​​với pdf.Bảng PDF dạng hỗn hợp

Tôi cần một số văn bản trong ô được in đậm và một số văn bản không được in đậm. Ví dụ:

Example table Bây giờ sau một số ví dụ, tôi có bảng cơ bản render với mã này:

pdf.table([ 
    ["1. Row example text", "433"], 
    ["2. Row example text", "2343"], 
    ["3. Row example text", "342"], 
    ["4. Row example text", "36"]], :width => 500, :cell_style => { 
    :font_style => :bold}) 

Nhưng tôi có thể thấy hoàn toàn không có cách nào chèn văn bản hơn vào tế bào đầu tiên với một định dạng khác nhau . (Trong trường hợp này, tôi muốn nó không bị bẻ khóa)

Có ai biết cách thực hiện điều này không?

Nhờ sự giúp đỡ

Trả lời

19
Prawn::Document.generate("test.pdf") do |pdf| 
    table_data = [[Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "<b>1. Row example text</b> \n\nExample Text Not Bolded", :inline_format => true), "433"], 
        [Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "<b>2. Row example text</b>", :inline_format => true), "2343"], 
        [Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "<b>3. Row example text</b>", :inline_format => true), "342"],      
        [Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "<b>4. Row example text</b>", :inline_format => true), "36"]] 

    pdf.table(table_data,:width => 500) 
end 

Bạn cũng có thể làm

Prawn::Document.generate("test.pdf") do |pdf| 
    table_data = [["<b>1. Row example text</b>\n\nExample Text Not Bolded", "<b>433<b>"], 
        ["<b>2. Row example text</b>", "<b>2343</b>"], 
        ["<i>3. Row example text</i>", "<i>342</i>"], 
        ["<b>4. Row example text</b>", "<sub>36</sub>"]] 

    pdf.table(table_data, :width => 500, :cell_style => { :inline_format => true }) 
end 

inline_format Tôm của hỗ trợ <b>, <i>, <u>, <strikethrough>, <sub>, <sup>, <font>, <color> and <link>

+0

Cảm ơn bạn, chỉ là những gì tôi đang tìm kiếm. Đã lo lắng điều này sẽ thoái hóa thành các tế bào lồng nhau vô hình! – Chris

Các vấn đề liên quan