Prawn:如何设置文档的可打印尺寸

时间:2014-11-05 09:46:31

标签: ruby-on-rails ruby pdf pdf-generation prawn

我正在用prawn生成一个pdf。基本上,我生成文档,并填写一些图像。 当我下载文件并尝试打印时出现问题。尺寸未设置为我之前指定的尺寸。

pdf = Prawn::Document.new(page_size: "A3", margin: PAGE_MARGIN, page_layout: :landscape)

当我尝试打印时,默认页面大小为“A4”而不是“A3” 我怎么解决这个问题? 我试图附加一些元数据,但它无法正常工作。

提前致谢!

2 个答案:

答案 0 :(得分:2)

使用prawn 1.3.0:

require "prawn"

pdf = Prawn::Document.new(:page_size => 'A3')

pdf.text "Hello World!"

pdf.render_file("export.pdf")

在终端:

  

pdfinfo export.pdf

输出:

Creator:        Prawn
Producer:       Prawn
Tagged:         no
Form:           none
Pages:          1
Encrypted:      no
Page size:      841.89 x 1190.55 pts
Page rot:       0
File size:      842 bytes
Optimized:      no
PDF version:    1.3

答案 1 :(得分:2)

如果您在自己的班级中生成文档,这也可用于声明纸张尺寸:

class EnvelopePdf < Prawn::Document
    def initialize(_item_array, _type_of_item)
       super(:page_size => [324, 684], :page_layout => :landscape)   # 4.5" by 9.5", which is No 10 envelopes
   ... application-specific initialization code here ...
    print_the_envelopes
end