Подход: python-pdfkit конвертирует веб-страницу (сгенерированную JS) в PDF

views.py

def download_as_pdf(request):
    # some stuff/function call to get updated(with data and JS) template and render it

    return render(request, temp)

def download(request):
    import pdfkit
    pdfkit.from_url('/download/', 'out.pdf', options={'ignore-load-errors': None})
    return HttpResponse('DONE')

urls.py

url(r'^download/', views.download_as_pdf, name="download_pdf")

Я хочу распечатать все содержимое (некоторые графики (сгенерированные JS - флотчарты)) /download/ url в формате pdf. Если я поставлю эти две строки

import pdfkit
pdfkit.from_url('/download/', 'out.pdf', options={'ignore-load-errors': None})

в представлении download_as_pdf он ничего не печатает в pdf (хотя pdf загружается, но пустой) (я думаю, потому что рендеринг шаблона происходит после этих операторов, вот почему ??)

как мне перейти к графику prit в pdf (могу ли я решить это с помощью потоков? как?) или любого другого подхода


person Nancy    schedule 10.09.2014    source источник
comment
Pdfkit/wkhtmltopdf не будет обрабатывать JS-рендеринг без некоторых изменений. Вы пробовали смотреть на это? stackoverflow.com/questions/6949685 /   -  person Charlie    schedule 12.03.2015


Ответы (1)


Это может быть связано с тем, что pdf отображается до загрузки всего javascript. Если вы введете задержку javascript, она будет работать.

 options = {
    'javascript-delay':'5000'
           }
person Arun24    schedule 06.09.2016