Python工具-pdfkit
来源:互联网 发布:哈登15 16赛季数据 编辑:程序博客网 时间:2024/03/29 21:37
1、说明
pdfkit,把HTML+CSS格式的文件转换成PDF格式文档的一种工具。
其实,它就是html转成pdf工具包wkhtmltopdf的Python封装。所以,必须安装wkhtmltopdf。 一般情况下,wkhtmltopdf需要手动安装,尤其要注意的是Windows下,需要把wkhtmltopdf的bin执行文件路径添加到PATH变量中。
2、安装
请参考《Python抓取网页并保存为PDF》里面各个安装包的安装
3、API说明
def from_url(url, output_path, options=None, toc=None, cover=None, configuration=None, cover_first=False): """ 把从URL获取文件转换为PDF文件 :param url: URL 或 URL列表 :参数,output_path: 输出PDF文件的路径。如果是参数等于False,意味着文件将会以字符串的形式返回,得到文本文件。 :param options: (可选) dict with wkhtmltopdf global and page options, with or w/o '--' :param toc: (可选) dict with toc-specific wkhtmltopdf options, with or w/o '--' :param cover: (可选) string with url/filename with a cover html page :param configuration: (可选)实例化 pdfkit.configuration.Configuration() :param configuration_first: (optional) if True, cover always precedes TOC 返回值:成功返回True """ r = PDFKit(url, 'url', options=options, toc=toc, cover=cover,configuration=configuration, cover_first=cover_first) return r.to_pdf(output_path)
def from_file(input, output_path, options=None, toc=None, cover=None, css=None, configuration=None, cover_first=False): """ Convert HTML file or files to PDF document :param input: path to HTML file or list with paths or file-like object :param output_path: path to output PDF file. False means file will be returned as string. :param options: (optional) dict with wkhtmltopdf options, with or w/o '--' :param toc: (optional) dict with toc-specific wkhtmltopdf options, with or w/o '--' :param cover: (optional) string with url/filename with a cover html page :param css: (optional) string with path to css file which will be added to a single input file :param configuration: (optional) instance of pdfkit.configuration.Configuration() :param configuration_first: (optional) if True, cover always precedes TOC Returns: True on success """ r = PDFKit(input, 'file', options=options, toc=toc, cover=cover, css=css, configuration=configuration, cover_first=cover_first) return r.to_pdf(output_path)
def from_string(input, output_path, options=None, toc=None, cover=None, css=None, configuration=None, cover_first=False): """ Convert given string or strings to PDF document :param input: string with a desired text. Could be a raw text or a html file :param output_path: path to output PDF file. False means file will be returned as string. :param options: (optional) dict with wkhtmltopdf options, with or w/o '--' :param toc: (optional) dict with toc-specific wkhtmltopdf options, with or w/o '--' :param cover: (optional) string with url/filename with a cover html page :param css: (optional) string with path to css file which will be added to a input string :param configuration: (optional) instance of pdfkit.configuration.Configuration() :param configuration_first: (optional) if True, cover always precedes TOC Returns: True on success """ r = PDFKit(input, 'string', options=options, toc=toc, cover=cover, css=css, configuration=configuration, cover_first=cover_first) return r.to_pdf(output_path)
def configuration(**kwargs): """ Constructs and returns a :class:`Configuration` with given options :参数 wkhtmltopdf: 二进制文件路径 :param meta_tag_prefix: the prefix for ``pdfkit`` specific meta tags """ return Configuration(**kwargs)
4、举例说明
4.1、一个简单的例子
import pdfkit pdfkit.from_url('https://www.google.com.hk','out1.pdf') pdfkit.from_file('123.html','out2.pdf') pdfkit.from_string('Hello!','out3.pdf')
也可以传递一个url或者文件名列表:
pdfkit.from_url(['https://www.google.com.hk','https://baidu.com','http://cn.bing.com/'],'out_0.pdf') pdfkit.from_file(['122.html','123.html'],'out_1.pdf')
如果你想对生成的PDF作进一步处理, 你可以将其读取到一个变量中:
pdf=pdfkit.from_url('https://www.google.com.hk',False)
你可以指定所有的 wkhtmltopdf选项 。你可以移除选项名字前面的 ‘–’ .如果选项没有值, 使用None, False或者“*”作为字典值:
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('https://www.google.com.hk','out1.pdf',options=options)
默认情况下, PDFKit 将会显示所有的wkhtmltopdf输出. 如果你不想看到这些信息,你需要传递一个quiet选项:
options = {'quiet':''}pdfkit.from_url('https://www.google.com.hk','out1.pdf',options=options)
由于wkhtmltopdf的命令语法 ,TOC和Cover选项必须分开指定:
toc={'xsl-style-sheet':'toc.xsl'}cover='124.html'pdfkit.from_file('122.html', options=options, toc=toc, cover=cover)
当你转换文件、或字符串的时候,你可以通过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)
配置
每个API调用都有一个可选的参数。这应该是pdfkit.configuration() API 调用的一个实例。采用configuration 选项作为初始化参数。可用的选项有:
wkhtmltopdf——wkhtmltopdf二进制文件所在的位置。默认情况下pdfkit会尝试使用which(在类UNIX系统中) 或where(在Windows系统中)来判断。
meta_tag_prefix–pdfkit的前缀指定 meta tags(元标签) - 默认情况是pdfkit-
示例 :针对wkhtmltopdf不在系统路径中(不在$PATH里面):
config=pdfkit.configuration(wkhtmltopdf='/opt/bin/wkhtmltopdf')) pdfkit.from_string(html_string, output_file, configuration=config)
- Python工具-pdfkit
- Python工具-pdfkit
- python pdf 导出插件 pdfkit
- python pdfkit 中文乱码问题处理
- Python学习——爬虫之pdfkit用法
- java调用批处理bat文件调用python pdfkit把动态html转pdf
- python 工具
- python工具
- PDFKit.NET 数字签名与文档处理
- centos6.5 x64 minimal 安装 pdfkit
- #import <PDFKit/PDFKit.h> 找不到对应该的文件处理办法
- 使用PDFKit和Node.js生成服务器端PDF文件
- 利用Node.js与PDFKIT 生成PDF文件
- python3.5中pdfkit的详细配置与使用
- 利用Node.js与PDFKIT 生成PDF文件
- 使用PDFKit写一个基本的PDF阅读器
- python的确是个好工具
- Python开发工具
- 查看android apk的包名的几种方式
- Vue:计算属性computed
- Java并发编程(二)--线程池
- __initialize()和类的构造函数__construct()
- [译]Android Weekly 250期优秀库与代码
- Python工具-pdfkit
- 使用Docker容器来源码编译etcd
- LeetCode#43. Multiply Strings
- STL无序容器之unordered_map
- j_link管脚定义
- php 框架选择(我对各框架的了解还不够深入,后续再完善)
- dwz IE兼容问题之图片回显与下拉滚动条消失
- leetcode134. Gas Station
- 好玩的editText