aspnetcore框架揭秘pdf_揭秘Python如何将网站保存为PDF

news/2024/5/9 14:02:26/文章来源:https://blog.csdn.net/weixin_39767386/article/details/110708670

很多公众号提供功能,可以将你需要的公众号内容变为PDF,方便阅读和收藏,

用着挺方便,微信公众号的文章为PDF,网站内容导出为PDF,这些是怎么来的?

a29bc88be89f41d1d2deaeaf11999ad9.png

下面就进行揭秘,从安装到应用,都详细的告诉你,如果你能跟着一起动手学习,

相信以后你也能开发出适合属于自己的一款强大工具出来。现在隆重介绍,Python-PDFKit:转化HTML成PDF利器!

这个Python库基于wkhtmltopdf应用程序包,并提供了Python 2和3封装,兼容2种不同版本的Python。该库基于Webkit将HTML转换为PDF。

安装

首先需要安装基础框架wkhtmltopdf:

  1. 安装wkhtmltopdf:
  • 于Debian / Ubuntu:
$ sudo apt-get install wkhtmltopdf
  • 苹果MAC系统:
$ brew install caskroom / cask / wkhtmltopdf

警告!debian / ubuntu repos中的版本减少了功能(因为它编译时没有使用wkhtmltopdf QT补丁),例如添加轮廓,页眉,页脚,TOC等。要使用此选项,应该从wkhtmltopdf站点下载安装静态二进制文件。

  • Windows和其他选项:打开wkhtmltopdf 项目网站,下载安装二进制安装程序。

完毕,就可以安装python-pdfkit了。

9c7c9252c1f07852ebb130eebffa372e.png
  1. 安装python-pdfkit:
$ pip install pdfkit(或python3采用pip3 )

用法

快速入门,把一个网页链接,一个静态网页等转成pdf。

2fe6fbedd2aed747d690f9be8781af4c.png
import pdfkitpdfkit.from_url(' web link ',' out.pdf ')pdfkit.from_file(' test.html ',' out.pdf ')pdfkit.from_string(' Hello!',' out.pdf ')

来个更好玩的,如果要多个页面合成一个pdf,该咋办?给你5秒钟。

好了,答案如下:

pdfkit.from_url([ ' web1 ',' weburl2 ',' http://weburl3 ' ],' out.pdf ')pdfkit.from_file([ 'file1.html ',' file2.html ' ],' out.pdf ')

把一个网页转成PDF也可以这么用:

with open(' file.html ')as f: pdfkit.from_file(f,' out.pdf ')

这样,pdfkit就能完成基本的转pdf任务了。

如果,要把若干HTML页面转成一个pdf,并且定义封面和章节的链接,甚至文档样式css,怎么做呢?

toc = { ' xsl-style-sheet ':' toc.xsl '}cover = ' cover.html 'pdfkit.from_file(' file.html ',options = options,toc = toc,cover = cover)pdfkit.from_file(' file.html ',options = options,toc = toc,cover = cover,cover_first = True)

常见错误及解法:

  • IOError: 'No wkhtmltopdf executable found':
  • 确保您的$ PATH中有wkhtmltopdf或通过自定义配置设置。Windows 中的wkhtmltopdf或Linux 上的wkhtmltopdf应返回二进制的实际路径。
  • IOError: 'Command Failed'
  • 此错误表示PDFKit无法处理输入。您可以尝试直接从错误消息运行命令,并查看导致失败的错误(在某些wkhtmltopdf版本上,这可能是由于分段错误导致的)

经过上面的介绍,相信聪明的你,已经掌握了从HTML转PDF的利器,pdfkit的使用方法。具体的pdfkit项目地址,请关注公众号python_dada后输入"pdfkit"获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_728843.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站使用手机相机_手机如何修改证件照片大小和分辨率

网上报名时,上传证件照片对高宽像素、分辨率、文件大小和背景颜色都有要求,如果只是简单的压缩一下文件大小或修改一个尺寸,对分辨率和背景颜色没有要求的话,手机上是可以修改的。一、手机相机自带的照片编辑功能很多手机系统都自…

成为Java顶尖程序员 ,看这11本书就够了,及十个必备的技术网站

"学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料&…

《PHP精粹:编写高效PHP代码》——2.3节用MySQL建立一个食谱网站

本节书摘来自华章社区《PHP精粹:编写高效PHP代码》一书中的第2章,第2.3节用MySQL建立一个食谱网站,作者:(美)  Davey Shafik,更多章节内容可以访问云栖社区“华章社区”公众号查看 2.3 用MyS…

大型网站系统架构的演化

前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计…

网络营销第五课(1):SEO搜索引擎优化(基础知识)

大家好,通过以前几次课的学习,我们已经打好了基础,从今天开始我们正式进入网络营销的重点部分,这就是SEO,中文意思为:搜索引擎优化。 很多人都说“网站优化”就是SEO,其实“网站优化”指的是对网…

如何真正提高ASP.NET网站的性能

前言怎么才能让asp.net网站飞得更快,有更好的性能?——这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明自己的一些猜想。理论上讲,我们希…

10个扁平化设计网站

1、http://themeforest.net/item/delta-ajax-portfolio-responsive-wordpress-theme/full_screen_preview/3157243 2、http://rypearts.com/ 3、http://fltdsgn.com/page/5/ 4、http://en.unitportables.com/ 5、http://spab-rice.com/wordpress/yalu/ 6、http://adamrudzki.co…

html网页添加友链,添加友情链接网站的3个注意事项

友情链接网站的导出链接数量不宜过多友情链接所在页面上的外部导出链接越多,说明链接伙伴越多,各个链接伙伴能承受的权重就会降低。所以,在选择友情链接目标时,应该优先选择那些导出链接较少的网站。以PR值为例,在搜索…

大型网站技术架构的演进

2019独角兽企业重金招聘Python工程师标准>>> 最近我在阅读2本关于大型网站架构的书:《大型网站技术架构——核心原理与案例分析》李智慧、《大型网站系统与Java中间件实践》曾宪杰。 我期望从这些书中学习到大型网站是如何做架构的,这个过程会…

前端面试中经常问到的问题:如何提高网站性能 总结

前端面试中经常问到的问题:如何提高网站性能 总结 1. 使用dns预解析 DNS 请求需要的带宽非常小,但是延迟却有点高,这点在手机网络上特别明显。预读取 DNS 能让延迟明显减少一些,例如用户点击链接时。在某些情况下,延迟…

4月第三周域名主机网站Top15:域名城跃居第5

据国际统计机构Alexa公布的最新数据显示,4月第三周(4月16日-4月22日),国内域名主机网站覆盖率排名前三的依旧是中国万网、西部数码和易名中国。其中,万网周均用户覆盖数达1550,西部数码为630,易…

8月第四周IT类网站/频道排名:天极网保持第二

中国IDC评述网08月31日报道:近日,根据国际统计机构Alexa公布的最新数据显示,8月第四周(2012-8-20到2012-8-26),我国IT类网站/频道排名中,太平洋电脑网以5300的周均用户覆盖数排名第一&#xff0…

MVC4.0网站发布

一、VS2010下MVC4.0项目的发布 首先,生成网站发布文件。 第一步,"右击"要发布的MVC4.0项目,选择"发布(B)..."选项,如图: 第二步,在"发布web"对话框中进行设置,配…

SSL证书相关技巧 -- 如何访问一个网站,其证书不在系统证书列表中

引入: 前面文章说到,操作系统会吧一些网站需要的SSL证书添加到其证书管理器中,但是世界上毕竟网站太多了,操作系统不可能一一添加证书到列表,而且这种网站很多,比如下面例子中的中国铁道部订票网站&#xf…

源码安装构建网站架构

好久没写些博客了 刚刚找到工作,工作没几天就有幸参与了公司网站的拆分项目 今天就写这些东西 主要是用来熟悉下源码安装的过程 方便自己的记忆 项目名称:数据库以及应用的拆分项目需求:由于网站的后台数据库的日益增长造成数据库过大 数据库…

如何下载视频网站中video标签中的视频资源以blob:http开头的地址的资源

一、问题场景 想下载知乎视频资源,却发现视频链接是这个样子的 blob:https://v.vzuu.com/b6146956-6e52-406d-8909-f3f1b81ae461 当时一脸懵比啊 ~难道blob:https是什么牛逼的新协议?于是进行了一番探索 二、探寻结论 结论就是blob:https并不是一种协议…

各位ccflow爱好者, 驰骋企业门户网站与虚拟机发布了,虚拟机包含了ccflow, ccoa......

为什么80%的码农都做不了架构师?>>> 各位ccflow爱好者, 驰骋企业门户网站与虚拟机发布了,虚拟机包含了ccflow, ccoa, ccim, ccgpm,ccsso. 各位ccflow爱好者: 驰骋企业门户网站试运行: http://ccport.org 虚拟机:包含流程引擎、权限管理、单…

SEO人员必懂的几个高级搜索指令

一些常用的高级搜索指令,平常人可能不太了解,但对于SEO人员来说是必须要懂的,因为通过这些高级搜索指令,我们可以更好的查看和分析数据,为网站优化提供依据。常见的高级搜索指令有哪些呢? 1、site指令&…

最好的网站宣传方法:网摘精灵

最好的网站宣传方法:网摘精灵网摘精灵软件名称:网摘精灵 软件语言:简体中文 当前版本:1.0 适用平台:windows 9x/windows me/windows 2000/windows xp/windows 2003/ 软件类型:国产软件/免费版/网络辅助/网站推广 发布日…

ASP.NET网站实现现场直播

此博文省略了流媒体服务器组建(网络管理员的事)。 可以先看到截图: 把下面的js代码,另存为LiveBroadcast.js文件,存在专案中的js目录中: LiveBroadcast.js function Fulls() {try {if (document.all.Media.playState 3) { docume…