【发布时间】:2016-08-17 08:49:34
【问题描述】:
我正在尝试使用 python 将完整的网页结果保存/导出为 PDF
我生成了一个网页,其中包含一些计算结果和一个带有“导出为 PDF”按钮的评论部分。
到目前为止我所做的如下:
from flask import Flask, session, redirect, url_for, escape, request, Response
app = Flask(__name__)
@app.route('/result', methods=['GET', 'POST'])
def viewResult():
if request.method == 'POST':
if 'export' in request.form:
x = "XMLXMLXMLXML"
request.headers['Content-Type: application/pdf']
request.headers["Content-Disposition: attachment; filename='x.pdf'"]
return x
return ''
else:
global result
result = 'xml'
html = ''
html += '<html>'
html += '<body>'
html += '<p>Result</p>'
html += '<a href="http://127.0.0.1:5000/">Back</a>'
html += '<div>'
html += '<b>Result:</b>'
html += '<textarea name="result" readonly>' + result + '</textarea>'
html += '<form method="POST">'
html += '<br>'
html += '<textarea name="content" placeholder="Enter a comment"></textarea>'
html += '<p></p>'
html += '<input type="submit" name="export" value="Save">'
html += '</form>'
html += '</div>'
html += '</body>'
html += '</html>'
return html
if __name__ == "__main__":
app.run()
到目前为止,我已经测试/研究了几种方法,但似乎没有一种方法适用于我的情况。 请原谅我的编码逻辑。我不是python专家:x
那么我在这里做错了什么?
【问题讨论】:
-
有点不对劲!文件不是网络浏览器元素。需要文件内的 html 元素作为对象。可以无限制地写成base64。
-
感谢您的回复。但是你能进一步澄清吗?我不认为我明白你的意思。
-
您的问题可能有点宽泛,因为每种导出格式都如此不同。您最好将问题限制为特定格式并从那里开始。
-
是的,非常感谢。