【python】PDF转长图

PDF转化成长图

步骤:

复制代码
   pip install pdf2image
  1. 下载依赖文件poppler

  2. 上代码

    python 复制代码
    # 导入所需的库
    from PIL import Image
    import fitz
    from pdf2image import convert_from_path
    
    # 定义PDF文件路径、保存图像路径和Poppler路径
    pdf_file = r'D:\workspace\python学习笔记.pdf'
    save_path = r'D:\workspace\long_image.png'
    poppler_path = r"D:\app\poppler_2\bin"
    
    # 将PDF文件转换为图像列表
    image_list = convert_from_path(pdf_file, poppler_path=poppler_path)
    
    # 获取第一个图像的尺寸
    page_width, page_height = image_list[0].size
    
    # 创建一个与所有图像大小相同的画布
    merged_image = Image.new("RGB", (page_width, page_height * len(image_list)), (255, 255, 255))
    
    # 将所有图像粘贴到画布上
    for i, image in enumerate(image_list):
        merged_image.paste(image, (0, i * page_height))
    
    # 将画布保存为一张长图
    merged_image.save(save_path)
相关推荐
枫叶丹45 分钟前
【Qt开发】Qt窗口(二) -> QToolBar工具栏
开发语言·数据库·c++·qt
熙客14 分钟前
Java集合框架概述
java·开发语言
我命由我1234524 分钟前
Java 开发 - 简单消息队列实现、主题消息队列实现
java·开发语言·后端·算法·java-ee·消息队列·intellij-idea
chilavert31824 分钟前
技术演进中的开发沉思-194 JavaScript: Prototype 框架
开发语言·javascript·原型模式
2501_9412374525 分钟前
高性能计算通信库
开发语言·c++·算法
杜子不疼.31 分钟前
【C++】红黑树为什么比AVL快?用C++亲手实现告诉你答案
开发语言·c++
程序猿追33 分钟前
Ascend C编程范式总结:与CUDA的异同对比
c语言·开发语言·算法
沐知全栈开发2 小时前
HTML DOM 修改
开发语言
2501_941236213 小时前
C++与Node.js集成
开发语言·c++·算法
2501_941111343 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python