前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【教程】如何从 PowerPoint 导出高分辨率(高 dpi)的图片 [附脚本]

【教程】如何从 PowerPoint 导出高分辨率(高 dpi)的图片 [附脚本]

作者头像
小锋学长生活大爆炸
发布于 2023-05-10 01:09:30
发布于 2023-05-10 01:09:30
83600
代码可运行
举报
运行总次数:0
代码可运行

如何从 PowerPoint 导出高分辨率(高 dpi)幻灯片 - Office | Microsoft Learn

总结为:改注册表。

顺手写个脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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()

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
wing pro 所有版本序列号脚本
1、支持wing pro 5.x.x 6.x.x 7.x.x 8.x.x 多个版本,而且是图形界面,绝对良心。
黯然销魂掌
2022/09/28
1.2K0
Python-Tkinter图形化界面设计(详细教程 )
声明:本篇文章为转载自https://www.jianshu.com/p/91844c5bca78,在原作者的基础上添加目录导航,旨在帮助大家以更高效率进行学习和开发。
全栈程序员站长
2021/04/07
14.8K0
python tkinter(2)
1、设置label的字体、颜色、背景色、宽、高 from tkinter import * root = Tk() labelfont = ('times', 20, 'bold') # family, size, style widget = Label(root, text='Hello config world') widget.config(bg='black', fg='yellow') # yellow text on black label widget.config(font=labelfont) # use a larger font widget.config(height=3, width=20) # initial size: lines,chars widget.pack(expand=YES, fill=BOTH) root.mainloop() 2、bd设置边框、relief=设置边框类型,cursor鼠标
用户5760343
2022/05/13
8350
python tkinter(2)
tkinter的简单应用
from tkinter import Tk,messagebox,Toplevel import tkinter as tk my_window=Tk() my_window.title("登陆") screen_width,screen_height=my_window.maxsize() width=250 height=200 align_str="%dx%d+%d+%d" % (width,height,(screen_width-width)/2,(screen_height-hei
hankleo
2020/09/17
5520
万字长文,Python的应用领域有哪些?
网络上很多似懂非懂的人,总是要么说Python被眼中高估了,要么说Python不值得学,就是脚本语言
周萝卜
2024/01/02
2640
万字长文,Python的应用领域有哪些?
【教程】按键精灵连点器 之 咸鱼之王
小锋学长生活大爆炸
2023/06/13
1.4K0
【教程】按键精灵连点器 之 咸鱼之王
python调用chatgpt接口代码有界面,多次优化 chatGPT生成的
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @时间: 2023/3/9 15:17 # @文件: chat_gpt_ui.py import tkinter from tkinter import simpledialog import tkinter as tk from tkinter import messagebox import openai import json class ChatGPTUI: def __init
纯情
2023/04/26
4100
python tkinter 设计指南
pack() 是一种较为简单的布局方法,在不使用任何参数的情况下,它会将控件以添加时的先后顺序,自上而下,一行一行的进行排列,并且默认居中显示。pack() 方法的常用参数如下所示:
独元殇
2023/03/21
7.1K0
Tkinter 入门之旅
Tkinter 作为 Python 的标准库,是非常流行的 Python GUI 工具,同时也是非常容易学习的,今天我们就来开启 Tkinter 的入门之旅
周萝卜
2021/11/08
6.6K0
python tictactoe游戏
import random, sys, time from tkinter import * from tkinter.messagebox import showinfo, askyesno from guimaker import GuiMakerWindowMenu
用户5760343
2022/05/13
1.6K0
python tictactoe游戏
Get了!用Python制作数据预测集成工具 | 附代码
经过算法比较,发现这里我们选择使用sklearn简单的多元回归进行拟合数据可以达到比较好的效果。
AI科技大本营
2020/08/24
1.4K0
Get了!用Python制作数据预测集成工具 | 附代码
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)
当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI)。
红目香薰
2022/11/28
14.7K0
Python爬虫:GUI——某博图片爬取工具(附源码)
“因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了一款GUI——某博图片爬取工具。本软件源代码已经放在了博客中!”
@莜莜
2021/08/05
1.7K0
python textEditor 自制编辑器
""" ############################################################################### An extended Frame that makes window menus and toolbars automatically. Use GuiMakerFrameMenu for embedded components (makes frame-based menus). Use GuiMakerWindowMenu for top-level windows (makes Tk8.0 window menus). See the self-test code (and PyEdit) for an example layout tree format. ############################################################################### """
用户5760343
2022/05/13
1.3K0
python textEditor 自制编辑器
Python练手项目实例汇总(附源码)
今天给大家分享几个有趣的Python练手项目实例,希望对Python初学者有帮助哈~
奈何缘浅wyj
2021/01/27
3.6K0
Python练手项目实例汇总(附源码)
10 个令人惊叹的 Python 自动化脚本
你是否曾发现自己忙于处理多个文本片段,而忘记了自己复制了什么?有没有想过有一个工具可以记录你一天中复制的所有内容?
数据STUDIO
2024/04/18
1870
10 个令人惊叹的 Python 自动化脚本
python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
使用python实现的聊天室的功能,主要功能是群聊,私聊两种聊天方式.实现的方式是使用套接字编程和多线程treading。
全栈程序员站长
2022/11/16
3.9K0
python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
Python中tkinter模块的常用参数总结
对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到事件响应函数上。
Python学习者
2023/06/14
1.1K0
Tina-SDK开发
Tina-SDKV2.0源码网盘链接:https://pan.baidu.com/s/13uKlqDXImmMl9cgKc41tZg?pwd=qcw7
韦东山
2024/08/24
4340
Tina-SDK开发
100天学会python
目前我使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为《Python简史》的网络文章。
她的店里只卖樱花
2023/01/06
3.4K0
100天学会python
相关推荐
wing pro 所有版本序列号脚本
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验