2013-05-14 56 views
4

我试过watermark existing pdf with ruby的例子,但是当我印制生成的文件时,“水印”被打印倒过来,就好像它到达了纸的末端,折叠然后印在背面(但通过正面显示)。事实上,那是因为我用“pdf.text”添加了几行文本。红宝石:宝石虾:印花包装和倒挂

我也尝试玩新页面大小的页面大小:page_size =>“LEGAL”,但这并没有改变任何东西。我也尝试过“LETTER”和“EXECUTIVE”,但那些都不起作用。

有没有办法让它打印它没有折叠?

回答

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 ...我不知道如何将'Rotate:180'移动到实际页面的内容流中。但是如果你坚持使用pdf_reader gem,你可能会在it's documentation中找到一些数据。

祝你好运!

P.S.

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

+0

仅供参考这是问题不是由旋转引起的。内容是垂直镜像的。下面是一个更好的例子:https://github.com/prawnpdf/prawn/issues/568 – ndbroadbent