python html(文件/url/html字符串)转pdf

这篇具有很好参考价值的文章主要介绍了python html(文件/url/html字符串)转pdf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装库

pip install pdfkit

第二步
下载程序wkhtmltopdf
https://wkhtmltopdf.org/downloads.html

下载7z压缩包 解压即可, 无需安装
python html(文件/url/html字符串)转pdf,python,html,pdf
解压后结构应该是这样, 我喜欢放在项目里, 相对路径引用(也可以使用绝对路径, 放其他地方)
python html(文件/url/html字符串)转pdf,python,html,pdf


import pdfkit

# 将 wkhtmltopdf.exe程序 路径
path_wkthmltopdf = './wkhtmltox/bin/wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)


def url_to_pdf(url, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_url(url, to_file, configuration=config, options={'encoding': 'utf-8'})
    print('完成')


# 这里传入我知乎专栏文章url,转换为pdf
# url_to_pdf(r'https://m.zhijiao.cn/newsmini/detail/102201', './招生简章/102201.pdf')

# html文件转pdf
def file_to_pdf(path, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_file(path, to_file, configuration=config, options={'encoding': 'utf-8'})
    print('完成')


# file_to_pdf('./123.html', './xxx/123.pdf')
pdf_err_counts = 0
# html字符串转pdf
def string_to_pdf(string, to_file):
    global pdf_err_counts
    # 生成pdf文件,to_file为文件路径
    try:
        pdfkit.from_string(string, to_file, configuration=config, options={'encoding': 'utf-8'})
    except Exception as e:
        pdf_err_counts += 1
        print('生成pdf失败', pdf_err_counts, e)

最好每个都像string_to_pdf函数一样, 捕获一下错误, 可以使程序更健壮, 避免转换失败导致程序停止(其他没写因为我没用, 懒得写)

参考: https://www.zhihu.com/tardis/zm/art/94608155?source_id=1005
转换效果参考文章中有, 我觉得还不错, 就是有点慢。文章来源地址https://www.toymoban.com/news/detail-717157.html

到了这里,关于python html(文件/url/html字符串)转pdf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • OpenHarmony语言基础类库【@ohos.url (URL字符串解析)】

    OpenHarmony语言基础类库【@ohos.url (URL字符串解析)】

    说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 URLParams接口定义了一些处理URL查询字符串的实用方法。 constructor9+ constructor(init?: string[][] | Recordstring, string | string | URLParams) URLParams的构造函数。 系统能力:   System

    2024年04月28日
    浏览(14)
  • python实现AES-128#实现加密字符串和加密文件

    python实现AES-128#实现加密字符串和加密文件

    这篇文章是对之前的一篇文章的重写和优化AES加密算法基于python实现 脚本语言:Python 已实现的功能 明文和密密钥可以是任意字符:中文,字符,数字或符号。 ​ 明文长度任意,密钥的字节数不能超过16字节。默认编码为utf-8所以,密钥最多支持5个中文字符 待加密的数据:可

    2024年02月12日
    浏览(16)
  • HTML中的字符串转义

    HTML中的字符串转义

    转义可以防止 xss 攻击。接下来,我们来看一下如何转义。 Sanitizer 是浏览器自带的转义方法,在2021年初被提出,兼容性问题很大。 列举几个常用的 API:  这是一个简单的转义,只会把跟 html 有冲突的标签进行转义。 防止用户输入恶意篡改,Vue,JSX 默认情况下不用处理,插

    2024年02月12日
    浏览(45)
  • 【Python】【完整代码】秀!巧用Python实现对单个文件或多个文件中的指定字符串进行批量修改/替换(超详细)

    目录 1. 对单份文件 1.1 将替换后的内容保存到新文件中 1.2 直接替换当前文件中的字符

    2024年02月21日
    浏览(12)
  • 前端如何安全的渲染HTML字符串?

    前端如何安全的渲染HTML字符串?

    在现代的Web 应用中,动态生成和渲染 HTML 字符串是很常见的需求。然而,不正确地渲染HTML字符串可能会导致安全漏洞,例如跨站脚本攻击(XSS)。为了确保应用的安全性,我们需要采取一些措施来在安全的环境下渲染HTML字符串。本文将介绍一些安全渲染 HTML 字符串的最佳实

    2024年02月12日
    浏览(13)
  • react如何渲染包含html标签元素的字符串

    react如何渲染包含html标签元素的字符串

    最近有个搜索替换的需求,用户可以输入信息来匹配出对应的数据,然后对其进行标记显示,如下图所示: 实现上面的需求的思路就是前端去判断检索内容,将内容中对应的设置一个背景颜色的样式,代码如下: 但这样设置后并未达到我想要的效果,前端

    2024年02月03日
    浏览(10)
  • Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

    Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

    在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for 循环的基本语法如下: 其中, 变量 表示每次循环中取出的一个元素, 可迭代对象 表示被遍历的对象。下面是一个 for 循环的例子: 输出结果为: 代码中, fruits 是一个列表, fruit 是当前循

    2024年02月10日
    浏览(13)
  • 使用正则表达式 移除 HTML 标签后得到字符串

    使用正则表达式 移除 HTML 标签后得到字符串

    在上述代码中,stripHTMLTags 函数使用正则表达式 /[^]+/g 来匹配所有的 HTML 标签,并使用空字符串进行替换,从而将 HTML 标签移除。 最后,返回移除 HTML 标签后的字符串。

    2024年02月14日
    浏览(13)
  • PDF处理控件Aspose.PDF功能演示:使用Java将Base64字符串转换为PDF/JPG/PNG图像

    PDF处理控件Aspose.PDF功能演示:使用Java将Base64字符串转换为PDF/JPG/PNG图像

    Aspose.PDF  是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档。无需使用Adobe Acrobat。此外,API提供压缩选项,表创建和处理,图形和图像功能,广泛的超链接功能,图章和水印任务,扩展的安全控件和自定义字体处理。 Aspose API支持

    2024年02月04日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包