软件不用续费了。。。

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. LVS集群和Keepalived高可用实战

    第四十章LVS集群和Keepalived高可用实战 一.ARP协议 1.概念 地址解析协议,即ARP(AddressResolutionProtocol),是根据IP地址获取物理MAC地址的一个TCP ...

  2. (stm32学习总结)—对寄存器的理解 _

    芯片里面有什么 我们看到的 STM32 芯片是已经封装好的成品,主要由内核和片上外设组成.若与电脑类比,内核与外设就如同电脑上的 CPU 与主板.内存.显卡.硬盘的关系.STM32F103 采用的是 ...

  3. c语言代码规范

    什么叫规范?在C语言中不遵守编译器的规定,编译器在编译时就会报错,这个规定叫作规则.但是有一种规定,它是一种人为的.约定成俗的,即使不按照那种规定也不会出错,这种规定就叫作规范.虽然我们不按照规范也不 ...

  4. 使用Visual Studio查看C++类内存分布

    书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承.虚函数存在的情况下. 工欲善其事,必先利其器,我们先用好Visual Stu ...

  5. 祖先元素transform非none时在Iphone6上引起后代fixed/absolute元素的怪异表现及解决方案

    如题,祖先元素transform非none时,记录一下Iphone6中引起后代元素fixed参考视图怪异表现和解决方案. 层叠关系及参考视图 层叠上下文是HTML元素的三维概念,这些HTML元素在一条 ...

  6. 来扯点ionic3[3] 页面的生命周期事件,也就是凡间所说的钩子

    首先要做一个诚挚的道歉,作为大四狗,因为升学的事情,断更两个月,所以要感谢各位仁慈的读者没有脱粉(好像也就50个粉丝).这一节,我们延续上一节制作的页面,来讨论声明周期钩子的事情. 以我的经验来看,多 ...

  7. canvas系列教程07-canvas动画基础1

    上面我们玩了一个图表,大家学好结构,然后在那个基础上去扩展各种图表,慢慢就可以形成自己的图表库了.也可以多看看一些国外的图表库简单的版本,分析分析,读代码对提高用处很大.我说了canvas两大主流用途 ...

  8. PAT B1002写出这个数

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 1. 输出格式: 在一行内输出 n 的 ...

  9. 将百度地图Demo抽取出来安到自己的程序中

    今日所学: 使用百度地图ADK实现手机定位 [Android]使用百度.高德.腾讯地图SDK获取定位数据与屏幕截图分享到QQ_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 代码获取SHA1 (2 ...

  10. jboss7学习2-jboss7入门(端口和访问的ip问题)

    1.下载地址: http://www.jboss.org/jbossas/downloads ,下载Certified Java EE 6 Full Profile版本. 2.解压 jboss-as- ...