在青少年编程竞赛交流群中,我每周日晚20:00都会开展直播活动,带着小朋友们学习编程。

之后,我也会把每周要求小朋友做的题目以图文的形式发放出来,方便小朋友们复习。比如:Scratch等级考试(二级)模拟题。

其中,有一个环节就是把PDF文档转成PNG图像。然后,上传到微信公众号后台。

今天,我向大家介绍一下,自己是如何使用PyMuPDF库来完成这些操作的。

官方文档:

https://pymupdf.readthedocs.io/en/latest/intro.html

PyPI 源:

https://pypi.org/project/PyMuPDF/

PyMuPDF 安装:

pip install PyMuPDF

安装完成之后:

Name: PyMuPDF
Version: 1.18.14
Summary: PyMuPDF is a Python binding for the document renderer and toolkit MuPDFHome-page: https://github.com/pymupdf/PyMuPDF
Author: Jorj McKie
Author-email: jorj.x.mckie@outlook.de
License: GNU AFFERO GPL 3.0
Location: c:\programdata\anaconda3\lib\site-packages
Requires:
Required-by:
(base) PS D:\Users\Administrator>

PyMuPDF包的导入

import fitz

注意:这块跟我们其它包不太一样,通常情况下包的名称跟pip install 后的名称一致,但这个包导入的是fitz

完整代码如下:

import fitz
import os
from datetime import datetimedef PDF_To_PNG(pdfPath, imagePath):startTime = datetime.now()  # 开始时间if not os.path.exists(imagePath):os.makedirs(imagePath)print('ImagePath:' + imagePath)pdfDoc = fitz.Document(pdfPath)  # 打开文件for pg in range(pdfDoc.page_count):  # 遍历所有页面page = pdfDoc[pg]rotate = int(0)  # 页面旋转角度# 此处若是不做设置,默认图片大小为:792X612, dpi=96zoom_x = 1.0 # 设置图片相对于PDF文件在X轴上的缩放比例zoom_y = 1.0 # 设置图片相对于PDF文件在Y轴上的缩放比例mat = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)pix = page.getPixmap(matrix=mat, alpha=False) pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)endTime = datetime.now()print('pdf2png Time:', (endTime - startTime).seconds)if __name__ == '__main__':pdfPath = './Scratch二级20210613.pdf'imagePath = './提取结果'PDF_To_PNG(pdfPath, imagePath)

得到结果如下:

如何将Pdf文件转化成PNG图像?相关推荐

  1. 使用C#在PDF文件中插入或删除文本/图像水印

    PDF文件中经常使用水印.只需几个简单的步骤即可在PDF文件中插入或删除文本和图像水印.同样可以轻松控制用于处理水印的许多属性.例如,不透明度,位置,旋转度,颜色,字体,图像等,等等.同样,可以使用快 ...

  2. 用CleverPDF在线办公工具怎么将PDF文件转化成Word?

    PDF文件由于无法快捷在线进行编辑,所以在日常办公中很多人在处理文字文件时会将PDF文件转化成Word文件:目前可用于文件转换的办公工具是比较多的,为减轻大家日常办公的负担,推荐大家可使用clever ...

  3. java 去掉pdf文字_如何从PDF文件中删除所有图像/图纸,并仅在Java中留下文本?

    我在类似的情况下使用Apache PDFBox. 要更具体一点,请尝试这样的事情: import org.apache.pdfBox.exceptions.COSVisitorException; i ...

  4. Image 图像转化为 PDF 文件

    开发中如果有这样的需求把 Image 图像转化为 PDF 文件你会怎么做呢?你可能会在网上狂找资料寻找解决方案,但是事实上网上这方面的资料非常少,有的作者没有给出一个完整的内容或者给出的内容不适合现在 ...

  5. html文件转换html格式,pdf文件怎么转换成html格式

    PDF文件怎么转换成html格式呢?html格式其实就是网页格式,PDF文件和网页文件一般情况下是两种完全不搭边的格式,但是不可否定的是办公室的多样化总有人会有这样的需求,只要有需求就会有其相应的解决 ...

  6. blue html中转换,BlueFox Free PDF to HTML Converter(PDF文件转换软件)

    BlueFox Free PDF to HTML Converter是一款pdf文件转换软件,能直接查看PDF文件和对PDF文件进行编辑,支持批量进行转换,使用非常方便,操作简单,有需要可以下载. 软 ...

  7. pypdf2 存储pdf_PyPDF2:用于PDF文件操作的Python库

    pypdf2 存储pdf PyPDF2 is a pure-python library to work with PDF files. We can use the PyPDF2 module to ...

  8. Python自动化办公【PDF文件自动化】

    PDF 文件可以分为可编辑型PDF 文件与扫描型PDF 文件,内容可以复制,是可编辑型PDF文件,反之则是扫描型PDF 文件.简单理解扫描型PDF文件是由一张张图像构建而成. 读取PDF文件内容 1. ...

  9. Python实用功能之pdf文件转png图片数据

    今天遇上一个问题就是需要将几个pdf合并起来,我百度了一下有哪些方法可以做,可以先看下: 第一种:使用"iLovePDF"(在线端) 这是一个国外的免费在线PDF文件处理工具,它提 ...

最新文章

  1. R语言使用gt包和gtExtras包漂亮地显示表格数据:gtExtras包的gt_hulk_col_numeric函数对单列、多列数据进行着色、使用不同的调色板(color palette)对列着色
  2. 用MySQL数据库来支持Schemaless的数据库存储方案
  3. 重庆三峡学院计算机应用技术,重庆三峡学院 数学与计算机学院 刘福明老师简介 联系方式 手机电话 邮箱...
  4. php基于新浪ip库获取城市,PHP基于新浪IP库获取IP详细地址的方法
  5. TensorFlow模型转换h5转pb
  6. php 获取请求设备,php – 如何获取设备令牌
  7. 榜单:全球 35 位 35 岁以下科技创新青年
  8. Java判断一个数是不是素数
  9. 论文写作--表格解读
  10. Redis数据类型及其命令
  11. c语言程序设计输出函数,输出函数C语言程序设计.pdf
  12. H5 页面在 APP 里如何支持缩放,并隐藏手机自带的放大缩小图标。
  13. Indented Inventory BOM如何转为最终的单层采购BOM
  14. 坐着童年纸飞机的C语言for循环!超好玩!超详细!
  15. 数字信号处理中均值、均方值、均方差、均方根值、均方误差、均方根误差、方差、协方差、标准差对比分析及统计学意义
  16. Ubuntu下批量修改文件名以及后缀名
  17. 构建虚拟Web主机——基于IP地址的虚拟主机
  18. (int*)、(int *)和(int **)的区别
  19. 自己碰到的360安全浏览器兼容模式的问题总结
  20. excel一列前加一固定值

热门文章

  1. 群晖 建立文件禁止访问_在设计系统中建立可访问性
  2. adb连接夜神模拟器出现error: cannot connect to daemon无法连接到守护程序
  3. 汇编语言之母100岁逝世:曾和冯·诺依曼一起研究,退休后还在研究神经网络...
  4. Office设置不同章节的页眉页脚及下划线的清除与添加
  5. 【基于SSH框架的个人博客系统06】头像文件上传与前后端分页机制
  6. 10个Web日志安全性分析工具
  7. 关于计算机网络协议 下面说法错误的是,关于计算机网络协议,下面说法错误的是____...
  8. 实木家具选什么性价比高
  9. launchctl mysql_Mac--Launchctl介绍
  10. 如何使用proxyTable