2012-04-24 93 views
3

我一直在寻找文件,但无法找到答案。我如何指定我的pdf文档的页面大小以及可用的页面大小?我一直在寻找和寻找,但我找不到好的文档。请指向一个URL或让我知道如何将一些页面大小编码到我的PDF文档中。Rails 3和PDFKit。如何指定页面大小?

哦,我不想在任何配置文件上这样做,因为我需要生成不同大小的PDF文档。

不是在配置文件...

PDFKit.configure do |config| 
config.wkhtmltopdf = `which wkhtmltopdf`.to_s.strip 
config.default_options = { 
    :encoding=>"UTF-8", 
    :page_size=>"A4", #or "Letter" or whatever needed 
    :margin_top=>"0.25in", 
    :margin_right=>"1in", 
    :margin_bottom=>"0.25in", 
    :margin_left=>"1in", 
    :disable_smart_shrinking=>false 
    } 
end 
+0

您是否能够继续工作? – 2012-04-28 04:29:36

+0

这个工作适合你吗?如果属实,接受? – Nenotlep 2013-07-22 07:29:09

回答

4

创造这样一个新的PDF时,您可以设置页面大小:

kit = PDFKit.new(source, :page_size => "Legal") 

PDFKit使用WKHTMLTOPDF又使用QPrinter来。您可以在QPrinter documentation(有一堆)中找到可用的尺寸,但可以很容易地说出所需的任何尺寸的纸张都可用。此外,如果找不到所需的设备,您可以设置自定义尺寸。

注意:如果您没有在某个配置中为page_size设置默认选项,并且在您的方法调用中未提供一个,PDFKit将使用其内部默认(Letter)。请参见lib/pdfkit/configuration.rb的第10行

2

由于它使用wkhtmltopdf来生成PDF,我假设您可以使用它支持的相同选项。在wkhtmltopdf手册,我发现,它提到了以下网站尺寸的列表:

http://doc.trolltech.com/4.6/qprinter.html#PaperSize-enum

要设置页面大小,您可以使用:PAGE_SIZE选项,如下所示:

PDFKit.new(html, :page_size => 'Letter') 
+0

你好,这行是PDFKit.new(html,:page_size =>'Letter')'在控制器或视图中?或者在pdfkit.rb中? – 2014-02-28 05:10:44

2

Pdkit接受自定义尺寸:

PDFKit.configure do |config| 
    config.wkhtmltopdf = `which wkhtmltopdf`.strip 
    config.default_options = { 
      :page_width => '1682', 
      :page_height => '2378' 
     } 
    end 

尺寸必须以毫米为单位(wkthmltopdf文档)。

+0

以毫米为单位指定'page_width'和'page_height'为我工作。 – 2014-05-25 17:49:47