2016-10-19 60 views
2

我試圖在Rails 4中使用蝦來創建一個pdf文件。我需要垂直文本作爲標題行寬度大的表。因爲如果我使用水平行標題,表格將不適合(表格的內容是帶有1或2個字符的文本)。從列表中的頂部文本對蝦表

我嘗試使用rotate選項作爲蝦桌。但是,只有當我將寬度設置爲足以在文本仍處於水平方向時保持文本時,該功能纔有效。但是,當我想要垂直時,這會浪費空間。但是,如果我減少列標題的寬度,文本會中斷。

這似乎是一個在這裏報告的錯誤https://github.com/prawnpdf/prawn/issues/409。看起來這個拉取請求解決了問題https://github.com/prawnpdf/prawn-table/pull/32

但是由於我使用的是prawn-rails,我很難將gem更改爲使用該尚未合併到主服務器的請求。

我應該如何着手解決這個問題?

+0

那麼,沒有人知道答案? – Anwar

回答

2

我終於在我的rails項目中使用the PR of straydogstudio解決了這個問題。這是一步一步的解決方案。

首先編輯Gemfile以包括來自straydogstudio回購的蝦桌寶石。

gem 'prawn-table', :git => 'https://github.com/straydogstudio/prawn-table.git', ref: '759a27b6' 

我用ref:選擇最小化整個庫所需的下載。

接下來,我用:rotate選項沒有:valign。這很重要,因爲當使用:valign時,文本以某種方式被弄亂。

我的對蝦表初始化塊內使用的選項是

cells.font_size = 6 
    cells.padding = [1, 1] 

    row(0).rotate = 90 
    row(0).columns(3..52).rotate = 0 # every splitted column should be counted 
    row(0).height = 40 
    row(0).width = 15 
    row(0).align = :center 
    row(1).columns(0..-1).rotate = 90 # rotate the second row too! 
    row(1).height = 30 

結果是令人滿意的。以下是複雜設置的屏幕截圖。

table with rotate fix

希望這將有助於未來的遊客。