Python -- Html转PDF

来源:互联网 发布:淘宝怎么打开我的店铺 编辑:程序博客网 时间:2024/05/21 14:43

使用的工具或包

WKhtmlTopdf

WKhtmlTopdf一个使用QT WebKit引擎做渲染,能够将html转换为pdf文档或图片的命令行工具。该工具支持多平台,包括:Windows、Linux、OS X等。

  • CentOS下的安装
#yum install wkhtmltopdf
  • Detian/Ubuntu下的安装
#apt-get install wkhtmltopdf

pdfkit

pdfkit是WKhtmlTopdf的python封装。

#pip install pdfkit

参数说明

未完待续

遇到的问题

CentOS下无法安装WKhtmlTopdf

运行yum install wkhtmltopdf时,报如下错误:

There was a problem importing one of the Python modules required to run yum.

查看当前系统使用的Python版本,命令如下:

#python -VPython 2.7.11

由于yum命令不兼容Python2.7,所以需要修改/usr/bin/yum文件,将文件的第一行:

#!/usr/bin/python

修改为:

#!/usr/bin/python2.6

修改完成后,运行如下命令安装WKhtmlTopdf,仍然没有安装成功。

#yum install wkhtmltopdfLoaded plugins: fastestmirror, refresh-packagekit, securitySetting up Install ProcessLoading mirror speeds from cached hostfileNo package wkhtmltopdf available.Error: Nothing to do

查看CentOS版本,命令如下:

#lsb_release -aLSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID: CentOSDescription:    CentOS release 6.5 (Final)Release:        6.5Codename:       Final

尝试另一种安装:

#https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz#xz -d wkhtmltox-0.12.4_linux-generic-amd64.tar.xz#tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar#cd wkhtmltox/bin#sudo mv ./wkhtmltopdf /usr/bin/wkhtmltopdf#sudo chmod +x /usr/bin/wkhtmltopdf

此时,通过如下命令验证是否安装成功:

#wkhtmltopdf -Vwkhtmltopdf 0.12.4 (with patched qt)

html转pdf失败

可能的原因:
- js中包含Map对象

如果table跨页面,则会出现表头跨页面显示的情况

可能的情况:table中使用thead和th,代码如下:

<table>  <thead>    <tr>      <th>aaa</th>      <th>bbb</th>    </tr>  </thead>  <tbody>    <tr>      <td>ccc</td>      <td>ddd</td>    </tr>  </tbody></table>

解决方法:不使用thead和th,代码如下:

<table>  <tr>    <th>aaa</th>    <th>bbb</th>  </tr>  <tr>    <td>ccc</td>    <td>ddd</td>  </tr></table>

页面显示文字过小

可能的情况:zoom参数设置的过小(默认值为1)

解决方法:通过调整zoom参数,是页面显示效果适中

原创粉丝点击