2012-02-17 48 views
3

我在rails 3.0應用程序中使用了Prawn Gem 0.12.0蝦我如何填寫表單字段使用蝦?

我的文件顯示了罰款:

class TemplatePdf < Prawn::Document 
def initialize 

filename= "#{Prawn::BASEDIR}/data/pdfs/RMA_Formular.pdf" 
     super(:template => filename) 
     text_box "2005-xxxx1055", :at=>[40,472] 
     text_box "#{current_user.email}", :at =>[280, 472] 
     text_box ... 
... 
end 

的text_box prefills的RMA形式的幾個表單字段。

我想使用pdf的表單字段的字段名稱,而不是使用text_box "xxx", :at=>[x, y]手動定位它們。

那麼有沒有辦法將例如用戶的電子郵件發送到電子郵件表單字段?

我希望一些代碼,就像

template.fields[:email] => current_user.email 

這將填補PDF格式的表單字段預期,救我脫離硬編碼絕對位置爲每個模板設計。

回答

-1

我還沒有試過這一個,但我從實施例中注意到,:at => [x, y]必要選項並用於在文檔(x, y)位置移動到元件恰好定位。

如果你不想在(x,y)位置準確定位,您可以使用text方法如下

text "Some string" 
move_down 20 
text "Some other string" 

另一種辦法是,你可以在一個YML文件保存這些位置值的每個字段並在代碼中重複使用而不是硬編碼。

+0

我想你錯過了。模板可能會改變,所以可能會改變例如電子郵件字段的位置,但仍然會有一個電子郵件字段。如果我使用:at => [x,y]編碼,則必須在模板的每次更改時重新編程位置。 – chris 2012-02-17 13:05:49

+0

有沒有方法可以讀取現有的PDF並找出現有字段在何處進行編程。 – holaSenor 2012-06-25 16:27:49