3

我一直在查看文档,但找不到答案。如何指定我的 pdf 文档的页面大小以及可用的页面大小是多少?我一直在寻找,但我找不到好的文档。请指向一个 URL 或让我知道如何将某些页面大小编码到我的 PDF 文档中。

哦,我不想在任何配置文件上这样做,因为我需要生成不同大小的 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
4

3 回答 3

4

您可以在创建新 PDF 时设置页面大小,如下所示:

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

PDFKit 使用 WKHTMLTOPDF,后者又使用 QPrinter。您可以在QPrinter 文档中找到可用的尺寸(有一堆),但可以肯定地说,您想要的任何尺寸的纸张都可用。此外,如果您找不到所需的尺寸,您可以设置自定义尺寸。

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

于 2012-04-24T23:11:47.557 回答
3

Pdkit 接受自定义尺寸:

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

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

于 2013-05-17T10:53:14.377 回答
2

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

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

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

PDFKit.new(html, :page_size => 'Letter')
于 2012-04-24T23:12:26.813 回答