源文章:PDF转图片再转长图、python、pil_qq_41256425的博客-CSDN博客_pdf转长图 python

之所以发这个是因为源文章中的库升级以后这个代码没法跑了,所以更新了新的代码:

# -*- coding: utf-8 -*-
"""
1、安装库pip install pymupdfpip install pillow
2、修改main方法参数
3、运行
"""
import os
import sys
import fitz
from PIL import Imagedef pdf_to_images(pdf_path, img_path):#  打开PDF文件,生成一个对象doc = fitz.open(pdf_path)print(doc.page_count)for pg in range(doc.page_count):page = doc[pg]rotate = int(0)# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。zoom_x = 2.0zoom_y = 2.0trans = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)pm = page.get_pixmap(matrix=trans, alpha=False)try:os.mkdir(img_path)except FileExistsError:passpm.save(f'{img_path}/%s.png' % pg)def join(png1, png2, size):img1, img2 = Image.open(png1), Image.open(png2)size1, size2 = img1.size, img2.size  # 获取两张图片的大小joint = Image.new('RGB', (size1[0], size1[1] + size2[1] - size))# 新建一张新的图片# 因为拼接的图片的宽都是一样,所以宽为固定值# 高为两张图片的高相加再减去需要缩进的部分loc1, loc2 = (0, 0), (0, size1[1] - size)# 两张图片的位置# a-------------# |            |# |            |# |            |# |            |# |            |# b------------|# |            |# |            |# |            |# |            |# |------------|# 位置都是以该图片的左上角的坐标决定# 第一张图片的左上角为a点,a的坐标为(0,0)# 第二张图片的左上角为b点,a的横坐标为0,纵坐标为第一张图片的纵坐标减去第二张图片上移的size: (0, size[1]-size)joint.paste(img2, loc2)joint.paste(img1, loc1)# 因为需要让第一张图片放置在图层的最上面,所以让第一张图片最后最后附着上图片上joint.save(result)def start(items, size, first_path=None):# 当first为None时,默认将第一张图片设置为图片列表的第一张图片,第二张图片设置为图片列表的第二张# 当这两张图片合成后,将图片列表的已经合成的图片元素移除# 然后将合成的图片设置为第一张图片,将剩余的没有合成的图片列表继续操作# 当first_path不为None,将第一张图片设置为first_path,第二张图片设置为传进来的列表的第一个元素# 合成之后,将刚刚使用的列表的元素删除# 最后递归函数,知道列表为空try:if not first_path:path1, path2 = items[0], items[1]join(path1, path2, size)items.remove(path1)items.remove(path2)return start(items, size, first_path=result)else:path2 = items[0]join(first_path, path2, size)items.remove(path2)return start(items, size, first_path=result)except:passdef getAllImg(path):result = []filelist = os.listdir(path)i = 0for file in filelist:if str(file).split(".")[0].isdigit():result.append(os.path.join(path, f"{str(i)}.png"))i += 1return resultif __name__ == '__main__':# 图片保存路径:path = "image"pdf_to_images("回眸井冈山历史凝聚新时代力量.pdf", path)result = f"{path}/result.png"s = getAllImg(path)start(s, 100)print('最后图片尺寸--->', Image.open(result).size)

使用python将pdf转化为长图片相关推荐

  1. java 实现pdf转化为批量图片(两步走)

    java 实现pdf转化为批量图片(两步走) 微信小程序先看pdf批量转图片效果 1.导入jar包 方法1:在maven中导入 <dependency><groupId>org ...

  2. 如何利用Python将PDF转化为图片?

    python的功能真是强大,可以做词云图.可以优雅地八卦.可以做游戏外挂.还可以将PDF转化成图片,这个功能你还不知道吧,赶紧随小编我一起来看看吧: 之前收集了很多优秀的 PDF文档,但是需要看的时候 ...

  3. python处理pdf实例_Python程序图片和pdf上文字识别实例

    实例一:先减少背景杂音,再做图片文字识别 为了提高识别率,先用opencv-python对扫描的图片做预处理(减少背景杂音),然后调用pytesseract识别图片上的文字.处理方式就是: 学习Pyt ...

  4. 利用 Python 去除 PDF 水印(和图片水印原理一样)

    前言 今天介绍下用 Python 去除 PDF (图片)的水印.思路很简单,代码也很简洁. 首先来考虑 Python 如何去除图片的水印,然后再将思路复用到 PDF 上面. 原理 这张图片是前几天整理 ...

  5. python将pdf转化为图片格式,可指定清晰度

    安装fitz库 pip install fitz -i https://pypi.douban.com/simple 运行以下代码,会读取当前代码所在的路径下的,pdf文件.并将图片生成到该路径下 i ...

  6. Python实现PDF文件转图片(PNG,JPEG等格式)

    介绍 这篇博客目的主要是使用Python实现PDF文件转换成图片,以方便下游任务的进行. 开发包 fitz PyMuPDF 在控制台依次执行以下命令: pip install fitz pip ins ...

  7. pdf转化成图片格式

    引言 知识要及时总结,放到自己的仓库. 概述 公司项目一个小任务,需要将pdf格式的文件转化为png图片格式.一开始的想法就是java一定有jar包实现了这个功能,只要查到这个jar包即可.经过度娘的 ...

  8. windows下用Python把pdf文件转化为图片(png高清)

    windows下python3实现PDF转png图片,高清!!!希望可以帮到大家 windows下用Python将pdf文件转化为图片(png高清) 不扯没用的,直接上代码 1.环境:windows( ...

  9. pythonppt_用Python实现ppt转化图片(附带长图合并功能)

    用Python实现ppt转化图片(附带长图合并功能) 前言 笔者前一阵在学习数据相关的东西,从初学开始,一直在参加社区中的图表小挑战,此项活动是社区出题人给出一定官方数据,参加小挑战的人员可以对数据进 ...

最新文章

  1. 2018会考计算机成绩查询入口,2018年山东会考成绩查询时间及入口
  2. 控制寄存器(CR0,CR1,CR2,CR3,CR4)
  3. jQuery+css模拟下拉框模糊搜索的实现
  4. Windows Server 2012正式版RDS系列④
  5. Codeforces Round #540 (Div. 3)(部分题解)
  6. STM32f103——ILI9341
  7. jzoj3736. 【NOI2014模拟7.11】数学题
  8. (Origin)设置图例位置
  9. install mysql with source code
  10. ESP32-CAM模块网络摄像头demo加装舵机控制教程
  11. MKS-DLC雕刻MKS_TFT_CNC字机器,CNC雕刻,激光雕刻GRBL使用方法
  12. MQTT代理服务器的选择
  13. 安装jdk在linux(2)
  14. opengl-shader学习笔记:varying变量
  15. 新浪股东批准私有化合并协议;中集车辆创业板成功过会;中国红牛2020年销售额超228亿元​ | 美通企业周刊...
  16. 信息学奥赛一本通(c++):2066:【例2.3】买图书
  17. 【2022 CCF BDCI 文心大模型创意项目】DIY绘本
  18. 玩转Oracle服务器连接
  19. 用计算机精确查找,Excel函数教程: 根据首列精确查找同一行的数据-excel技巧-电脑技巧收藏家...
  20. 开学第一周——自我介绍

热门文章

  1. 【Mybatisplus】创建Spring Boot工程打包错误解决方法
  2. 日晒、水洗、蜜处理?简单带你认识咖啡加工处理法
  3. 五、入门python第五课
  4. 机器学习:k近邻算法(KNN)介绍
  5. 从华为畅享7爆红双11 看千元市场爆品的新常态
  6. 微信小程序实现运动步数排名与发布个人动态服务器部署
  7. cf英文名字格式好看的_cf好看的英文名字格式:、I (~) you ?
  8. 【机器学习】机器学习公共数据集整理
  9. 北京圣思园_Java SE Lesson 11
  10. 全局安装vue-cli以及初始化