PrawnPDF Flip整个PDF

时间:2015-07-14 15:51:17

标签: ruby-on-rails pdf printing prawn

我正在使用Prawn PDF来创建我发送给标签打印机的标签,但标签打印上下颠倒。这很重要,因为我们使用的运输标签上已经印有一些印刷品。我正在使用的设置(通过Lantronix xPrintServer到Zebra打印机的iPad)将不允许我使用驱动程序翻转它。

所以我想知道是否有一种方法使用Prawn(甚至只是Rails)翻转整个文档(包含2页以上),以便在标签上正确打印出来。页面的顺序不是必需的。

2 个答案:

答案 0 :(得分:1)

我最近没有使用过Prawn,但我非常确定使用代码顶部的rotate方法会有效。您只需要将原点设置为页面的中心,或使用translate在旋转后重新定位内容。 manual(PDF)中的第29页有一些示例代码。

答案 1 :(得分:0)

您可以将pdf保存到文件中,然后使用真棒pdftk旋转保存的pdf,然后发送修改后的版本。

https://www.pdflabs.com/docs/pdftk-cli-examples/

编辑 - pdftk不是库/插件/ gem,或者任何类型的Ruby。这是一个命令行工具,您可以在控制器中使用它,替换当前的“生成并发送pdf”代码。

#instead of sending the pdf straight to the user, save it to a file
#i'm not sure how to do this in prawn but it can't be difficult

#rotate the original to a new file
`pdftk /path/to/original.pdf cat 1-endsouth output /path/to/rotated.pdf`

#you could test whether the rotated file exists here as an error-check

#then use send_file to send the rotated one as the response. 
send_file "/path/to/rotated.pdf", :type => "application/pdf"