Templates 虾重复模板填充不同的内容
我有一个4页的模板为我的PDF我想与生成。我需要重复这个模板在我的pdf多次,每次填写不同的内容 如果我使用:Templates 虾重复模板填充不同的内容,templates,repeat,prawn,Templates,Repeat,Prawn,我有一个4页的模板为我的PDF我想与生成。我需要重复这个模板在我的pdf多次,每次填写不同的内容 如果我使用: Prawn::Document.generate('output.pdf',模板:“a_template.pdf”) 我在output.pdf中获得一次模板,后续页面为空 如果我使用 [“John”,“Jane”]。每个用户| 开始新页面模板:“a_template.pdf”,第1页 文本“第1页为用户#{user}填写的内容” 3.times{i|start|u new_页面模板:
Prawn::Document.generate('output.pdf',模板:“a_template.pdf”)
我在output.pdf中获得一次模板,后续页面为空
如果我使用
[“John”,“Jane”]。每个用户|
开始新页面模板:“a_template.pdf”,第1页
文本“第1页为用户#{user}填写的内容”
3.times{i|start|u new_页面模板:'a_template.pdf',模板页面:i+2}
结束
我得到的文本“内容填写在第1页为用户…”重复和覆盖对方,在每一页,这是从模板的第一页。因此,对于每四个页面,我都会在页面的同一位置呈现所有用户的内容
有人知道如何让对虾多次包含模板,每次都用不同的内容填充模板吗?我想避免生成一堆PDF文件并将它们连接在一起
即使我第一次将模板连接在一起所需的次数,对于使用以下代码的每个用户:
tmp_template=Tempfile.new['template','.pdf',tmpdir
Prawn::Document.generate(tmp_template.path,skip_page_creation:true)do
用户。每个人都做| u|
4.times{i |开始|新|页面模板:卡片| tmpl,模板|页面:i+1}
结束
结束
然后做:
Prawn::Document.generate('output.pdf',模板:tmp\u template.path)
要为后续用户填充后续模板副本,它仍然会在新模板中出现第一页副本时放置相同的内容 没有其他人出现,所以我做了以下事情 首先创建没有任何页面的新PDF对象:
pdf=Prawn::Document.new skip\u page\u创建:true
然后,对于每个用户:
tempfile
(使用)李>
2.times{i | pdf.start|u新页面模板:tempfile,模板页面:i+1}
最后,呈现最终PDF:
pdf.render“output.pdf”
表演糟透了。但它是有效的,以这种方式生成的PDF将在acrobat reader中打开。Prawn maintainer的评论指出,我们更应该找到另一个PDF库。Prawn决定放弃对模板的支持。