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")


我想以pdf格式打印/download/网址的所有内容(某些图表(JS生成的图表)。如果我把这两行

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


download_as_pdf视图中,它不会以pdf格式打印任何内容(尽管pdf得到下载,但为空)
(我认为是因为在这些语句之后发生了模板渲染,这就是为什么?)

我应该如何继续在pdf中插入图形(我可以通过线程解决此问题吗?如何?)或其他任何方法

最佳答案

这可能是因为pdf是在加载整个javascript之前呈现的。如果您引入了JavaScript延迟,那么它将起作用。

 options = {
    'javascript-delay':'5000'
           }

关于python - 方法:python-pdfkit将网页(由JS生成)转换为PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25757503/

10-13 05:30