Prawn: text() 抑制前导空格

创建于 2010-02-11  ·  6评论  ·  资料来源: prawnpdf/prawn

大虾::Document.generate('x.pdf") 做
 文本“x”
 文本“x”
结尾

相比较:

大虾::Document.generate('x.pdf") 做
 文本“| x”
 文本“| x”
结尾

最有用的评论

@thbar如果您有多个换行符,您的示例将中断。 改用这个:

content = content.gsub(/^([^\S\r\n]+)/m) { |m| "\xC2\xA0" * m.size }

来自http://stackoverflow.com/a/17752989/165673

所有6条评论

不是错误。 丹尼尔故意改变行为。 看:
http://groups.google.com/group/prawn-ruby/browse_thread/thread/836c1349ec76c720

好的,但是我如何渲染这个缩进:

   Prawn::Document.generate('x.pdf") do 
   text "              xxxxxx
               xxxxxx      
                   xxxxxxxxxxxxx"
   end

:indent_paragraphs 属性无法帮助我解决这个问题。

使用不间断空间: http ://en.wikipedia.org/wiki/Non-breaking_space

这是一个如何使用不间断空格来执行此操作的示例(此处显示一些代码):

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如果您有多个换行符,您的示例将中断。 改用这个:

content = content.gsub(/^([^\S\r\n]+)/m) { |m| "\xC2\xA0" * m.size }

来自http://stackoverflow.com/a/17752989/165673

内容 = content.gsub(/^([^\S\r\n]+)/m) { |m| "\xC2\xA0" * m.size }
这样做后我得到了

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

然后下载了一个字体,它就可以工作了。
谢谢你。

此页面是否有帮助?
0 / 5 - 0 等级