2012-01-20 6 views
0

データベースからのデータでpdfフォームフィールドを埋めるために使用できるrubyライブラリ/アプローチを提案してください。Adob​​eのすべてのバージョンを使用して作成したPDFフォームフィールドを埋めるためのrubyライブラリを提案してください

ここでは、http://oldwiki.rubyonrails.org/rails/pages/HowtoGeneratePDFs PDFフォームの記入欄に、FDFファイルを作成してPDFにデータを送信する方法を説明しました。しかし、提案されているアプローチでは、PDFフォームは7.0より前のバージョンのAcrobatで作成する必要があり、xmlを使用してフォームを作成する別の方法を使用するため、このメソッドは機能しません。

私はまた、JRubyのiTextの間で来ているが、http://www.mikeperham.com/2011/02/15/filling-out-pdf-forms-with-jruby/

を助けるルビーベースのソリューションがあります場合、私はレール3.1とRuby 1.9.3

+0

http://stackoverflow.com/questions/433136/generate-pdf-from-rails – crazycrv

答えて

1
+0

Rfpdf Plugin for Railsを参照してください。 FPDFを使用してRailsテンプレートからPDF出力を生成します。プラグインには中国語、韓国語、日本語のポートが含まれています。 http://rubyforge.org/projects/rfpdf/ – crazycrv

+0

https://github.com/edwinmoss/rfpdfで新しいバージョンが見つかります。 – crazycrv

1

私は宝石cを作成これを達成するためにalled pdf_ravager。これは基本的にmperham found(そしてJRubyに依存している)というアプローチを使用しますが、XFAフォーム(Adobe LiveCycleから作成されたXMLベースのフォーム)を処理する能力も強化されています。私はまた、プロセスをより読みやすくする本当にシンプルなDSLを作成しました。

require 'pdf_ravager' 

data = {:name => 'Bob', :gender => 'm', :relation => 'Uncle' } 

info = pdf do 
    text 'name', data[:name] 
    text 'name_stylized', "<b>#{data[:name]}</b>", :rich => true 
    radio_group 'sex' do 
    fill 'male' if data[:gender] == 'm' 
    fill 'female' if data[:gender] == 'f' 
    end 
    check 'related' if data[:relation] 
    checkbox_group 'relation' do 
    case data[:relation] 
    when 'Mom', 'Dad' 
     check 'parent' 
    when 'Brother', 'Sister' 
     check 'sibling' 
    else 
     check 'other' 
    end 
    end 
end 

info.ravage '/tmp/info.pdf', :out_file => '/tmp/info_filled.pdf' 
# if you'd like the populated form to be read-only: 
info.ravage '/tmp/info.pdf', :out_file => '/tmp/info_filled.pdf', :read_only => true 

それはまだ非常に若いですが、それは今のシンプルなフォームのために働く必要があります。次に例を示します。私はそれを締めて、すぐにもっと多くの機能を追加したいと思っています。フィードバック/プルのリクエストは大歓迎です!

関連する問題