4

我用 ruby​​ 尝试了watermark existing pdf中的示例,但是当我打印生成的文档时,“WATERMARK”被颠倒打印,几乎就像它到达纸的末端,折叠然后打印在背面(但显示通过前面)。事实上,这是因为我用“pdf.text”添加了几行文本。

我还尝试使用 :page_size=>"LEGAL" 来调整新文档的页面大小,但这并没有改变任何东西。我也尝试了“LETTER”和“EXECUTIVE”,但这些也不起作用。

有没有办法让它在不折叠的情况下打印出来?

4

1 回答 1

0

您尝试添加水印的 PDF 很可能已被旋转。

您可以使用CombinePDF gem来修复旋转并向现有 PDF 添加水印,如下所示:

require 'combine_pdf'
watermark = CombinePDF.load("watermark.pdf").pages[0]
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each {|page| page.fix_rotation << watermark}
pdf.save "content_with_watermark.pdf"

或者,您可以使用自己的文本添加水印:

require 'combine_pdf'
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each {|page| page.fix_rotation.textbox 'watermark', opacity: 0.3}
pdf.save "content_with_watermark.pdf"

请注意,#fix_rotation返回self- 即页面对象 - 它允许我们像我在此演示代码中所做的那样链接方法。

至于 PDF::Reader ...我不知道如何将“旋转:180”移动到实际页面的内容流中。但是如果你坚持使用 pdf_reader gem,你也许可以在它的文档中找到一些数据。

祝你好运!

附言

据我所知,Prawn 放弃了它的模板支持......所以你引用的例子不应该适用于新版本的 Prawn。

于 2015-06-07T07:51:47.117 回答