软件不用续费了。。。

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的更多相关文章

  1. PDF转图片,在线PDF转JPG/PNG

    [在线DEMO](https://oktools.net/pdf2img) 原理 使用pdf.js预览图片,pdf.js将pdf通过canvas将每一页渲染出来,然后我们通过canvas的toData ...

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

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

  3. JAVA基于PDF box将PDF转为图片

    在一项目中用到,本身我是.NET的,团队中有用到JAVA,故此我处理这个功能,记录以下备用. 1.引用:fontbox-2.0.16.jar.pdfbox-app-2.0.16.jar 版本一定要正确 ...

  4. 用python DIY一个图片转pdf工具并打包成exe

    最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...

  5. Python|网页转PDF,PDF转图片爬取校园课表~

    import pdfkit import requests from bs4 import BeautifulSoup from PIL import Image from pdf2image imp ...

  6. C# 给PDF添加图片背景

    C# 给PDF添加图片背景 今天要实现的是给PDF文件添加图片背景这个功能.PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累 ...

  7. ABBYY如何把图片转换成pdf格式

    在制作工作文件的时候,有时候会遇到需要进行文件格式转换的情况,比较常见的文件格式转换就包含了Office与pdf格式之间的转换.但除此之外,图片与pdf格式也是可以进行转换的,那么图片要怎么操作,才能 ...

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

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

  9. PDF转图片 C# with Adobe API

    PDF转图片大概有十几种方式,褒贬不一,我就详细给大家说一下我认为效率最高的方式,使用Adobe官方的SDK 安装acrobat reader 9.0以上即可,勾选如下组件.

随机推荐

  1. 实验配置cisco单臂路由

    第一步 搭建实验拓扑图 第二步 对路由器做基本配置 为路由器创建名称: 设置进入特权模式 口令:控制台登录密码:vty登录密码 禁用DNS查找: 加密明文密码: 创建一个向访问设备者发出警告的标语&q ...

  2. Python中module文件夹里__init__.py的功能

    怎么引用模块 环境:win7 + python3.5.2文档结构: -project -data -src  -filterCorpus.py  -translateMonolingual.py 问题 ...

  3. visual studio 2019工具里添加开发中命令提示符的方法

    最新新装了visual studio 2019,发现默认的没有开发者命令提示符 现将添加步骤描述如下: 从VS2019菜单选择"Tools",然后选择"外部工具" ...

  4. .NET面试题整理

    .NET..NET Framework..NET Core和C#的解释各是什么? ASP.NET MVC和ASP.NET Web API的区别是什么? C#中的委托是什么?事件是不是一种委托? 简述P ...

  5. [翻译]Service workers:PWA背后的英雄

    原文地址:https://medium.freecodecamp.org/service-workers-the-little-heroes-behind-progressive-web-apps-4 ...

  6. ES6-11学习笔记--Promise

    Promise是ES6异步编程解决方案之一,简化以前ajax的嵌套地狱,增加代码可读性.   基本用法: resolve,成功 reject,失败 let p = new Promise((resol ...

  7. 【Android开发】【布局】自定义底部菜单栏(中间图标凸起)

    我的Demo 参考: http://blog.csdn.net/xh870189248/article/details/75808341 http://blog.csdn.net/xh87018924 ...

  8. java中Object类的finalize的用法

    Object类的finalize的用法: 马克-to-win:java当中有个垃圾回收机制,具体说,就是当一些对象被创建使用之后若不再使用的话{比如(i)对象被置成null.(ii)局部对象(无需置成 ...

  9. PAT B1024科学计数法

    科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...

  10. JSTL详解(常用标签以及c:forEach遍历集合)

    JSTL标签 一. JSTL的简介 1. 什么是JSTL 2. JSTL常用标签库 3. JSTL使用步骤 二. 核心标签库常用标签 1. c: set 标签 2. c: out 标签 3. c: i ...