Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对虾:如何设置文档&x27;s可打印尺寸_Ruby On Rails_Ruby_Pdf_Pdf Generation_Prawn - Fatal编程技术网

Ruby on rails 对虾:如何设置文档&x27;s可打印尺寸

Ruby on rails 对虾:如何设置文档&x27;s可打印尺寸,ruby-on-rails,ruby,pdf,pdf-generation,prawn,Ruby On Rails,Ruby,Pdf,Pdf Generation,Prawn,我正在生成一个包含对虾的pdf。基本上,我生成文档并用一些图像填充它。 当我下载文件并试图打印它时,问题就出现了。尺寸未设置为我之前指定的尺寸 pdf = Prawn::Document.new(page_size: "A3", margin: PAGE_MARGIN, page_layout: :landscape) 当我尝试打印时,默认页面大小是“A4”,而不是“A3” 我怎样才能解决这个问题? 我试图附加一些元数据,但无法正常工作 提前谢谢 使用对虾1.3.0: require "pra

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

pdf = Prawn::Document.new(page_size: "A3", margin: PAGE_MARGIN, page_layout: :landscape)
当我尝试打印时,默认页面大小是“A4”,而不是“A3” 我怎样才能解决这个问题? 我试图附加一些元数据,但无法正常工作

提前谢谢

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

在您在自己的类中生成文档的情况下,这也适用于声明纸张大小:

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
class-EnvelopePdf[324684],:page_layout=>:scape)#4.5英寸x 9.5英寸,这不是10个信封
... 此处是特定于应用程序的初始化代码。。。
打印信封
结束

如果您在自己的类中生成文档,这也可以用于声明纸张大小:

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
class-EnvelopePdf[324684],:page_layout=>:scape)#4.5英寸x 9.5英寸,这不是10个信封
... 此处是特定于应用程序的初始化代码。。。
打印信封
结束

没错,尺寸设置正确。问题是,当软件读取pdf时,它没有将大小设置为正确的大小,而是使用默认值。不管怎么说,似乎prawn完成了它的工作,问题出在外部软件上。@dioshari您使用的是什么软件?即使我尝试使用mac预览打印,我也会得到错误的默认纸张大小。您是对的,尺寸设置正确。问题是,当软件读取pdf时,它没有将大小设置为正确的大小,而是使用默认值。不管怎么说,似乎prawn完成了它的工作,问题出在外部软件上。@dioshari您使用的是什么软件?即使我尝试使用mac预览打印,我也会得到错误的默认纸张大小。