2011-01-21 3 views
3

Je suis sur le point de démarrer un projet. Je voudrais être en mesure d'éditer un fichier PDF (formulaires) en utilisant des rails.Utilisation de ruby ​​pour modifier un PDF

Quelle est la meilleure (et la plus simple) solution pour cela?

Donc exactement ce dont j'ai besoin est quelque chose qui me permettrait modifier un fichier PDF existant (un formulaire) et permettre à l'utilisateur de l'imprimer. Probablement leur nom et d'autres choses.

aide sera appréciée :)

+0

Voulez-vous dire produire un PDF à partir de zéro, ou modifier un PDF existant? – Phssthpok

+0

Quelle relation de Rails au PDF? – Nakilon

+0

Je voulais modifier un PDF existant – criticerz

Répondre

-2

Si vous êtes à la recherche d'une bibliothèque de rubis pour cela, alors vous pouvez penser à prawn

0

vous pouvez essayer pdf-Stamper. Je travaille sur les champs de formulaire pdf maintenant. Il y a ma solution.

@template = PDF::Stamper.new(@form.pdf.current_path) 

fields = @template.extract_fields 

@form.form_fields.each do |ff| 
    if fields.has_key?(ff.pdf_field) 
    val = form_data.get_value(ff) 
    render_field(@template, ff, val) 
    else 
    BindFile.logger.warn "Key '#{ff.pdf_field}' Not Found".center(100, "-") 
    end 
end 

def render_field(templet, form_field, val) 
    if val.present? 
     case form_field.pdf_field_type 
     when "CheckBox" 
     if val.present? 
      templet.checkbox form_field.pdf_field 
     end 
     when "RadioButton" 
     templet.send("radio_button", form_field.pdf_field, "Yes") 
     when "", nil 
     templet.send "text", form_field.pdf_field, val 
     else 
     templet.send(form_field.pdf_field_type.to_s.downcase, form_field.pdf_field, val) 
     end 
    end 
end 

ici j'ai amélioré pdf-stamper ajouter une méthode "extract_fields". et utiliser l'enregistrement de base de données pour gérer les documents pdf. espère utile pour vous.

Questions connexes