2012-04-24 31 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