Wie kann ich die inline-Formatierung (Fett und Unterstrichen) für PDF generiert von Prawnto in Rails?
Generiere ich eine PDF-Datei mit Garnelen und Prawnto plugin in meine rails-Anwendung.
Erstelle ich ein standard-Formular mit einem standard-textarea, und behaupte, dass der Text der PDF-Datei.
Allerdings brauche ich, um in der Lage zu formatieren, Wörter und Sätze, die mit:
- Fett
- unterstreichen
- vielleicht unterschiedlichen Schriftgrößen
Ich möchte in der Lage sein, es zu tun, aus der textarea-Eingabefeld. Jetzt, da ich mit prawnto, der ich im Grunde bin genering eine Ansicht, die Ausgänge, was in der textarea.
Aber, wenn ich, sagen wir, Fett in den text-Bereich, ist es nicht von format, der es gerade macht.
Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
vielleicht haben wir ähnliche apps...
Garnelen können einfache inline-Formatierung auf der Grundlage von (einfachen) HTML - werfen Sie einen Blick auf die text/inline_format.rb Beispiel auf github. In der Tat, nehmen Sie einen Blick auf die gesamte Garnelen-Beispiel-Galerie, wenn Sie nicht - es ist eines der besten, die ich gesehen habe.
Um die HTML Sie benötigen, können Sie entweder geben Sie HTML direkt in die textarea (ein bisschen hässlich - vielleicht nicht eine gute Idee, wenn jemand neben Sie text eingeben) oder so etwas wie Markdown zu interpretieren, mehr user-friendly "- Stil-codes" wie StackOverflow hat. Ich denke, BlueCloth ist das am besten bekannte ruby-Implementierung, aber ich habe es nie benutzt mich.
Fett " und " Unterstrichen? Kein problem. Schriftgröße könnte härter sein - ich kann mir vorstellen, es wäre schwierig zu bekommen BlueCloth zu emittieren, so etwas wie die (veraltet) < font > Tags, die Sie in die Garnelen Beispiel...
Hoffe, das hilft - cheers!
pdf.text @textarea_text
irgendwo in Ihrem Blick. Hinzufügen der:inline_format => true
option, wie Sie sagte sollte werden alle, die Sie nimmt. Aber kein Versprechen - ich habe es noch nicht getestet!In der Antwort zu bold text...
Controller:
respond_to do |format|
format.pdf - {render :layout => false}
prawnto :filename => @current_project+".pdf", :prawn => {:font => 'Times-Roman'}, :inline=>false
Ende
Dann in pdf.Garnelen-Datei, die Sie verwenden können:
in einem Textfeld:
pdf.text_box "Dokument-Revisionen", :size => 16, :style => :Fett, :an => [0.mm,10.mm], :width => 100.mm, :height => 15.mm;
oder in einer Textzeile auf seine eigene:
pdf.text "Dokument-Inhalt", :size => 16, :style => :bold;
Wie ich es verstehe - aber nicht versucht, es zu unterstreichen, die Sie tun müssen:
:styles => [:Fett :Unterstrichen];
Referenzmodell diesem link für mehr
Dies ist nicht ein feature der version 0.8.4 aber version 0.10.2 - nicht sicher, wie Sie Sie tun würden unterstreichen in 0.8.4. Ich bin momentan nicht mit 0.10.2 so kann nicht bestätigen, dass dies funktioniert.
Basierend auf was Sie gesagt haben, ich denke, das ist, was Sie wollen, für Fett:
pdf.text_box "#{@yourtext.text}", :size => 16, :style => :Fett, :an => [0.mm,10.mm], :width => 100.mm, :height => 15.mm;