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以上即可,勾选如下组件.
随机推荐
- 学习FastDfs(一)
一.简介 FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成 fastfds有 ...
- OpenCV - Add Noise的一些方法
噪声常用有两种:一种椒盐噪声,一种高斯噪声. import numpy as np def pepper_and_salt(src, proportion): """ : ...
- SQL数据库之IFNULL函数和NULLIF函数
学习IFNULL()函数 非空判断 解析 IFNULL(expression1, expression2) 如果expression1为null, 在函数返回expression2,否则将返回expr ...
- ES6-11学习笔记--代理Proxy
Proxy代理 常用拦截方法 ES5拦截: let obj = {} let newVal = '' Object.defineProperty(obj, 'name', { get() { cons ...
- 利用HTML5和css3 选中图片上传到服务器,插件地址如下
https://yusi123.com/3349.html 分三步,需要将js文件和css文件拷贝到项目目录下,在需要选择的图片的文件中引入,然后将HTML代码复制 <!--选择图片模块star ...
- css3,css的基础全局运用
浮动 1.浮动起来的盒子不占用位置,浮动了一个盒子下面的标准流的盒子会顶上来 可用清除浮动的方法来解决标准流会顶替位置的问题 清除浮动给父盒子加overflow: hidden; 鼠标经过事件 : ...
- Servlet实现登录注册
1.注册页面register.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- TNS-12533: TNS:illegal ADDRESS parameters(修复)
修复 TNS-12533: TNS:illegal ADDRESS parameters oracle@prd:/home/oracle$sqlplus sys/abc@fp as sysdba SQ ...
- oracle 11g rac集群 asm磁盘组增加硬盘
创建asm磁盘的几种方式 创建asm磁盘方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式 3.2 raw方式(裸设备方式) 4. ...
- 小程序容器技术,App热更新与敏捷开发新方案
作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...