2014-11-05 66 views
0

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

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

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

在此先感谢!

回答

2

使用虾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

你说得对,尺寸设置正确。问题是,当一个软件正在阅读pdf时,它不会将大小设置为正确的大小,而是使用默认值。无论如何,似乎虾做的工作,问题是外部软件。 – hcarreras 2014-11-06 09:35:06

+0

@dioshari你在使用什么软件? – 2014-11-06 10:49:42

+0

即使我尝试使用Mac预览进行打印,我也会得到错误的默认纸张尺寸。 – hcarreras 2014-11-06 13:26:44

1

在的情况下你重新生成这也适用于宣布纸张尺寸:

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