点击下载( 提取码:1ll1 

软件功能基于mupdf,UI使用wxpython开发

功能:

支持pdf转图片,图片格式png

支持批量转换

使用:

第一步,点击按钮添加文档到列表,或直接将待转换文档拖入列表

第二步,选择输出目录

第三部,点击转换

核心代码:

class Debug(object):
DEBUG = True def TraceLog(self, log=None):
if Debug:
import traceback
traceback.print_exc()
if log:
print(log) class PDF2IMGProcess(Debug):
def __init__(self, path, callback=None):
try:
self.pdf_doc = fitz.open(path)
self.file_name = os.path.basename(path)
self.pages = self.pdf_doc.pageCount
self.callback = callback
self._Running = True
except:
self.TraceLog() def _TransFile(self, output_path):
if self.callback:
self.callback({'file': self.file_name, 'status': '开始!'})
if self.pages > 0:
output_path = os.path.join(output_path, self.file_name)
os.makedirs(output_path, exist_ok=True)
for p in range(self.pages):
if not self._Running:
break
if self._TransPage(output_path, p):
if self.callback:
self.callback({'file': self.file_name, 'page': p, 'status': 'Done!'})
else:
if self.callback:
self.callback({'file': self.file_name, 'page': p, 'status': 'Error!'})
break
if self.callback:
self.callback({'file': self.file_name, 'status': '完成!'}) def _TransPage(self, output_path, page_no, scale=1.8):
output_name = os.path.join(output_path, '{}_{}.png'.format(self.file_name, page_no))
page = self.pdf_doc.loadPage(page_no)
matrix = fitz.Matrix(scale, scale)
try:
pix = page.getPixmap(matrix=matrix)
pix.writePNG(output_name)
return True
except:
self.TraceLog()
return False def Start(self, output_path):
self._Running = True
Thread(target=self._TransFile, args=(output_path,)).start() def Cancel(self):
self._Running = False

  

 

PDF转图片工具的更多相关文章

  1. wkhtmltopdf 将网页转换为PDF和图片

    wkhtmltopdf 是一个shell工具,它使用了WebKit渲染引擎和Qt,将网页html转换为pdf的强大工具,转换后的pdf也可以通过pdf工具进行复制.备注.修改 官网下载地址:http: ...

  2. C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统

    itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器.使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下 ...

  3. 在线提取PDF中图片和文字

    无需下载软件,你就可以在线提取PDF中图片和文字,http://www.extractpdf.com/不仅可以获取本地PDF文档的图片和文字,还能获取远程PDF文档的图片和文字.如下图所示:结果本人测 ...

  4. 使用pdfbox分页保存pdf为图片

    一.背景 pdfbox作为Apache开源的PDF操作工具,允许创建新的PDF文档,操作现有文档,以及从文档中提取内容的能力.Apache PDFBox还包括一些命令行实用工具.本文楼主主要介绍其中的 ...

  5. 【强大的PDF格式转换工具】Lighten PDF Converter OCR for Mac 6.2.0

    [简介] Lighten PDF Converter OCR 是一款Mac上强大的PDF格式转换工具,可以将PDF文档快速批量的转换为Office (Word, Excel, PowerPoint), ...

  6. 非在线PDF转图片!!!

    关于非在线 由于这次要转的是身份证,不是阴谋论,防人之心还是要有的.万一呢. 关于工具 试了好多工具,有一家软件竟然是反过来的,即图片转pdf.也给搜了出来,主要的是下载页面还显示的pdf转图片,啊呸 ...

  7. 13种PDF转图片的案列

    Acrobat.dllc#PDFPDFRender4NET.dllpdf转图片 GitHub Clone Adress : https://github.com/stone0090/OfficeToo ...

  8. 真正免费,不限页数的PDF转Word工具

    真正免费,不限页数的PDF转Word工具 我们知道PDF转Word工具非常多,但大部分都有各种限制,限大小,限页数,加水印等等. 这其中绝大部分其实并不能做到格式完全一样,遇到图片更是直接傻了. 我们 ...

  9. html页面转PDF、图片操作记录

    前言 日常开发中,我们有可能会碰到从系统中导出数据并打印的需要,打印的格式是常规的表格形式,例如: 本文记录使用js库html2canvas + jspdf实现html转PDF.图片,并下载 画出页面 ...

随机推荐

  1. 一段简单的显示当前页面FPS的代码

    写前端代码,尤其是做一个前端框架的时候,经常需要及时知道代码的大致性能,这时候如果能有个好的办法能一直看到当前页面的fps就好了. 整体思路是一秒有一千毫秒,先记录当前时间作为最后一次记录fps的时间 ...

  2. 快速入门:弄懂Kafka的消息流转过程

    大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 RocketMQ 也是在 Kafka 的基础上进行改进的.对于初学者来说,一开始面对这么一个庞然大物会不知道怎么入手.那么这篇文章就带你先 ...

  3. C# 替换Word文本—— 用文档、图片、表格替换文本

    编辑文档时,对一些需要修改的字符或段落可以通过查找替换的方式,快速地更改.在C# 在word中查找及替换文本一文中,主要介绍了在Word中以文本替换文本的方法,在本篇文章中,将介绍如何用一篇Word文 ...

  4. C++对象生存期&&static

    生存期,即从诞生到消失的时间段,在生存期内,对象的值或保持不变,知道改变他的值为止.对象生存期分为静态生存期和动态生存期两种. 静态生存期 指对象的生存期与程序运行期相同.在namespace中声明的 ...

  5. UiPath如何实现暂停功能?

    照理说一个无人值守的机器人原本是不应该有人工操作介入的,也就不会提供暂停功能.但客户可能出于业务需要,或者风险管控的考虑,会需要机器人具备暂停功能.通常,会希望在机器人运行时,用户摁下快捷键,机器人就 ...

  6. T-SQL语法基础

    一.T-SQL语言的分类 DDL-数据定义语言 create-创建 alter-修改 drop-删除(针对对象) DML-数据操作语言 Insert-插入 update-更新 delete-删除(针对 ...

  7. CSS Modules In Webpack

    1)从形式上看,CSS Modules 是将CSS中的选择器转换为变量,然后在DOM中引用变量来引入样式. 2)从效果上看,CSS Modules 可以将CSS选择器名字转成随机字符串,保证选择器同名 ...

  8. git的学习笔记(二):git远程操作

    1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...

  9. C语言随机数使用方法

    随机数在编程中还是有所应用,最近从网上学习到这方面一点知识,想把它写下来.一.使用随机数所需要的头文件和函数:        头文件:cstdlib(C++ 的 standard libraray)  ...

  10. Window环境下配置MySQL 5.6的主从复制、备份恢复

    1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 navicat无法连接MySQL8解决方案 #修改加密规则 A ...