今天遇上一个问题就是需要将几个pdf合并起来,我百度了一下有哪些方法可以做,可以先看下:

第一种:使用“iLovePDF”(在线端)

这是一个国外的免费在线PDF文件处理工具,它提供了PDF合并、PDF拆分、PDF压缩、PDF签名、旋转PDF、PDF转Word、PDF转Excel等服务,无需安装任何软件和插件,直接在线就能完成操作。官网地址在这里,首页截图如下所示:

当然了也可以下载离线包本地安装也是可以的。

第二种:使用“全能PDF转换助手”(PC端)

这是一款多功能的PDF处理工具,它不仅支持Word、Excel、PPT、图片等多种文件格式与PDF格式之间的转换,还支持PDF合并、PDF分割、PDF加解密、PDF压缩、PDF编辑等功能。官网地址在这里,首页截图如下所示:

我下载体验了一下结果发现直接就要收费,果断放弃了。

第三种:使用“PDF Converter.com”(在线端)

这是一个国外的在线PDF转换处理网站,它支持PDF转Excel、PDF转Word、PDF转PPT、PDF合并等功能,且该网站界面简洁,操作简单。不过它的转换效率比较慢,上传的文件需要等待几分钟才能转换成功。官方地址在这里,首页截图如下所示:

这个我自己也体验了一下,速度奇慢无比,难以接受,放弃。

第四种:万能PDF转换器

跟全能PDF转换助手是类似的形式,这里就不再多介绍了,感兴趣的话可以自行使用,官方地址在这里,首页截图如下所示:

当然了可能还会有第五种第六种。。。,不过我已经不想再使用软件了,这里我选择基于Python来实现我的需求了,简单调研了一下发现的确是可行的。

第五种:基于Python的实现

我有一张图片,我手工操作将其转为了pdf文件,同时还有一个pdf文件,想要把这两个pdf文件进行合并,最开始我觉得我的查询思路错了,我一开始是想着怎么样一步到位将两个pdf文件合并,但是却没有想到,我本身第一个pdf文件就是一个图片,如果我可以将第二个pdf文件转化为图片,这时候两张图片转化为pdf文件岂不是很简单了吗?

想到这里,我的思路就打开了,只需要基于Python实现pdf文件转化提取为图像数据集即可,而Python正好就有这样的模块。就是fitz,可以直接pip安装,如下:

python3 -m pip install fitz

安装过程很顺利,但是import导入的时候报错如下:

No module named ‘frontend‘

查了一下说的是fitz依赖于PyMuPDF模块,于是我又开始安装PyMuPDF模块,结果pip安装一直报奇怪的错误,去查了一下现成的wheel文件也是没有的,很无奈,后来在一篇文章里面看到需要安装的时候指定好版本号,于是我又重新试了一下果然可以了,如下:

python3 -m pip install PyMuPDF==1.16.14

执行上面的安装命令即可安装成功,之后就是基于fitz模块开发转化程序了。

源码实现如下所示:

#!usr/bin/env python
# encoding:utf-8
from __future__ import division"""
__Author__:沂水寒城
功能: pdf转png
"""import os
import fitzdef pdf2Png(pdfPath, name, zoom_x, zoom_y, rotation_angle, saveDir):"""pdf文件转为png文件"""if not os.path.exists(saveDir):os.makedirs(saveDir)pdf = fitz.open(pdfPath)# 逐页读取pdffor page_num in range(0, pdf.pageCount):print("Parse And Transfome Page: ", page_num)page = pdf[page_num]# 设置缩放和旋转系数trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotation_angle)p2p = page.getPixmap(matrix=trans, alpha=False)p2p.writePNG(saveDir + name + "_" + str(page_num) + ".png")pdf.close()if __name__ == "__main__":print("===================================Loading PDF2PNG===================================")saveDir = "data/"pdf2Png("雷军刷屏,难掩互联网低谷.pdf", "lbs", 1, 1, 0, saveDir)

上面的pdf2Png函数即可实现我的需求,接下来简单测试验证一下。

我随机打开百度,选择了一篇新闻,链接在这里,首页截图如下所示:

终端执行输出如下所示:

代码运行成功后会自动本地创建data目录,存储所有的图像数据,如下所示:

我给每页pdf转化得到图片命名的前缀是lbs[雷布斯],后面的数字是在原始pdf文件中的页码,我们来简单看下:

lbs_0.png

lbs_1.png

lbs_2.png

lbs_3.png

lbs_4.png

完美转化提取,记录一下,希望可以帮到有需要的人。

Python实用功能之pdf文件转png图片数据相关推荐

  1. Python PyMuPDF 提取PDF文件中的图片到指定目录保存,PDF将每一页都保存为图片

    代码 PyMuPDF的版本不同,似乎方法也不同,所以建议指定一个版本. 安装: pip install PyMuPDF==1.21.1 代码: import os import fitz# 提取每一页 ...

  2. python实现将pdf文件转为jpg图片文件的总结

  3. Python工具源码,Python批量提取PPT文件中的图片

    在办公场景当中,同样也有这样一个需求,那就是快速批量把PPT文件中的图片提取出来,毕竟一个个点击另存为太过于繁琐,以及耗费时间,前面本渣渣分享过如何应用Python批量提取PDF文件中的图片,而这一篇 ...

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

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

  5. Python脚本工具,PyMuPDF批量提取PDF文件中的图片

    如何批量快速提取出PDF中的图片文件,你是否遇到这样的一个问题,尤其是PPT文件转换为PDF文件,需要快速提取其中的图片文件,如果你恰好会那么一点py,同时复制粘贴没问题的话,那么相信你也能够很轻松的 ...

  6. Python工具脚本,PDF文件批量转图片(pdf图片提取器)工具(exe)

    前面写(抄袭)了一下转图片(提取图片)的源码,包括PDF文件以及PPT文件,这里本渣渣抽空进行了exe打包,打包的是pdf文件转图片,当然使用的gui还是python的tkinter库,仅供参考和学习 ...

  7. Python怎么将pdf转为图片?Python如何实现pdf文件转图片

    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存.本文就将会来介绍一下pdf转图片的方法,往下看看吧. 1.pdf转图片的话主要实现所需 ...

  8. 三种方法,用Python轻松提取PDF中的全部图片

    作者 | 陈熹.刘早起 来源 | 早起Python 头图 | 下载于视觉中国 有时我们需要将一份或者多份PDF文件中的图片提取出来,如果采取在线的网站实现的话又担心图片泄漏,手动操作又觉得麻烦,其实用 ...

  9. 【Python】用于在 Python 中处理 PDF 文件的 PyPDF2 库

    作者 | megha152 编译 | Flin 来源 | analyticsvidhya 介绍 PDF 代表便携式文档格式.它使用 .pdf 扩展名.这种类型的文件主要用于共享目的.它们不能被修改,从 ...

最新文章

  1. Objective-C 什么是类
  2. opencv 使用命令行参数法显示图片
  3. JAVA调用BAPI创建销售订单
  4. matlab中rms代表什么_工业铝型材名称中夹杂的字母含义代表什么
  5. 数学老师出的语文试卷,哈哈哈
  6. 计算机仿真随机数生成,伪随机数生成器研究
  7. java excel条件格式_Java 使用条件格式高亮Excel单元格
  8. (Object detection)目标检测从入门到精通——第三部分非极大抑制
  9. mysql datasource.url_SpringBoot配置数据源DataSource
  10. (推荐)jQuery性能优化指南
  11. 在VS2012集成Fortran95(Ftn95)
  12. 分类问题-决策树模型
  13. mov和mp4格式哪个好_公文需带附件时,标准的格式排布
  14. 计算机网络原理(3)数据编码技术
  15. SSL_2278 Oliver的救援
  16. CC2530——点对点通信
  17. Linux的pcie模拟网卡,Intel英特尔PCIe万兆网卡虚拟功能驱动4.11.1版For Linux(2021年3月5日发布)...
  18. 医院疫情管理系统-数据库课程设计(源码+数据库+报告全套)
  19. 影响搜索引擎排名因素包括几个
  20. 【张小平工作日志】DBCP、c3p0、Druid、Proxool数据库连接池比较

热门文章

  1. 解决 Navigating to current location (/userslist) is not allowed问题。
  2. python考试名词解释_程序设计(python)_章节测验,期末考试,慕课答案查询公众号...
  3. MySQL中的auto_increment
  4. 系统封装_Ghost光盘制作
  5. Photoshop学习(二):换色
  6. 带宽和网速之间的关系
  7. CAD命令行不见了怎么重新恢复?
  8. 骨传导蓝牙耳机哪个牌子好?最受欢迎的五款骨传导蓝牙耳机
  9. 不用工具,如何快速计算文件的MD5?
  10. VUE前端删除和批量删除