pdfkit неправильно отображает pdf из html

Я установил pdfkit, и все работает нормально. Однако PDF-файл не совсем похож на страницу, которую я пытаюсь отобразить в формате PDF. Я пытался убедиться, что файлы css загружаются правильно, но я не уверен, как это подтвердить. Я загрузил их в представлении, а также попытался указать путь к объекту PDF. К вашему сведению, я использую bootstrap.

Тем не менее, все элементы на странице в значительной степени смещены влево. Я также попытался добавить %i.icon-user, чтобы проверить, загружается ли этот ресурс в pdf, а не загружается. но я не уверен, означает ли это, что css не загружается или нет.

Наконец, я полностью использую гибкий дизайн (отзывчивый) для представления, может ли это быть причиной проблемы?

вот контроллер для представления, которое я загружаю:

  def client_view
    @invoice = Invoice.find_by_public_id(params[:public_id])
    kit = PDFKit.new(render_to_string(:client_view, :layout => false))
    kit.stylesheets << Rails.application.assets['application.css'].pathname
    kit.to_file("#{@invoice.public_id}.pdf")
  end

person Matthew Berman    schedule 09.04.2013    source источник
comment
Я попробовал PDFkit с Bootstrap, и это был разочаровывающий опыт. Это было ненадежно и часто приводило к сбою веб-сервера. Я сдался и решил приложить дополнительные усилия и использовать Prawn. Это стоило затраченных усилий. Я почти уверен, что PDFkit плохо работает с медиа-запросами CSS. адаптивный дизайн Bootstrap   -  person Andrew Wei    schedule 10.04.2013
comment
Я еще не развернулся на героку, поэтому я не сталкивался с проблемами веб-сервера. Удалось ли вам сделать так, чтобы PDF-файлы выглядели правильно или нет? Кроме того, как вы заставили креветку работать с генерацией html=›pdf?   -  person Matthew Berman    schedule 10.04.2013


Ответы (1)


Наконец-то заработало. Оказывается, PDFkit не очень хорошо работал с предварительно скомпилированными активами. Поскольку я просто указывал PDFkit на папку конвейера ресурсов, он не отображал активы. Итак, я предварительно скомпилировал их (локально) и связал объект PDFkit с локально отображаемым файлом css, и теперь все выглядит отлично (даже с адаптивным дизайном). Тем не менее, я еще не нажимал на героку, поэтому я не уверен, как это отреагирует.

person Matthew Berman    schedule 09.04.2013