首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对虾:可能有模型特定信息的静态标头?

对虾:可能有模型特定信息的静态标头?
EN

Stack Overflow用户
提问于 2011-05-24 19:51:06
回答 2查看 1.7K关注 0票数 3

我在Rails和Prawn中构建了一个PDF导出函数,在那里我想要在一个PDF中导出多个“公司”。一家公司通常有2-3个页面。现在,当导出单个公司时,这与pdf.repeat(:all)一起工作。我想在标题中的徽标改变公司的基础上。一个简单的代码示例是:

代码语言:javascript
复制
@companies.each do |c|
 pdf.repeat(:all) do
  pdf.image company.logo.url(:thumb), :at => [0,520]
 end
end

有没有办法做到这一点?我看过相关的主题,如header and footer in Prawn PDF,但它对我没有帮助,因为在生成页面后,我看不到哪个公司属于哪个页面。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 20:02:19

优秀的自文档手册(http://cloud.github.com/downloads/sandal/prawn/manual.pdf)包含以下代码(第105页),这可能会有所帮助:

代码语言:javascript
复制
repeat(lambda { |pg| pg % 3 == 0 }) do
  draw_text "Every third page", :at => [250, 20]
end
repeat(:all, :dynamic => true) do
  draw_text page_number, :at => [500, 0]
end

如果您知道哪个公司从哪个页面开始,那么lambda或dynamic都应该为您做这件事。

如果您不知道每个公司的页数,请为每个公司制作一个pdf并合并它们。手册,第109页:

代码语言:javascript
复制
filename = "#{Prawn::BASEDIR}/data/pdfs/multipage_template.pdf"
Prawn::Example.generate("full_template.pdf", :template => filename) do
  go_to_page(page_count)
  start_new_page
  text "Previous pages and content imported.", :align => :center
  text "This page and content is brand new.", :align => :center
end

在最坏的情况下,你最终会一次合并两个。

您还可以检查带有:filter选项的pdf.number_pages是否可以处理图像(如果您还没有尝试过)。我完全不知道它是否工作,我现在也没有机会检查它。

票数 3
EN

Stack Overflow用户

发布于 2011-05-24 19:57:11

不确定这是否会有帮助,但WickedPDF是一个很好的对虾替代品。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6109945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档