1、引言

小鱼:小屌丝,你这是干啥呢?

小屌丝:我的女神想要这个网页的内容。

小鱼:那你也不能这一点点的复制粘贴啊,

小屌丝:为了我的女神,再辛苦我都愿意…

小鱼:咱能不能man一点,你直接把网页内容爬下来不就完事了,

小屌丝:我的女神还要把这些内容转换成PDF,

小鱼:你的女神事可真多…

小屌丝:鱼哥,你有什么好的法子吗?

小鱼:嗯,办法嘛,确实有

小屌丝:我懂。

小鱼:…上道这么快,果然为了你的女神,你什么都舍得,我也不磨叽了,直接上教程。

2、代码实战

关于网页的内容转换成PDF,通常思路:

  • 爬取网页内容
  • 保存到本地
  • 转换成PDF文档

这种方法, 确实可以实现,但是,很麻烦,需要转两次。

而今天,小鱼给大家分享的方法,就3行代码,一次搞定。

2.1 模块介绍

2.1.1 pdfkit

pdfkit 是把 HTML CSS 格式的文件转换成 PDF 的一种工具,它是 wkhtmltopdf 这个工具包的 python 封装。

2.2 安装

pip install pdfkit

其它安装方式,直接看这两篇:

《Python3自动安装第三方库,跟pip说再见》

《Python:一行代码,导入Python所有库》

敲黑板:

pdfkit 是基于 wkhtmltopdf 的封装,所以需要先安装 wkhtmltopdf 。

wkhtmltopdf官网

2.3 代码实例

2.3.1 URL 对应网页转 PDF

代码示例:

# -*- coding:utf-8 -*-
# @Time   : 2022-06-12
# @Author : carl_DJ

import pdfkit

'URL 对应网页转 PDF'
#wkhtmltopdf.exe 为本地安装的路径
config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe")
#调用pdfkit.from_url参数,转换PDF
pdfkit.from_url(r'https://blog.csdn.net/wuyoudeyuer?type=blog', 'Carl_奕然.pdf', configuration=config)

运行结果:

2.3.2 HTML 文件转 PDF

代码示例:

# -*- coding:utf-8 -*-
# @Time   : 2022-06-12
# @Author : carl_DJ

import pdfkit

'HTML 文件转 PDF'
config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe")
#调用pdfkit.from_file参数,转换PDF
pdfkit.from_file(r'D:\Carl_奕然的博客.html, 'Carl_奕然.pdf', configuration=config)

敲黑板

读取html,需要调用pdfkit.from_file 参数。

2.3.3 字符串转 PDF

代码示例:

# -*- coding:utf-8 -*-
# @Time   : 2022-06-12
# @Author : carl_DJ

import pdfkit

'字符串转 PDF'
config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe")
#调用pdfkit.from_file参数,转换PDF
pdfkit.from_string(r'Ilike wangxinling, 'Carl_奕然.pdf', configuration=config)

运行结果

2.4 拓展

小屌丝:鱼哥,如果我不想写代码,能不能一键转换成PDF呢?

小鱼:嗯,这个可以实现,但是不能一键,必须一行代码。

小屌丝:也行,能少些一行是一行。

2.4.1 网页转换PDF

开篇小鱼也说过:pdfkit 是基于 wkhtmltopdf 的封装,所以功能肯定也是基于 wkhtmltopdf 的。

于是乎,我们就能先到,直接用wkhtmltopdf 的功能,看看能否实现PDF转换。

代码示例

第一步、找到wkhtmltopdf的安装路径,以小鱼的为例:

D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe

第二步、powershell打开,输入命令

.\wkhtmltopdf.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.pdf

运行结果

解析

  • .\wkhtmltopdf.exe :调用wkhtmltopdf.exe
  • https://blog.csdn.net/wuyoudeyuer?type=blog:url地址
  • D:\carl.pdf:保存的路径

2.4.2 网页转换图片

代码示例

我们来试一下网页转换成图片,

同样,

第一步、打开powershell,进入到bin文件夹下

第二步、输入命令:.\wkhtmltoimage.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.png

运行结果

3、总结

今天的分享,就到这里了。

是不是奇奇怪怪的姿势,又增加了呢。

我们总结一下今天的内容:

pdfkit 可以可以实现的转换:

  • URL 对应网页转 PDF
  • html文件转 PDF
  • 字符串转 PDF

wkhtmltopdf.exe可以实现的转换:

  • 网页转图片
  • 网页转 PDF

到此这篇关于Python3实现网页内容转换成PDF文档和图片的文章就介绍到这了,更多相关Python网页内容转PDF 图片内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

Python3实现网页内容转换成PDF文档和图片的更多相关文章

  1. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  2. ios – 将PDF文件附加到电子邮件 – Swift

    我想发送带有PDF附件的电子邮件.我创建了PDF文件,然后我做了以下哪些错误我相信:在发送电子邮件之前,我可以看到附带的chart.pdf,但是当我发送电子邮件时,它是在没有附件的情况下发送的,这是因为我没有正确附加文件.解决方法您将错误的mimeType传递给addAttachmentData().使用application/pdf而不是pdf.

  3. xcode – 无法在iOS8beta5中使用UIWebView打开PDF文件

    如果是,请提供一些示例代码.解决方法我找到了一种在WebView中查看PDF的解决方法

  4. iOS从UIWebview内容创建pdf

    哪个是从webview内容中获取最佳质量pdf文档的最佳选择?

  5. ios – 在Swift中将图像合并为PDF

    我想创建一个应用程序,要求用户从设备相机上传图片,然后使用swift将这些图像合并为PDF.怎么能实现这一目标?

  6. 我们可以在IOS应用程序的UIWebview中将条款和条件作为PDF加载吗?

    我在UIWebview中向我的应用添加了条款和条件.我真正想知道的是,我可以将其显示为逐页的pdf文档,还是应该使用任何其他方法?App商店会接受pdf格式吗?解决方法是的,这可以使用UIWebview完成,肯定会被Apple接受.如果您尝试从WebURL显示PDF文件,请使用以下代码.或者,如果您的应用程序中捆绑了PDF文件,请使用以下代码.

  7. ios – 通过UIDocumentInteractionController与Mail交互

    我正在通过UIDocumentInteractionController与其他应用共享PDF.在添加此功能之前,我使用MFMailComposeViewController定制了“发送到电子邮件”按钮–但现在我的UIDocumentInteractionController中还有一个Mail按钮,我想使用它来避免重复按钮.我的问题是,通过旧的邮件控制器,我曾经设置主题和内容文本,而如果我使用UID

  8. Quicklook / QLPreviewController,iOS 8的一些问题,但一切都适用于iOS 7.1

    我正在使用QuickLook查看PDF文件.它在iOS7.1中正常工作,但iOS8GM会出现一些问题.图片比文字好,我想告诉你问题:iOS7.1Xcode6使用QuickLook进行转换页面滚动,navigationBar隐藏得很好————————————————–————————而现在,iOS8GM与Xcode6使用QuickLook进行转换…页面滚动,navigationBar不隐藏,页面指示器隐藏在NavigationBar后面与iPhone模拟器,iPad模拟器,iPhone设备和iPad设备相同

  9. 如何选择PDF中的文本行然后突出显示它们? (IOS)

    我不想使用FastPDFKit,因为它显示徽标并且需要花钱,或者UIWebView,因为它对我们可以用它做的事情非常有限,而且我想学习如何自己做这些:-)谢谢!

  10. 如何在iOS上生成带有“真实”文本内容的PDF?

    我想在iOS6应用程序中生成一个好看的PDF.我试过了:>UIView在上下文中渲染>使用CoreText>使用NsstringdrawInRect>使用UILabeldrawRect这是一个代码示例:呈现的UIViews只包含UIImageView一堆UILabel.我还尝试了在stackoverflow上找到的建议:继承UILabel并执行此操作:但这也没有改变任何事情.无论我做什么,当在预览中打开PDF时,文本部分可以选择作为块,但不是每个字符的字符,并且缩放pdf显示它实际上是位图图像.有什么建议

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部