网页转换为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 ...
随机推荐
- baselines中环境包装器EpisodicLifeEnv的分析
如题: class EpisodicLifeEnv(gym.Wrapper): def __init__(self, env): """Make end-of-life ...
- 代码随想录Day7
454.四数相加Ⅱ 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k ...
- Mysql 不用Json存储 List<Long>的方式
public static void main(String[] args) { List<Long> idList = new ArrayList<>(); for (int ...
- SQL Server序列号的获取
建表: 1 USE [JX_IMS_CPK] 2 GO 3 4 SET ANSI_NULLS ON 5 GO 6 7 SET QUOTED_IDENTIFIER ON 8 GO 9 10 CREATE ...
- 2024 (ICPC) Jiangxi Provincial 省赛
2024 (ICPC) Jiangxi Provincial 省赛 前言 和队友 vp 7t,赛后补了几题. A. Maliang Learning Painting 思路 输出 a + b + c ...
- mysql 读写分离之主从配置
#mysql主从复制 ###下载mysql安装包 ###安装master mysql . 检查当前机器是否已经安装mysql yum repolist enabled | grep "mys ...
- 执行maven时报内存溢出OutOfMemory
解决的方法是调整java的堆大小的值. Windows环境中 找到文件%M2_HOME%\bin\mvn.bat ,这就是启动Maven的脚本文件,在该文件中你能看到有一行注释为: @REM set ...
- Hexo-GitHub部署魔改第一步-config
Hexo-GitHub部署魔改第一步_config.yml 1. config.yml # Hexo Configuration ## Docs: https://hexo.io/docs/confi ...
- API 接口是什么?怎么对接 API?
API接口是预先定义的函数,允许应用间共享数据和功能.对接API涉及获取接口文档,通过POST请求调用如http://域名地址/queryLoginWx的URL,使用特定Headers.成功返回会包含 ...
- (八)Redis 主从复制、切片集群
一.主从复制 1.主从关系 都说的 Redis 具有高可靠性,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断.AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是将一份数据同时保 ...