作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Prawn gem 在我的 Rails 应用程序中生成 PDF 文档。我已经成功创建了 PDF 但我有一个目录,我想知道是否有可能或者是否有一种方法可以在 Prawn 中创建前导点效果 ?
最佳答案
是的,有一种方法可以在 Praw 中创建领导点效果。
如果你有:
space_for_dots = 1. - 2. - 3.
dots = (space_for_dots/4) * '.'
toc_entry = entry_string + 点 + entry_page_number
Prawn 计算字符串的宽度可以用compute_width_of ,它是字体类的一部分。
您添加的图片示例如下所示:
def build_toc_entry(left_text, right_text, available_width, text_size)
left_text_width = font(YOUR_FONT).compute_width_of(left_text, size: text_size)
right_text_width = font(YOUR_FONT).compute_width_of(right_text, size: text_size)
dot_width = font(YOUR_FONT).compute_width_of('.', size: text_size)
space_width = font(YOUR_FONT).compute_width_of(' ', size: text_size)
space_for_dots = available_width - left_text_width - right_text_width - space_width * 2
dots = '.' * (space_for_dots / dot_width)
"#{left_text} #{dots} #{right_text}" # return the finished toc entry
end
text 'Locate the information on the page indicated.'
text build_toc_entry('Leader Dots', '3', 350, 8)
text build_toc_entry('Dingbats', '5', 350, 8)
text build_toc_entry('Bullets', '8', 350, 8)
关于ruby-on-rails - Prawn :目录如何做成 “Leader dots”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38855558/
我是一名优秀的程序员,十分优秀!