Python实现从PPT中导出高分辨率图片

 更新时间:2023年05月08日 16:39:34   作者:小锋学长生活大爆炸  
这篇文章主要为大家分享了一个实用脚本——如何利用Python实现从PPT中导出高分辨率(高 dpi)的图片,文中的示例代码讲解详细,感兴趣的可以了解一下

总结为:改注册表。

顺手写个脚本:

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()

效果图

到此这篇关于Python实现从PPT中导出高分辨率图片的文章就介绍到这了,更多相关Python PPT导出图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python可视化神器pyecharts绘制雷达图

    Python可视化神器pyecharts绘制雷达图

    这篇文章主要介绍了Python可视化神器pyecharts绘制雷达图,雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法
    2022-07-07
  • Pycharm远程调试openstack的方法

    Pycharm远程调试openstack的方法

    这篇文章主要为大家详细介绍了Pycharm远程调试openstack的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python安装及建立虚拟环境的完整步骤

    Python安装及建立虚拟环境的完整步骤

    在使用 Python 开发时,建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖,下面这篇文章主要给大家介绍了关于Python安装及建立虚拟环境的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 使用Python一键提取PDF中的表格到Excel的方法详解

    使用Python一键提取PDF中的表格到Excel的方法详解

    从PDF文件获取表格中的数据,也是日常办公容易涉及到的一项工作,一个一个复制吧,效率确实太低了,用Python从PDF文档中提取表格数据,并写入Excel文件,灰常灰常高效,本文就给大家介绍一下如何使用Python一键提取PDF中的表格到Excel,需要的朋友可以参考下
    2023-08-08
  • Python 异步之生成器示例详解

    Python 异步之生成器示例详解

    这篇文章主要为大家介绍了Python 异步之生成器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 快速进修Python指南之文件操作

    快速进修Python指南之文件操作

    这篇文章主要为大家介绍了Java开发者快速进修Python指南之文件操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python进程管理神器Supervisor详解

    Python进程管理神器Supervisor详解

    Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启,这篇文章主要介绍了Python进程管理神器Supervisor,需要的朋友可以参考下
    2022-07-07
  • 详解Python中常用的图片处理函数的使用

    详解Python中常用的图片处理函数的使用

    这篇文章主要为大家介绍了一些在Python中常用的图片处理函数的使用,例如split()、merge()、threshold()、applyColorMap()等,需要的可以参考一下
    2022-01-01
  • PyCharm中如何切换Python版本

    PyCharm中如何切换Python版本

    这篇文章主要介绍了PyCharm中如何切换Python版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Pygame库200行代码实现简易飞机大战

    Pygame库200行代码实现简易飞机大战

    本文主要介绍了Pygame库200行代码实现简易飞机大战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论