网页转换为PDF的方法 Python
前言
近期有些文档是在网站上的,量非常大。加之对于纸质书的喜爱,想把他们整合到一个PDF文档中,然后交由拼多多的老熟人打印店给打一下。
但是这个网站网页转PDF有很多在线网站可以用,不过只能转一个页面。鸡肋!
找了半天找到一个还凑活的方法。用Python实现的。(虽说是凑活,但已经是可以找到的最好方法了!)
1 下载 wkhtmltopdf
官方下载地址: wkhtmltopdf
一个开源的命令行工具,功能是HTML转PDF。用C语言实现。也是目前比较知名的一个转换开源项目。
下载完成后,将它添加到环境目录中。因为是命令行工具,添加到环境变量中的path中可以让cmd快速的找到这个程序,否则命令行怎么知道这个程序在哪?
1.1 尝试初次转换

wkhtmltopdf https://baidu.com baidu.pdf
2 安装 Pdfkit
由于 wkhtmltopdf 命令行使用比较繁琐,需要很多的参数设置,所以就有人写了一个Python的包去简化它的使用。变成了几个函数。
pip install pdfkit
3 使用
import pdfkit
# one url to pdf
pdfkit.from_url('www.baidu.com','baidu.pdf')
# url's list to pdf
pdfkit.from_url(['www.qq.com', 'www.baidu.com'], 'bat.pdf')
print('Done!')
使用感受
PDFKIT确实简化了kmhtmltopdf的使用。
一个网页链接还好转,今天我直接弄了300个网址的链接作成列表,传进去转换直接 game over了。
又试了试两个url的列表,发现第一个链接转成的pdf是空白的。
pdfkit官方说,转不对劲了就看看单独使用kmh2p可不可以转。这是一个测试的方向。
网页转换为PDF的方法 Python的更多相关文章
- 使用Pechkin将HTML网页转换为PDF
Pechkin开源组件使用wkhtmlbox,可以解析CSS样式,将网页转换为PDF文件, 支持URL,或者HTML字符串 1, 从NuGet程序管理器中获得Pechkin GlobalConfig ...
- wkhtmltopdf 将网页转换为PDF和图片
wkhtmltopdf 是一个shell工具,它使用了WebKit渲染引擎和Qt,将网页html转换为pdf的强大工具,转换后的pdf也可以通过pdf工具进行复制.备注.修改 官网下载地址:http: ...
- Python爬虫实战:将网页转换为pdf电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- 关于html转换为pdf案例的一些测试与思考
由于工作所需,最近花时间研究了html转换为pdf的功能.html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发现目前html 转换为pdf的解决方案主要分为三类: 客 ...
- 通过Pdf预览Excel或者word或者Powerpoint (C#将Office转换为PDF)
下面代码是Excel转换为PDF using System; using System.Collections.Generic; using System.Linq; using System.Web ...
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- 程序生成word与PDF文档的方法(python)
程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...
- Python将HTML转换为PDF
Python将HTML转换为PDF 使用pdfkit库和wkhtmltopdf, pip install pdfkit wkhtmltopdflinux中一般需要添加sudo权限. Windows安装 ...
- Python下载网页的几种方法
get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在 ...
- C#实现office文档转换为PDF或xps的一些方法( 转)
源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...
随机推荐
- 首次配置成功rllab运行环境,给出anaconda下的配置
name: rllab channels: - defaults dependencies: - _libgcc_mutex=0.1=main - _openmp_mutex=5.1=1_gnu - ...
- 【转载】 tmux 向上向下翻页,翻屏
作者:江河湖海洋链接:https://www.jianshu.com/p/8835f2d4245f来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. =========== ...
- tensorflow1.x——如何在C++多线程中调用同一个session会话
相关内容: tensorflow1.x--如何在python多线程中调用同一个session会话 ================================================= 从 ...
- Numb 题解
前言 五一网课的例题,但是网上没有题解,所以来写一篇,就当攒 RP 了.题目可以在这里提交.原题是 Baekjoon - 19083,但是交不了? 题目简述 给你一个偶数 \(n\),求一个二进制数 ...
- 获取客户端真实IP备忘
出于安全考虑,近期在处理一个记录用户真实IP的需求.本来以为很简单,后来发现没有本来以为的简单.这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后, ...
- SMU 2024 spring 天梯赛自主训练3
SMU 2024 spring 天梯赛自主训练3 7-1 2018我们要赢 - SMU 2024 spring 天梯赛自主训练3 (pintia.cn) 2018 wo3 men2 yao4 ying ...
- 最近公共祖先模板(LCA)
include <bits/stdc++.h> using namespace std; struct LCA { int n; vector<int> dep; vector ...
- Camera | 8.让rk3568支持前后置摄像头
一.目标 本文主要目标是,支持前置摄像头0v5648.后置摄像头ov13850,以及移植过程遇到的一些小问题的解决. 1. 摄像头连接图 参考上图,摄像头详细信息如下: 2个摄像头均连接在I2C通道4 ...
- 有没有一个适合初学者学习的基于linux的嵌入式综合项目?
一.前言 很多粉丝问我,有没有一个适合初学者学习的嵌入式的Linux的项目? 我之前陆陆续续写过一些适合新手的小项目: <从0写一个<电话号码管理系统>的C入门项目[适合初学者]&g ...
- PG数据库导致断电/重启无法正常启动问题排查
PG数据库导致断电/重启无法正常启动问题排查 一.问题 数据库断电后,启动PG数据库后无法正常启动,报"psql: could not connect to server: No such ...