xhtml2pdf生成PDF
本文作者:王 悦
文字编辑:余术玲
技术总编:张学人
好消息!!!爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首期Python编程技术定制培训。本次培训采用理论与案例相结合的方式,旨在帮助零基础学员轻松入门Python,由浅入深学习和掌握Python爬虫技术,并明确未来更进一步的学习方向。
详细培训大纲及报名方式,请点击文末阅读原文呦~
xhtml2pdf是一个性能优秀的网页文件转换器,它支持把HTML5和CSS 2.1文件(和一些CSS3)转化成PDF。熟悉HTML和CSS的用户凭借于它可以快速将html文件转换成PDF,不需要学习其他新技术。小编将从以下几个方面简单介绍一下Xhtml2pdf的使用。
一、安装
xhtml2pdf安装起来较为繁琐,需要以下库和相应版本的支持,具体要求见下图:
由于每个人PC上对应的python第三方库版本不同,如果PC上已存在的python库的版本不符合上述要求,则无法成功安装xhtml2pdf库。因此,我们首先使用pip list查看已安装的第三方库和对应版本。如果发现第三方库版本不符合上述要求,则使用“pip uninstall 库名”来卸载已存在的第三方库,当然此时也可能卸载不成功,大家根据报错信息找到库所在路径手动删除。
删除成功之后,我们使用“pip install 库名==版本号”安装。例如,加入要安装上图第4个python标准库,则使用“pipinstall nose==1.3.3”进行安装。成功安装上图所有的库之后,使用“pip installxhtml2pdf”即可成功安装xhtml2pdf。
爬虫俱乐部将于2019年8月22日至28日在湖北武汉举行为期一周的Stata编程技术定制培训,此次采取初级班和高级班分批次培训。课程通过案例教学模式,旨在帮助大家在短期内掌握Stata软件编程、金融计量知识和实证分析方法,使大家熟悉Stata核心的爬虫技术,以及Stata与其他软件交互的高端技术。
初级班主要是为了让学员掌握Stata数据分析技巧,并能独立撰写相关的程序。涉及内容包括多种数据格式的读取和输出、数据的合并、实证结果的输出以及爬虫俱乐部编写的命令介绍等。
高级班主要是为了让学员掌握Stata软件进阶操作,涉及内容包括正则表达式、网络爬虫技巧、文本分析等技术。经过团队精心策划,此次课程新增北大法宝裁判文书信息提取和百度地图api调用两大案例,以及新兴实证研究方法介绍,相信定能让学员受益匪浅!
扫描下方二维码提交报名信息→缴费→发送缴费截图至statatraining@163.com(邮件主题为“爬虫俱乐部2019暑期Stata培训+姓名+单位+班次”)→报名成功。
二、迅速开始:使用xhtml2pdf将html转换为pdf
0. 准备待转换的html文件“stata-club.html”
1. 改变缺省路径,导入xhtml2pdf标准库,传入HTML和转换成的PDF文件名。
import os
from xhtml2pdf import pisa
os.chdir(r"f:/")
os.getcwd()
with open("stata-club.html","r") as f:
sourceHtml = f.read()
outputFilename = "test.pdf" #最后得到名为test的pdf文件
2. 定义转换函数,程序与说明见下:
#转换函数
def convertHtmlToPdf(sourceHtml,outputFilename):
#以二进制的形式写入(这里需要说明的是,pdf的内部编码模式与文本文档完全不同,因此不能使用w方式写入内容,而以二进制方式写入。)
resultFile = open(outputFilename, "wb+")
# 将HTML转换成PDF
pisaStatus = pisa.CreatePDF(
sourceHtml, # 需要转换的HTML
dest=resultFile) # 接受转换结果的文件句柄
# 关闭文件句柄
resultFile.close()
# 检查是否转换成功
print(pisaStatus.err)
3. 定义主函数
if __name__ == "__main__":
pisa.showLogging() #启用日志转储的快捷方式
convertHtmlToPdf(sourceHtml, outputFilename) #开始转换
4. 运行上述程序,打开PDF文件查看结果。
我们成功将HTML转换成了PDF。
关于更多xhtml2pdf的细节介绍将持续推出,请持续关注爬虫俱乐部。
对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!
往期推文推荐
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。