如何去掉 Prawn 生成的 PDF 中奇怪的方框字符?

How to get rid of weird box characters in PDFs generated with Prawn?

我是 运行 一个 Rails 6 应用程序,用户可以在其中将其内容转换为 PDF。

我正在使用 Prawn 生成 PDF。

大多数 PDF 看起来不错,但其中一些包含空 (?) 框字符。我根本不明白他们来自哪里,我也无法询问我们的用户。这是其中一个 PDF 文件的屏幕截图:

我怎样才能去掉那些方框字符?

我的猜测是我们的用户正在从他们的文字处理器(例如 MS Word)中复制内容,并且这些内容包含隐藏的格式、制表符等。

我怎样才能摆脱那些?

好的,解决这个问题非常简单。我只是没有意识到 tabs 造成了麻烦,而 Prawn 无法处理它们(显然)。

所以为了让 Prawn 开心,我在我的模型中这样做了:

class Project < ApplicationRecord

   before_save :replace_tabs

   def replace_tabs
     number_of_spaces = 4
     description.gsub!("\t", ' ' * number_of_spaces)
   end

end