reportlab,xhtml2pdf,WeasyPrint简要比较
三款应用都用于在python下生成pdf
reportlab
django官网推荐的工具,不久前推出了3.1.8版本,已经支持python3.3, python3.4,但总感觉使用起来比较麻烦。而且有些看似方便的功能,没有支持,比如HTML到PDF的转化
xhtml2pdf
一款基于reportlab的应用,早期很多人推荐,因为其可方便的将xhtml转换为pdf。但其对css的支持有限,如果要使用中文字体的话,必须显式的在css中指明。这款应用,目前给人很混乱的感觉:
①依赖的一些第三方模块,已经发生了改变,比如pypdf换成了pypdf2,而pypi上的包并未对此进行更新,使得无法通过pip安装。
②不兼容python3
WeasyPrint
同时支持python2/python3,依赖很多第三方模块,安装起来有点麻烦,标榜目标是支持基于web标准的打印。如果只是简单的将HTML生成PDF的话,用起来很方便。个人觉得,如需复杂的PDF处理,可以结合reportlab用。