Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PDFkit直接写入HTTP响应_Python_Pdfkit - Fatal编程技术网

Python PDFkit直接写入HTTP响应

Python PDFkit直接写入HTTP响应,python,pdfkit,Python,Pdfkit,我有一个没有写访问权限的服务器,我想用pdfkit生成一个pdf,只将其内容写入HTTP响应,而不首先将文件保存到服务器中的临时文件。以下代码不起作用 import cgitb cgitb.enable() print "Content-Type: application/pdf;\n" import base64 from io import BytesIO import sys import pdfkit data=pdfkit.from_string("asfddsgsdfg", Fa

我有一个没有写访问权限的服务器,我想用pdfkit生成一个pdf,只将其内容写入HTTP响应,而不首先将文件保存到服务器中的临时文件。以下代码不起作用

import cgitb
cgitb.enable()
print "Content-Type: application/pdf;\n"

import base64
from io import BytesIO
import sys
import pdfkit

data=pdfkit.from_string("asfddsgsdfg", False, {
    'page-size': 'Letter',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in',
    'encoding': "UTF-8",
    'orientation': 'Landscape'
})

sys.stdout.write(data)

我的Django项目中的一些代码作为示例:

import pdfkit

def program2pdf(filename):

    programconfig = ProgramConfig.get_solo()
    programconfig.downloaded += 1
    programconfig.save()

    config = pdfkit.configuration(wkhtmltopdf=settings.PDF_WKHTMLTOPDF)

    content = render_to_string(
        'program/item2pdf.html', {
            'events': Event.objects.all(), 
            'abs_path': settings.PDF_ADDRESS,
            'programconfig': programconfig
        }
    )

    pdf = pdfkit.PDFKit(content, "string", configuration=config).to_pdf()

    response = HttpResponse(pdf)
    response['Content-Type'] = 'application/pdf'
    response['Content-disposition'] = 'attachment;filename='
    response['Content-disposition'] += programconfig.get_filename

    return response

我的Django项目中的一些代码作为示例:

import pdfkit

def program2pdf(filename):

    programconfig = ProgramConfig.get_solo()
    programconfig.downloaded += 1
    programconfig.save()

    config = pdfkit.configuration(wkhtmltopdf=settings.PDF_WKHTMLTOPDF)

    content = render_to_string(
        'program/item2pdf.html', {
            'events': Event.objects.all(), 
            'abs_path': settings.PDF_ADDRESS,
            'programconfig': programconfig
        }
    )

    pdf = pdfkit.PDFKit(content, "string", configuration=config).to_pdf()

    response = HttpResponse(pdf)
    response['Content-Type'] = 'application/pdf'
    response['Content-disposition'] = 'attachment;filename='
    response['Content-disposition'] += programconfig.get_filename

    return response

render_to_string方法从何处提交?这是django快捷方式?@Jcc.Sanabria
来自django.template.loader导入render_to_string
render_to_string方法从何处提交?这是django快捷方式?@Jcc.Sanabria
从django.template.loader导入渲染到字符串