方法:python-pdfkit 将网页(JS生成)转换为PDF

Nan*_*ncy 3 python django pdfkit django-views python-2.7

视图.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')
Run Code Online (Sandbox Code Playgroud)

urls.py

url(r'^download/', views.download_as_pdf, name="download_pdf")
Run Code Online (Sandbox Code Playgroud)

我想打印/download/pdf 中 url 的所有内容(一些图表(JS 生成 - fllotcharts))。如果我把这两行

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

鉴于download_as_pdf它在pdf中不打印任何内容(pdf虽然可以下载但为空)(我认为因为模板渲染发生在这些语句之后,这就是为什么?)

我应该如何继续处理 pdf 中的 prit graph(我可以通过线程解决这个问题吗?如何?)或任何其他方法

小智 5

这可能是因为 pdf 是在加载整个 javascript 之前渲染的。如果你引入 JavaScript 延迟,它就会起作用。

 options = {
    'javascript-delay':'5000'
           }
Run Code Online (Sandbox Code Playgroud)