Рельсы: Как распечатать детали модели на странице формата А4 в формате PDF?
В своем заявлении о приеме на работу я хотел бы подготовить квитанцию на странице А4 для клиента.
Таким образом, мне нужно как-то напечатать Job
детали модели на одной странице формата А4 PDF.
Есть ли какие-либо встроенные инструменты в Rails для этой цели?
Если нет, что будет лучшим путем?
2 ответа
По сути, есть два варианта: (для создания любого PDF требуется гем - нет создания PDF по умолчанию для рельсов).
Создайте чистый PDF, используя Prawn. Вы должны выполнить все форматирование, используя Prawn API.
Создайте HTML-версию своего чека и преобразуйте его в PDF. Одним из лучших решений для этого является PDFkit. который использует движок браузера, работающий от веб-комплекта.
Они оба работают хорошо. Для одностраничных документов я обычно использую PDFkit для преобразования HTML, а для больших документов, у которых много страниц, я использую Prawn, потому что он дает вам меньший размер файла и лучше обрабатывает несколько страниц.
Мое предложение было бы сделать квитанцию HTML и отобразить ее на экране и дать пользователю возможность сохранить PDF-версию с использованием PDFkit.
РЕДАКТИРОВАТЬ: Windows установить. (не проверено - окна и я расстались.)
Загрузите установщик Windows для wkhtmltopdf: win-wkhtmltopdf
Теперь создайте файл инициализатора, например, config/intializers/pdfkit_config.rb
в pdfkit_config.rb установите абсолютный путь к wkhtmltopdf на вашей локальной машине:
PDFKit.configure do |config|
if RAILS_ENV == 'development'
config.wkhtmltopdf = 'D:\path\to\your\wkhtmltopdf' #this bit i'm not sure about
else
config.wkhtmltopdf = "#{RAILS_ROOT}/lib/wkhtmltopdf"
end
end
для вашей рабочей ENV вы можете просто иметь в своем репозитории копию wkhtmltopdf, конечно, версию для Unix. (не забудьте chmod +x, прежде чем добавить его)
Theres драгоценный камень под названием креветка, которая помогает в создании PDF. Вот учебник, использующий его для некоторых идей:
http://railstips.org/blog/archives/2008/10/13/how-to-generate-pdfs-in-rails-with-prawn/