В основном есть две опции: (для любого создания PDF требуется гем - нет создания PDF по умолчанию для рельсов) .
Создание чистого PDF с использованием Prawn , Вы должны выполнить все форматирование с использованием API Prawn
Создать HTML-версию своего чека и преобразовать ее в PDF. Один из лучших жемчужин для этого PDFkit .который использует движок браузера, работающий на основе веб-комплекта.
Они оба работают хорошо. Для одностраничных документов я обычно использую PDFkit для конвертации HTML, а для больших документов, которые собираются, у меня много страниц.используйте Prawn, потому что он дает вам меньший размер файла и лучше обрабатывает несколько страниц.
Я бы предложил сделать HTML-квитанцию, отобразить ее на экране и дать пользователю возможность сохранить PDF-версию, используя PDFkit .
EDIT: установка Windows.(не проверено - 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, прежде чем добавить его)