我用 ruby 尝试了watermark existing pdf中的示例,但是当我打印生成的文档时,“WATERMARK”被颠倒打印,几乎就像它到达纸的末端,折叠然后打印在背面(但显示通过前面)。事实上,这是因为我用“pdf.text”添加了几行文本。
我还尝试使用 :page_size=>"LEGAL" 来调整新文档的页面大小,但这并没有改变任何东西。我也尝试了“LETTER”和“EXECUTIVE”,但这些也不起作用。
有没有办法让它在不折叠的情况下打印出来?
我用 ruby 尝试了watermark existing pdf中的示例,但是当我打印生成的文档时,“WATERMARK”被颠倒打印,几乎就像它到达纸的末端,折叠然后打印在背面(但显示通过前面)。事实上,这是因为我用“pdf.text”添加了几行文本。
我还尝试使用 :page_size=>"LEGAL" 来调整新文档的页面大小,但这并没有改变任何东西。我也尝试了“LETTER”和“EXECUTIVE”,但这些也不起作用。
有没有办法让它在不折叠的情况下打印出来?
您尝试添加水印的 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。