首页 > 其他分享 >批量将 html文件转成PDF文件

批量将 html文件转成PDF文件

时间:2023-09-27 17:48:26浏览次数:25  
标签:文件 wkhtmltopdf html PDF path folder pdf

再不会用openai 就等被淘汰吧

要批量将HTML文件转换为PDF文件,你可以使用一些可以自动化这个过程的工具或编程语言库。以下是一种可能的方法,使用Python编程语言和一个名为pdfkit的库,以及一个名为wkhtmltopdf的命令行工具,它可以将HTML转换为PDF。

请按照以下步骤操作:

  1. 安装必要的工具和库:

    首先,你需要安装wkhtmltopdfpdfkit。你可以使用以下命令来安装它们(确保已经安装了Python):

    pip install pdfkit
    

    pdfkit库是wkhtmltopdf的Python封装,用于在Python中调用wkhtmltopdf

  2. 安装wkhtmltopdf工具:

    你需要安装wkhtmltopdf命令行工具,它是实际执行HTML到PDF转换的工具。你可以从其官方网站下载适合你操作系统的安装程序:https://wkhtmltopdf.org/downloads.html

  3. 编写Python脚本:

    创建一个Python脚本,用于批量将HTML文件转换为PDF。以下是一个示例脚本:

    import pdfkit
    import os
    
    # 设置wkhtmltopdf可执行文件的路径
    pdfkit_config = pdfkit.configuration(wkhtmltopdf='/path/to/wkhtmltopdf')
    
    # 要转换的HTML文件夹和输出PDF文件夹
    html_folder = '/path/to/html_folder'
    pdf_folder = '/path/to/pdf_folder'
    
    # 确保输出文件夹存在
    if not os.path.exists(pdf_folder):
        os.makedirs(pdf_folder)
    
    # 获取HTML文件列表
    html_files = os.listdir(html_folder)
    
    for html_file in html_files:
        if html_file.endswith('.html'):
            html_path = os.path.join(html_folder, html_file)
            pdf_file = os.path.splitext(html_file)[0] + '.pdf'
            pdf_path = os.path.join(pdf_folder, pdf_file)
    
            # 将HTML文件转换为PDF
            pdfkit.from_file(html_path, pdf_path, configuration=pdfkit_config)
    
    print("转换完成!")
    

    请将/path/to/wkhtmltopdf/path/to/html_folder/path/to/pdf_folder替换为你自己的路径。

  4. 运行脚本:

    执行上述Python脚本,它将遍历指定的HTML文件夹中的所有HTML文件,并将它们转换为PDF文件并保存到指定的PDF文件夹中。

这个方法使用了wkhtmltopdfpdfkit来进行HTML到PDF的批量转换。你需要确保安装了这两个工具,并根据你的需要修改Python脚本中的文件路径和文件夹路径。

标签:文件,wkhtmltopdf,html,PDF,path,folder,pdf
From: https://www.cnblogs.com/wlphp/p/17733254.html

相关文章

  • 部署文件
    一、把所要替换的jar包上传(若有重复,删除后再上传);二、进入对应的文件的sftp和资源ip部署服务器(SFTP也称SSH文件传输协议,一种数据流连线档案存取、传输和管理功能的网络传输协议);三、到对应部署服务器中进入到相应的目录下,备份(重命名)已有的jar包后,把新jar包传上去;四、传送完毕,进入......
  • 导入mysql文件报错
    mysql报错:「ERR」1273-Unknowncollation:'utf8mb4_0900_ai_ci'专注数据库知识分享2022-09-2719:05甘肃#MySQL专栏#mysql导入sql文件报错:[ERR]1273-Unknowncollation:'utf8mb4_0900_ai_ci'大致原因:sql对应的mysql版本高于当前要导入的mysql库的版本,引发......
  • Chrome浏览器下载文件被自动拦截怎么办
    谷歌浏览器下载文件被自动拦截怎么办?在使用谷歌浏览器进行网络文件下载的时候,下载的文件进程被浏览器给阻止了,导致无法获取文件下载资源了。如何解除这个拦截功能呢?来看看解决方法分享吧!操作教学1、首先打开谷歌浏览器,在谷歌浏览器右上角可以看到一个由三个点组成的图标,点击该图......
  • java实现文件上传与下载
    一、对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦。 JSP代码,POST请求,表单必须设置为enctype="multipart/form-data"<spanstyle="font-size:14px;"><formaction="upload3"method="po......
  • ROS回顾与整理《五、launch文件的启动、管理》
    launch文件中语法类似于XML文件,里面就是一堆脚本。注:下面的参数name:是指运行时节点名称,可以取代代码中ros::init中设置的节点名。output:是否将节点信息打印到终端。respawn:如果节点挂了,控制该节点是否重启。required:是否要求某个节点一定要启动。ns:namespace,表示......
  • Jemeter多文件上传(用SpringBoot简单写一个接口测试)
    写一个多文件上传接口使用Jemeter的HttpRequest组件实现多文件上传测试可以看到多文件实现方式只需要在参数里面添加多行就行了,参数名称写同一个。......
  • 启动文件—RISC-V通用MCU启动文件解释
    _start:是整个bin文件的起始,第一个指令是jhandle_reset,跳转到下文的handle_reset处。 _vectop_base:是中断向量表,用于存放中断函数的入口地址.weak是弱声明,此处把所有的中断函数都写了死循环,1: j1b的意思就是死循环,如果在其它.c文件中有声明则以.c中的函数内容为准,这......
  • Linux2.1.13网络源代码学习(https://qiankunli.github.io/2022/07/04/linux_2_1_13_ne
    简介简介源码目录网络分层数据结构套接字套接字与vfssk_buff结构网络协议栈实现——数据struct和协议structlinux1.2.13接收数据收到数据包的几种情况Socket读取发送数据面向过程/对象/ioc以下来自linux1.2.13源码,算是参见Linux1.0的学习笔记。源码目......
  • vue3项目结合ant design vue的upLoad组件实现上传和下载Excel文件
    1.上传文件  1.组件引入    import{ Button, Upload}from'ant-design-vue'  2.代码    <Upload      v-model:file-list="fileList"      name="file"      //限制文件格式      acce......
  • JavaScript下载base64位文件
    1/**2*下载文件3**/4functiondownloadExcel(base64Data){5varmyBlob=this.base64toBlob(base64Data);6varmyUrl=URL.createObjectURL(myBlob);7varlink=document.createElement("a");8......