Python实现从PPT中导出高分辨率图片
作者:小锋学长生活大爆炸 时间:2023-01-03 16:29:08
总结为:改注册表。
顺手写个脚本:
import tkinter as tk
from tkinter import ttk
import winreg
from tkinter import messagebox
class App(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.version_maps = {
"Microsoft 365 ": "16.0",
"PowerPoint 2019": "16.0",
"PowerPoint 2016": "16.0",
"PowerPoint 2013": "15.0",
"PowerPoint 2010": "14.0",
"PowerPoint 2007": "12.0",
"PowerPoint 2003": "11.0",
}
self.center_window()
self.create_widgets()
def center_window(self):
width = 250
height = 200
screen_width = self.master.winfo_screenwidth()
screen_height = self.master.winfo_screenheight()
x = (screen_width - width) // 2
y = (screen_height - height) // 2
self.master.geometry(f"{width}x{height}+{x}+{y}")
self.master.title("PPT改DPI")
def create_widgets(self):
self.version_label = tk.Label(self, text="选择Office版本:")
self.version_label.pack()
self.version_var = tk.StringVar(self)
self.version_var.set(list(self.version_maps.keys())[0])
self.version_combobox = ttk.Combobox(
self,
textvariable=self.version_var,
values=list(self.version_maps.keys()),
state="readonly"
)
self.version_combobox.pack()
self.value_label = tk.Label(self, text="输入要修改的值:")
self.value_label.pack(pady=5)
self.value_entry = tk.Entry(self)
self.value_entry.insert(0, "96")
self.value_entry.pack(pady=5)
self.process_button = tk.Button(self, text="执行修改", command=self.process, width=15)
self.process_button.pack(pady=5)
self.quit_button = tk.Button(self, text="退出", command=self.master.destroy, width=15)
self.quit_button.pack(pady=5)
def process(self):
version = self.version_maps.get(self.version_var.get())
input_value = int(self.value_entry.get())
# 定义注册表路径和项名
reg_path = fr"Software\Microsoft\Office\{version}\PowerPoint\Options"
reg_key = "ExportBitmapResolution"
try:
# 打开注册表项
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path, 0, winreg.KEY_ALL_ACCESS)
except:
messagebox.showerror("错误", f"注册表项不存在,请检查: {reg_path}")
return
try:
# 尝试获取项的值
value, reg_type = winreg.QueryValueEx(key, reg_key)
if reg_type == winreg.REG_DWORD:
# 如果项存在且类型为DWORD32,修改它的值
winreg.SetValueEx(key, reg_key, 0, winreg.REG_DWORD, input_value)
else:
messagebox.showerror("失败", "注册表项类型不符合要求")
except FileNotFoundError:
# 如果项不存在,创建它并设置为DWORD32类型
winreg.SetValueEx(key, reg_key, 0, winreg.REG_DWORD, input_value)
# 修改它的值
winreg.SetValueEx(key, reg_key, 0, winreg.REG_DWORD, input_value)
messagebox.showinfo("成功 ", "修改后的值 =>" + str(winreg.QueryValueEx(key, reg_key)[0]))
# 关闭注册表项
winreg.CloseKey(key)
root = tk.Tk()
app = App(master=root)
app.mainloop()
效果图
来源:https://blog.csdn.net/sxf1061700625/article/details/130557903
标签:Python,PPT,图片
0
投稿
猜你喜欢
Python算术运算符实例详解
2021-10-05 16:29:22
Pyecharts绘制可视化地球实现示例
2021-03-18 17:18:48
Phantomjs抓取渲染JS后的网页(Python代码)
2022-03-22 05:05:51
Python读取Word文档中的Excel嵌入文件的方法详解
2022-12-21 14:11:23
JavaScript Alert通用美化类
2024-04-27 15:20:50
Python基于ThreadingTCPServer创建多线程代理的方法示例
2022-12-05 19:12:39
python批量处理txt文件的实例代码
2023-05-26 07:00:33
客户体验
2008-12-11 13:58:00
python opencv人脸检测提取及保存方法
2021-10-12 18:22:13
pytorch实现手写数字图片识别
2021-04-20 12:46:58
Python编写检测数据库SA用户的方法
2024-01-16 07:11:57
C#如何实现对sql server数据库的增删改查
2024-01-18 06:49:09
php 中phar包的使用教程详解
2024-03-16 15:38:48
Go语言中的switch用法实例分析
2024-04-23 09:39:06
基于RequireJS和JQuery的模块化编程日常问题解析
2024-04-19 10:17:04
mysql 5.7.15版本安装配置方法图文教程
2024-01-14 17:08:09
Python中的列表知识点汇总
2021-06-01 05:00:50
Django 后台获取文件列表 InMemoryUploadedFile的例子
2021-09-25 11:19:38
MySQL分区表的正确使用方法
2024-01-29 01:51:26
为你的网页添加背景音乐
2007-02-03 11:39:00