Создание pdf из 1000+ страниц завершается неудачно в случае предоставления заголовка.
layout / header - это файл header.pdf.haml.
После просмотра различных предложений увеличилось ограничение на количество открытых файлов в Ubuntu.
respond_to do |format|
format.html
format.xlsx
format.pdf { render pdf: "Test report", dispoistion: :attachment,
:show_as_html => (params[:d].present? && params[:d] == "true"),
layout: "pdf.html.haml",
margin: {
top: 38
},
header: {
spacing: 2,
html: {
template: 'layouts/header',
formats: [:pdf],
handlers: [:haml],
layout: nil,
locals: {
title: "Test Report"
}
}
}
}
end
RuntimeError (Не удалось выполнить:
["/shared/bundle/ruby/2.2.0/bin/wkhtmltopdf", "-q", "--page-size",
«Буква», «--margin-top», «38», «--header-spacing», «2»,
"--Header-HTML",
"Файл: ////tmp/wicked_header_pdf20180828-94225-2oante.html",
"--footer-left", "Test Online", "--footer-right", "Page [page] of
[topage] "," file: ////tmp/wicked_pdf20180828-94225-f0g5x0.html ",
"/tmp/wicked_pdf_generated_file20180828-94225-80q49r.pdf"] Ошибка: PDF
не может быть сгенерировано! PaintDevice: невозможно уничтожить устройство рисования, которое
красится):
Добавлено, может кто-нибудь предложить способ, как сделать так, чтобы заголовок указывал на локальный путь.
Как предлагается в https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2093#issuecomment-167955213