干杯!我正在使用wicked_pdf从视图生成pdf文档:
pdf = WickedPdf.new.pdf_from_string(
render_to_string(
:layout => "pdf_report.haml",
:handlers => [:haml],
:formats => [:pdf, :haml],
:orientation => 'Landscape',
:encoding => "utf8",
:page_width => '2000',
:dpi => '300'
)
)
没关系,如果pdf有一页:
但是如果pdf doc有多个页面,那么页面的宽度就会被打破:
答案 0 :(得分:2)
我无法使用您发布的代码重现您的“只有一页”方案,但是您传递的选项存在问题。他们甚至没有到达wkhtmltopdf
,因此可能会为您决定 使用哪种选项。
render_to_string
会默默地丢弃它不理解的任何选项,但不属于wicked_pdf
。
pdf_from_string
有两个参数,第一个是pdf-ify的字符串,第二个是README的pdf选项的散列。
我已将您的问题添加到wicked_pdf_issues项目,以重现和调试它:
https://github.com/unixmonkey/wicked_pdf_issues/commit/b722e8a06c42e1f2bcbb98281915d1e94b4fe2c9
您应该通过将代码更改为以下内容来获得所需的结果:
string = render_to_string(
template: 'pages/issue_330',
formats: [:pdf],
handlers: [:erb]
)
options = {
orientation: 'Landscape',
page_width: '2000',
dpi: '300'
}
pdf = WickedPdf.new.pdf_from_string(string, options)