当前位置:主页 > 软件编程 > Python代码 >

python输出pdf文档的实例

时间:2023-03-04 10:50:56 | 栏目:Python代码 | 点击:

python导出pdf,参考诸多资料,发现pdfkit是效果比较好的。

故下载后进行了实现,多次失败后终于成功了,现将其中经验总结如下: 

"""
需要安装pdfkit,另外需要安装可执行文件wkhtmltopdf.exe,
pdfkit核心命令是调用wkhtmltopdf.exe实现转pdf
有三个接口:
pdfkit.from_url
pdfkit.from_string
pdfkit.from_file 需要注意的是,pdfkit主要是用来将html转pdf,所以文件也是html文件或者纯文本文件,其他文件可能失败。
需要用pdfkit.configuration(wkhtmltopdf=path_wk)来说明wkhtmltopdf.exe的安装位置,否则会找不到
options来约定纸张大小,属性'encoding'约定编码,以防乱码
"""
get_cursor = getcursor.GetCursor()
conn = get_cursor.get_native_conn()
cursor = conn.cursor()
sql = 'select * from lease_contract where id = 1'
cursor.execute(sql)
fetchall = cursor.fetchall()
path_wk = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wk)
# 用options来约定编码格式,以防乱码
options = {
 'encoding': 'utf-8'
}
for data in fetchall:
 with open('D:\\testsave.docx', 'w', encoding='utf-8')as f:
  f.write(data[13])
 with open('D:\\testsave.docx', 'r', encoding='utf-8')as f:
  pdfkit.from_file(f, 'D:\\testsave.pdf', configuration=config, options=options)
 pdfkit.from_string(data[13], 'D:\\test.pdf', configuration=config, options=options)

这是我个人试验的代码,效果如下。简单记录,实为兴趣。

您可能感兴趣的文章:

相关文章