【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)
相关推荐
不正经学生1 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技1 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风4 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_5 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_5 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风5 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
我找到地球的支点啦6 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
维基框架6 小时前
WIKI 知识库 v1.1.1 正式发布
人工智能·python