python pdf报告_python生成pdf报告、python实现html转换为pdf报告
1、先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f
安装python包:pip Install pdfkit
系统安装wkhtmltopdf:参考 https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
mac下的wkhtmltopdf: brew install Caskroom/cask/wkhtmltopdf
importpdfkit
pdfkit.from_url('http://google.com','out.pdf')
pdfkit.from_file('test.html','out.pdf')
pdfkit.from_string('Hello!','out.pdf')
传递一个url或者文件名列表:
pdfkit.from_url(['google.com','yandex.ru','engadget.com'],'out.pdf')
pdfkit.from_file(['file1.html','file2.html'],'out.pdf')
传递一个打开的文件:
withopen('file.html')asf:
pdfkit.from_file(f,'out.pdf')
如果你想对生成的PDF作进一步处理, 你可以将其读取到一个变量中:#设置输出文件为False,将结果赋给一个变量pdf=pdfkit.from_url('http://google.com',False)
你可以制定所有的 wkhtmltopdf选项 . 你可以移除选项名字前面的 '--' .如果选项没有值, 使用None, Falseor*作为字典值:
options={'page-size':'Letter','margin-top':'0.75in','margin-right':'0.75in','margin-bottom':'0.75in','margin-left':'0.75in','encoding':"UTF-8",'no-outline':None
}
pdfkit.from_url('http://google.com','out.pdf', options=options)
当你转换文件、或字符串的时候,你可以通过css选项指定扩展的 CSS 文件。#单个 CSS 文件
css='example.css'pdfkit.from_file('file.html', options=options, css=css)#Multiple CSS
filescss=['example.css','example2.css'] pdfkit.from_file('file.html', options=options, css=css)
你也可以通过你的HTML中的meta tags传递任意选项:body = """
Hello World!"""
pdfkit.from_string(body,'out.pdf')#with --page-size=Legal and --orientation=Landscape
2、再说reporatlab
安装:pip install reportlab
简单使用:
#!/usr/bin/python
from reportlab.pdfgen importcanvasdefhello():
c= canvas.Canvas("helloworld.pdf")
c.drawString(100,100,"Hello,World")
c.showPage()
c.save()
hello()
#!/usr/bin/env python
importsubprocessimportdatetimefrom reportlab.pdfgen importcanvasfrom reportlab.lib.units importinchdefdisk_report():
p= subprocess.Popen("df -h", shell=True, stdout=subprocess.PIPE)#print p.stdout.readlines()
returnp.stdout.readlines()def create_pdf(input, output="disk_report.pdf"):
now=datetime.datetime.today()
date= now.strftime("%h %d %Y %H:%M:%S")
c=canvas.Canvas(output)
textobject=c.beginText()
textobject.setTextOrigin(inch,11*inch)
textobject.textLines('''Disk Capcity Report: %s''' %date)for line ininput:
textobject.textLine(line.strip())
c.drawText(textobject)
c.showPage()
c.save()
report=disk_report()
create_pdf(report)
参考:
1、https://github.com/twtrubiks/python-pdfkit-example
2、http://www.cnblogs.com/taceywong/p/5643978.html
3、https://bitbucket.org/rptlab/reportlab
4、http://www.reportlab.com/opensource/
5、http://www.reportlab.com/docs/reportlab-userguide.pdf
6、http://www.cnblogs.com/webRobot/p/6999665.html
以上就是python生成pdf报告、python实现html转换为pdf报告的全部内容。
python pdf报告_python生成pdf报告、python实现html转换为pdf报告相关推荐
- python使用fpdf将生成的长字符串手动换行写入pdf
python使用fpdf将生成的长字符串手动换行写入pdf 目录 python使用fpdf将生成的长字符串手动换行写入pdf #lassocv生成特征系数dataframe
- 视频教程-快速入门Python基础教程_Python基础知识大全-Python
快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...
- 视频教程-快速入门Python基础教程_Python基础进阶视频-Python
快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...
- 1. 一些截图方法和另存格式的比较(QQ,微信,企业微信,飞书,word,PPT,edge,PrintScreen;svg等);2. 将截图直接转换为PDF并拼接,与插入Word后再转换为PDF的对比
1. 一些截图方法的比较 1.1. 有时候当某个软件没有导出功能,或者导出功能受限,比如 tableau public,但又需要获取展示出的可视化信息时,就需要用到截图.如果这些截图还要用在正式文档中 ...
- python生成ppt报告_python 生成 pptx 分析报告的工具包:reportgen
reportgen v0.1.8 更新 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.repor ...
- python量化实战_Python与量化投资 从基础到实战.pdf
作 者 :王小川 出版发行 : 北京:电子工业出版社 , 2018.03 ISBN号 :978-7-121-33857-1 页 数 : 408 原书定价 : 99.00 开本 : 16开 主题词 : ...
- 大乐透python预测程序_Python生成随机验证码,大乐透号码
随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...
- python创建窗体_python生成窗口
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 2.python生成目录树上述 cmd 方式虽然可以生成目录树,但是并不美观,让 ...
- python输出姓名_Python生成随机不重复姓名昵称
姓采用百家姓,名字从常用名字高频字选取两个汉字,再和当前时间戳组合,估计应该是不会重复了,代码如下: # -*- coding:utf-8 -*- import random import time ...
最新文章
- vs2017 编码约定——.editorconfig文件
- 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比
- RxPermission原理解析
- 【Mongodb】MongoDB
- 网站高并发及高并发架构详解
- Ribbon-3使用配置文件自定义Ribbon Client
- MFC六大核心机制之二:运行时类型识别(RTTI)
- Linux-文件查找
- android 页面标题,Android v4包下的PagerTitleStrip,ViewPager的页面标题
- C/C++编程笔记:输入输出的优化,你还为思路正确却TLE而烦恼吗?
- UI基础设计规范,确定不了解一下?
- iphonex屏幕出现一条绿线_关于对 iPhone 11、iPhone X? 采用的 Liquid 视网膜显示屏的误区,在此说明。...
- MantisBT安装部署(XAMPP)邮件配置 中文配置
- matlab分析矩阵与线性变换
- lnmp mysql 命令_LNMP状态管理命令
- 6.1离散时间马尔科夫链
- 基于51单片机的温度采集系统
- 4月编程排行榜出啦~速看新变化~
- python scrapy之模拟浏览器的随机更换
- 解剖caffe mode:Blobs, Layers和Nets