前言

近期有些文档是在网站上的,量非常大。加之对于纸质书的喜爱,想把他们整合到一个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的更多相关文章

  1. 使用Pechkin将HTML网页转换为PDF

    Pechkin开源组件使用wkhtmlbox,可以解析CSS样式,将网页转换为PDF文件, 支持URL,或者HTML字符串 1, 从NuGet程序管理器中获得Pechkin  GlobalConfig ...

  2. wkhtmltopdf 将网页转换为PDF和图片

    wkhtmltopdf 是一个shell工具,它使用了WebKit渲染引擎和Qt,将网页html转换为pdf的强大工具,转换后的pdf也可以通过pdf工具进行复制.备注.修改 官网下载地址:http: ...

  3. Python爬虫实战:将网页转换为pdf电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

  4. 关于html转换为pdf案例的一些测试与思考

    由于工作所需,最近花时间研究了html转换为pdf的功能.html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发现目前html 转换为pdf的解决方案主要分为三类: 客 ...

  5. 通过Pdf预览Excel或者word或者Powerpoint (C#将Office转换为PDF)

    下面代码是Excel转换为PDF using System; using System.Collections.Generic; using System.Linq; using System.Web ...

  6. 在asp.net 中生成PDF的方法

    近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...

  7. 程序生成word与PDF文档的方法(python)

    程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...

  8. Python将HTML转换为PDF

    Python将HTML转换为PDF 使用pdfkit库和wkhtmltopdf, pip install pdfkit wkhtmltopdflinux中一般需要添加sudo权限. Windows安装 ...

  9. Python下载网页的几种方法

    get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在 ...

  10. C#实现office文档转换为PDF或xps的一些方法( 转)

    源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...

随机推荐

  1. 【转载】ubuntu22.04安装gcc-8失败

    版权声明:本文为CSDN博主「Death_Note_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/Death ...

  2. Linux的netns使用总结

    转载请注明出处: Linux的netns(Network Namespace)是Linux内核提供的一项强大的网络隔离功能,它能够创建多个独立的网络空间,每个空间都拥有自己独立的网络协议栈,包括网络接 ...

  3. NCP1207A笔记

    uc3844d8 NCP1207A实现一个标准的电流模式结构,关断时间由峰值电流设置决定:铁芯复位检测则触发开启事件. 变压器铁芯检测:无论什么操作都会保证临界操作.因此,几乎没有一次开关接通损耗和二 ...

  4. .NET 开源实时监控系统 - WatchDog

    前言 在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要.实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间. 本文将介绍一个名为Wa ...

  5. Java 读取命令行输入

    在 Java 中,您可以使用 Scanner 类从命令行读取输入.这个类属于 java.util 包,因此在使用之前您需要导入该包. 下面是一个如何从命令行读取输入的 Java 程序示例: impor ...

  6. 【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

    通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去.但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建? ...

  7. Python网页应用开发神器Dash 2.18.1稳定版本来啦

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...

  8. Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a

    #!/bin/bash # Cross-compile environment for Android on ARM64 and x86 # # Contents licensed under the ...

  9. 面试官的几句话,差点让我挂在HTTPS上

    作为软件测试,大家都知道一些常用的网络协议是我们必须要了解和掌握的,比如 HTTP 协议,HTTPS 协议就是两个使用非常广泛的协议,所以也是面试官问的面试的时候问的比较多的两个协议:而且因为这两个协 ...

  10. 系统编程-进程-wait、waitpid和WIFEXITED系列宏 超级详解

    1.  wait.waitpid 函数简介 补充:对于waitpid,如果返回值为0,表示指定去等待的子进程尚未结束. 该系列宏的使用方法展示: PART1 实验思路: 使用wait系统调用让父进程给 ...