python PDF转图片,World转PDF
软件不用续费了。。。
PDF转World暂时没需求,有需求了再搞
Python3.9
---------------pip3 install PyMuPdf
---------------pip3 install PyWin32
1 import tkinter
2 from tkinter import filedialog
3 from tkinter import messagebox
4 import fitz,os
5 from win32com.client import constants, gencache
6 class dark:
7 def __init__(self):
8 self.init_window = tkinter.Tk()
9 self.init_window.title('PDF转换工具')
10 self.init_window.geometry('500x100+10+10')
11 self.init_window.iconbitmap('ghost.ico')
12 def Button(self,row,column,text,func):
13 button = tkinter.Button(self.init_window,text=text,command=func)
14 button.grid(row=row,column=column,padx=66,pady=33)
15 def run(self):
16 self.Button(1,1,'PDF转图片',lambda: self.conver('PdfToImg'))
17 self.Button(1,2,'World转PDF',lambda: self.conver('WorldToPdf'))
18
19 # self.lab = tkinter.Label(text='ok')
20 # self.lab.place(rely=1.0, relx=1.0, x=0, y=0, anchor='se')
21 self.init_window.mainloop()
22 def conver(self,type):
23 selectFile = filedialog.askopenfilename()
24 obj = Change(selectFile)
25 res = getattr(obj, type)
26 self.message(res())
27 def message(self,text):
28 messagebox.showinfo('结果',text)
29 class Change:
30 def __init__(self,filename):
31 self.filename = filename
32 def PdfToImg(self):
33 try:
34 self.doc = fitz.open(self.filename)
35 self.pageCount=self.doc.pageCount
36 for pg in range(self.pageCount):
37 page = self.doc[pg]
38 rotate = int(0)
39 zoom_x = 2.0
40 zoom_y = 2.0
41 trans = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
42 pm = page.get_pixmap(matrix=trans, alpha=False)
43 pm.save(self.filename+'%s.png' %pg)
44 return '转换完成'
45 except Exception as e:
46 return e
47 def WorldToPdf(self):
48 pdfname = self.filename+'.pdf'
49 word = gencache.EnsureDispatch('Word.Application')
50 doc = word.Documents.Open(self.filename, ReadOnly=1)
51 doc.ExportAsFixedFormat(pdfname,
52 constants.wdExportFormatPDF,
53 Item=constants.wdExportDocumentWithMarkup,
54 CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
55 word.Quit(constants.wdDoNotSaveChanges)
56 return '转换完成'
57 if __name__ == '__main__':
58 obj = dark()
59 obj.run()
python PDF转图片,World转PDF的更多相关文章
- PDF转图片,在线PDF转JPG/PNG
[在线DEMO](https://oktools.net/pdf2img) 原理 使用pdf.js预览图片,pdf.js将pdf通过canvas将每一页渲染出来,然后我们通过canvas的toData ...
- 使用pdfbox分页保存pdf为图片
一.背景 pdfbox作为Apache开源的PDF操作工具,允许创建新的PDF文档,操作现有文档,以及从文档中提取内容的能力.Apache PDFBox还包括一些命令行实用工具.本文楼主主要介绍其中的 ...
- JAVA基于PDF box将PDF转为图片
在一项目中用到,本身我是.NET的,团队中有用到JAVA,故此我处理这个功能,记录以下备用. 1.引用:fontbox-2.0.16.jar.pdfbox-app-2.0.16.jar 版本一定要正确 ...
- 用python DIY一个图片转pdf工具并打包成exe
最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...
- Python|网页转PDF,PDF转图片爬取校园课表~
import pdfkit import requests from bs4 import BeautifulSoup from PIL import Image from pdf2image imp ...
- C# 给PDF添加图片背景
C# 给PDF添加图片背景 今天要实现的是给PDF文件添加图片背景这个功能.PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累 ...
- ABBYY如何把图片转换成pdf格式
在制作工作文件的时候,有时候会遇到需要进行文件格式转换的情况,比较常见的文件格式转换就包含了Office与pdf格式之间的转换.但除此之外,图片与pdf格式也是可以进行转换的,那么图片要怎么操作,才能 ...
- C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统
itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器.使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下 ...
- PDF转图片 C# with Adobe API
PDF转图片大概有十几种方式,褒贬不一,我就详细给大家说一下我认为效率最高的方式,使用Adobe官方的SDK 安装acrobat reader 9.0以上即可,勾选如下组件.
随机推荐
- Effective Java —— 多字段下考虑使用建造者模式构建实例
本文参考 本篇文章参考自<Effective Java>第三版第二条"Consider a builder when faced with many constructor pa ...
- 【freertos】006-任务切换实现细节
前言 任务调度实现的两个核心: 调度器实现:(上一章节已描述调度基础) 任务切换实现. 接口层实现. 原文:李柱明博客:https://www.cnblogs.com/lizhuming/p/1608 ...
- 错误问题之“Apache Log4j 漏洞,在版本为包含2.14以内!”
漏洞概述 Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器. Log4j 1.2 中包含一个 SocketServer 类,该类容易受到不可信数据反序列化的影响,当侦听 ...
- 一个让我很不爽的外包项目——奔驰Smart2015新官网
七月份的下半个月,有幸做了奔驰 Smart 2015年新官网,包括手机端和PC端的宣传页,地址: PC端 手机端 这里,为了证明这个是一个事实,我还特意的留存了两张截图: 这里只想说明这么几个问题: ...
- turnjs fabricjs canvas 翻书
最近做了一个翻书效果的项目, 来总结一下实现过程和遇到的一些问题, 供自己以后快速解决问题, 希望也能帮到同样遇到此类问题的同学, 如果有更好的方法,希望你能分享给我git地址 插件: Turn.js ...
- 一个命令完成[打包+同步七牛cdn+上传服务器]
webpack+gulp+qshell+npm-scripts实现一个命令完成[打包+同步cdn+上传服务器] 说明 由于我们用的七牛云存储,所以cdn也是走的七牛,所以并不适用于其他的cdn,但是思 ...
- EMS已有用户分配邮箱方法
案例任务:已有域用户"test100",为该用户分配邮箱. 分配邮箱前,使用"get-user"命令确认用户类型.域用户"test100"的 ...
- 脏数据清洗,pandas.apply()的应用
原数据如下所示: IMAGETYPE count .?+? 1713 Jh.5? 100 .??U 38 .11.1 1 .13.1 1 .15.11 2 我需要对数据内的带有特殊符号,且第一个逗号 ...
- oracle sqlplus不支持上下键查看历史记录问题
我们需要安装rlwrap软件 系统采样: [root@rac-2 src]# su - oracle Last login: Fri Mar 18 23:36:25 CST 2022 on pts/0 ...
- java实现sftp文件上传下载
/** * * @param filePath 文件全路径 * @param ftpPath 上传到目的端目录 * @param username * @param password * @param ...