Flask 生成多个PDF文件如何打包下载?

问题描述

写了一个Flask app,首页显示一个表单,然后输入条件,提交后,从一个固定网站得到N个符合条件的新闻标题,然后用pdfkit的from_url将这些网页转换成PDF。现在想的是如何在内存中生成这些pdf并打包成一个文件供下载?

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

txt = './1.html'with open(txt, 'w', encoding="utf-8") as f:
    f.write(responseRes.text)

file1 = open('1.html', 'r', encoding='utf-8')
soup = BeautifulSoup(file1, "lxml")
memory_file = BytesIO()with zipfile.ZipFile(memory_file, 'w', zipfile.ZIP_DEFLATED) as zf:     for i in soup.find_all('a', class_='black'):
         zf = pdfkit.from_url(['http://XXX.XXX.XXX' + i['href']], False)
     memory_file.seek(0)

     rv = send_file(zf, as_attachment=True, attachment_filename='filename.zip')     return rv

你期待的结果是什么?实际看到的错误信息又是什么?

期待浏览器直接下载一个zip文件,然而浏览器返回的是一个0kb的zip文件,求教如何实现?


慕丝7291255
浏览 878回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python