python-文字pdf转换为图片pdf

  • 为什么会做这个?
  • 思路
  • 代码展示
    • 先安装依赖
    • 代码1(输入文件列表)
    • 代码2(输入文件夹)
  • 参考资料

为什么会做这个?

  • 因为我们把word转化为pdf,wps默认转化为文字pdf,而图片pdf要会员。
  • 网上确实也有网站可以实现免费的,但是未必安全。

思路

  • 我看了网上的很多代码,都是先把文字pdf先转化为图片,然后再组装成pdf文档。我的思路也是这样的。
  • 但是我和他们很大的不一样就是,我不需要先把图片保存起来再提取,而我只需要把图片的信息先存起来,再输出pdf。

代码展示

先安装依赖

pip install PyMuPDF

代码1(输入文件列表)

import os
import fitzdef single_wordpdf_to_imgpdf(pdf_path: str):pdf = fitz.open(pdf_path)   # 打开pdf目录pdf_img = fitz.open()       # 打开空文件,用来存图片pdffor page_inf in pdf:definition = 3    # 清晰度,感觉输出的pdf不够清晰,可以调大,调大,文件大小也会变大matrix = fitz.Matrix(definition, definition)img = page_inf.get_pixmap(matrix=matrix).tobytes()img = fitz.open("png", img)pdf_bytes = img.convert_to_pdf()pdf_img.insert_pdf(fitz.open("pdf", pdf_bytes))pdf_img.save("图片pdf_" + os.path.basename(pdf_path))def group_wordpdf_to_imgpdf(path_array: list[str]):for pdf_path in path_array:print(pdf_path, "转换中...")single_wordpdf_to_imgpdf(pdf_path)print("完成")if __name__ == '__main__':path = ["xxx.pdf"]group_wordpdf_to_imgpdf(path)

代码2(输入文件夹)

import os
import fitz
import timedef single_wordpdf_to_imgpdf(pdf_path: str):pdf = fitz.open(pdf_path)   # 打开pdf目录pdf_img = fitz.open()       # 打开空文件,用来存图片pdffor page_inf in pdf:definition = 3    # 清晰度,感觉输出的pdf不够清晰,可以调大,调大,文件大小也会变大matrix = fitz.Matrix(definition, definition)img = page_inf.get_pixmap(matrix=matrix).tobytes()img = fitz.open("png", img)pdf_bytes = img.convert_to_pdf()pdf_img.insert_pdf(fitz.open("pdf", pdf_bytes))if not os.path.exists("output"):os.makedirs("output") # 处理好的pdf存入了output目录下 #pdf_img.save("output/图片pdf_" + os.path.basename(pdf_path))def group_wordpdf_to_imgpdf(path_array: list[str]):for pdf_path in path_array:print(pdf_path, "转换中...")single_wordpdf_to_imgpdf(pdf_path)print("完成")def folder_pdf_files(folder: str) -> list[str]:  # 一个文件夹里面有多少pdf文件file_list = []for a, b, c in os.walk(folder):if b == []:for filename in c:if filename[-3:].lower() == 'pdf':file_path = os.path.join(a, filename)file_list.append(file_path)print(folder, ": 有", len(file_list), "个pdf文件")return file_listif __name__ == '__main__':time_start = time.time()path_list = folder_pdf_files("目录")group_wordpdf_to_imgpdf(path_list)time_end = time.time()print("程序运行时间:", round(time_end - time_start, 2), "秒")

参考资料

  • Pixmap

python-文字pdf转换为图片pdf相关推荐

  1. 【Python】PyMuPDF模块将PDF转换为图片

    上一篇文章介绍了pdf2image模块+poppler将PDF转换为图片,这篇文章主要介绍另外一个模块PyMuPDF.  PyMuPDF(又名"fitz"):MuPDF的Pytho ...

  2. 【Python】pdf2image模块+poppler将PDF转换为图片

    有时我们需要将PDF转换成图片,今天我们主要说的是pdf2image+poppler对PDF转换成图片格式. pdf2image是个包装器,真正的转换工具是poppler GitHub地址:https ...

  3. Python 利用pymupdf将pdf转换为图片并拆分,后通过PIL合并生成一张图片

    文章主要内容主要参考几篇文章并合并在一起的,文章链接依次如下,第二和第三的文章链接是从第一篇文章找到的: (1).https://blog.csdn.net/qq_25115281/article/d ...

  4. 文字PDF转换为图片格式的PDF

    在我们的日常工作和生活中,有时候我们需要对PDF文件进行一些特殊处理.有时候,我们希望将PDF的每一页提取出来作为图片,方便在其他场景中使用:而有时候,我们则需要将PDF内的内容转换为图片格式,以防止 ...

  5. 使用pdfbox2.0将PDF转换为图片时后台报Cannot read JBIG2 image: jbig2-imageio is not installed错误的解决方法

    使用pdfbox2.0将PDF转换为图片时,文字分栏或复杂的页面会转换成白页面,后台报Cannot read JBIG2 image: jbig2-imageio is not installed错误 ...

  6. 快速将PDF转换为图片:免费的在线PDF转换器

    在现代数字时代,PDF是一种非常常见的文件格式.它们在学术界,商业领域和许多其他领域中被广泛使用.有时,您可能需要将PDF文件转换为图像格式,以便能够方便地与他人共享和使用.在这种情况下,您可以使用免 ...

  7. Word电子扫描仪 word文档转换为图片Pdf,Word文档扫描成Pdf,word文档加密 word转图片 word转pdf

    Word文档转换为图片Pdf,Word文档扫描成Pdf Word转换为图片Pdf 1.        Word转换为Pdf,程序很多,但转换后的Pdf,还可以复制,虽可以加密禁止复制,但市场上太多的P ...

  8. 实现DOC、DOCX转换为PDF 再将PDF转换为图片

    实现DOC.DOCX转换为PDF 再将PDF转换为图片 首先导入需要的依赖 <dependency><groupId>cn.hutool</groupId>< ...

  9. Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题

    Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题 使用pdfbox-2.0.3和fontbox-2.0.3,实现pdf转图片功能. 官方手册链接: http://pdfbox.ap ...

  10. 如何将pdf转换为图片?

    其实在PDF的使用过程中,将PDF转换为不同的文件格式是很常规的一个操作,比如有时为了方便使用,我们就会选择将PDF转换成图片格式,这样我们可以任选我们需要的内容进行使用了,比起不停的翻阅整个pdf文 ...

最新文章

  1. Oracle Mutex 机制 说明
  2. micropython比c_选择C/C++还是选择MicroPython来开发?(第0章-第三节)
  3. Java实用教程笔记 组件及事件处理
  4. Nginx之rewrite简述
  5. linux查看目录下 开头,Linux下ls如何看到.开头的文件
  6. Vrep线程之间的切换
  7. 利用爬虫和微信机器人自动刷甘肃教师学苑学分
  8. 使用Luyten工具反编译jar包
  9. 听说某琳系统停止更新了,其他的主机管理系统哪个好?
  10. GPU硬件加速原理 /转
  11. WPF加载SVG格式的图片
  12. 专访溢唐数据:拒掉70%想链改的客户,订单依然排到明年6月
  13. 微擎we7微赞官方通用功能模块插件带XML文件分享
  14. Java OCR 图像智能字符识别技术,可识别中文
  15. Yolov5(6.1)学习历险记
  16. DM8在银河麒麟服务器上配置Oracle19c的DBLINK服务
  17. AST实战技巧|使用v神插件动态替换AST还原后的代码
  18. win7 系统增加自定义分辨率_【文献转载】GT5000便携式多参数土壤呼吸测量系统用于棉花田间土壤二氧化碳释放量的测量...
  19. 日语二级语法汇总(part2/16)
  20. 允许计算机重复刻录策略,Win10自带刻录机刻录音乐CD教程 Win10如何在注册表和组策略禁用刻录功能...

热门文章

  1. java 事务回滚报rollback-only异常
  2. cv :: cvtColor
  3. 《头脑王者》--在线排位答题系统构思
  4. LOL聊天服务器一直是断开状态怎么办,lol聊天服务器为什么老连不上 lol聊天服务器连不上解决技巧...
  5. IDEA配置JDK版本
  6. PHP站长工具箱网站源码下载,在线小工具网站源码,独立后台管理,可自主添加工具
  7. 二进制模2除法(CRC循环冗余检验)
  8. qtcpsocket断开_关于使用QTcpSocket的一些总结
  9. C语言——基础链表详解
  10. ps计算机设置,不仅要懂PS 浅谈修图电脑配置(基础篇)