1

我正在使用princely(https://github.com/mbleigh/princely)在rails中生成PDF。我在一个表格单元格中有长网址。当我生成 PDF 时,它会扩展边距。在 html 中,"word-break: break-all;" 效果很好。但是这条规则“断词:break-all;” 在 PDF 中不起作用。任何人都知道在生成 PDF 时包装长文本吗?

4

2 回答 2

0

我在打印时遇到了类似的问题。除了技术问题,您还需要问自己一些设计问题:如果您正在生成网页,用户会点击链接。但是,如果您要生成 PDF,我认为目标是打印它。在这种情况下,有人需要输入这个长 URL。

  1. 用户输入长网址的可能性有多大?如果它仅在实时网页的上下文中有意义,那么您可能希望从 PDF 中删除该内容。
  2. 如果他们确实需要访问目的地,但他们不需要查看确切的 URL,那么缩短 URL 可能更有意义。

如果您想缩短 URL,您可以在 Rails 应用程序上实现 URL 重定向服务。我喜欢以下代码来生成短 URL 代码,因为它们都是键盘友好的(它们不包含令人困惑的字符,并且不需要大量移动或切换键盘):

def generate_short_murl
  a = [('a'..'k'),('m'..'z')].map{|i| i.to_a}.flatten
  n = [('2'..'9')].map{|i| i.to_a}.flatten
  (0...4).map{ a[rand(a.length)] }.join + (0...3).map{ n[rand(n.length)] }.join
end
于 2014-08-25T16:53:49.303 回答
0

由于princely 正在将ERB 转换为PDF,我相信我们可以使用rails 的truncate helper 函数来缩短链接。

= link_to truncate("The anchor you want to place", :length => 5), 'http://yoururl'
于 2014-07-31T06:55:51.383 回答