Prawn::Document.generate('x.pdf") tun Text "X" Text "X" Ende
Im Gegensatz zu:
Prawn::Document.generate('x.pdf") tun text "| x" text "| x" Ende
Kein Fehler. Absichtliche Verhaltensänderung von Daniel. Sehen:
http://groups.google.com/group/prawn-ruby/browse_thread/thread/836c1349ec76c720
Ok, aber wie kann ich diese Einrückung rendern:
Prawn::Document.generate('x.pdf") do
text " xxxxxx
xxxxxx
xxxxxxxxxxxxx"
end
Die Eigenschaft :indent_paragraphs konnte mir dabei nicht helfen.
Verwenden Sie geschützte Leerzeichen: http://en.wikipedia.org/wiki/Non-breaking_space
Hier ist ein Beispiel dafür, wie Sie dies mit geschützten Leerzeichen tun können (hier, um etwas Code anzuzeigen):
content = "def function(param)\n puts 'this'\nend"
content = content.gsub(/^(\s+)/m) { |m| "\xC2\xA0" * m.size }
font "courier" do
text content
end
@thbar Ihr Beispiel bricht ab, wenn Sie mehrere Zeilenumbrüche haben. Verwenden Sie stattdessen Folgendes:
content = content.gsub(/^([^\S\r\n]+)/m) { |m| "\xC2\xA0" * m.size }
Inhalt = Inhalt.gsub(/^([^\S\r\n]+)/m) { |m| "\xC2\xA0" * m.Größe }
Nachdem ich dies getan hatte, bekam ich
PDF's built-in fonts have very limited support for internationalized text.
If you need full UTF-8 support, consider using a TTF font instead.
To disable this warning, add the following line to your code:
Prawn::Font::AFM.hide_m17n_warning = true
Dann eine Schriftart heruntergeladen und es funktioniert.
Danke.
Hilfreichster Kommentar
@thbar Ihr Beispiel bricht ab, wenn Sie mehrere Zeilenumbrüche haben. Verwenden Sie stattdessen Folgendes:
Von http://stackoverflow.com/a/17752989/165673