2012-02-17 11 views
3

rails 3.0アプリケーションでPrawn Gem 0.12.0を使用しています。Prawn Prawnを使用してフォームフィールドを入力するにはどうすればよいですか?

マイドキュメントは罰金を示しています

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はRMA-形式のいくつかのフォームフィールドを事前移入します。

text_box "xxx", :at=>[x, y]を使用して手動で配置する代わりに、pdfのフォームフィールドのフィールド名を使用します。

メールフォームフィールドにユーザーのメールなどを送信する方法はありますか?

私は予想通り、PDFのフォームフィールドを記入し、各テンプレートの設計のための絶対位置をハードコーディングから私を救う

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

のようないくつかのコードを期待します。

答えて

-1

私はこの1つを試していないが、私は:at => [x, y]必須オプションで、文書の(x, y)位置にある要素正確を配置するために使用されることを例から気づきました。

あなたは(x,y)位置に正確に配置する必要がない場合

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

を次のように、あなたは別のオプションは、YMLファイル内の各フィールドのこれらの位置の値を保つことができるだろうtextメソッドを使用することができますコード内でハードコーディングの代わりに再利用することができます。

+0

私はあなたが間違っていると思う。テンプレートが変更される可能性があるため、たとえば電子メールフィールドの位置が変更される可能性がありますが、依然として電子メールフィールドがあります。私は:at => [x、y]を使ってコードすると、テンプレートの変更ごとに位置を再プログラムする必要があります。 – chris

+0

既存のPDFを読み込み、既存のフィールドがどこにプログラマ的にあるのかを見つける方法はありますか? – holaSenor

関連する問題