Python實現(xiàn)從PPT中導出高分辨率圖片
更新時間:2023年05月08日 16:39:34 作者:小鋒學長生活大爆炸
這篇文章主要為大家分享了一個實用腳本——如何利用Python實現(xiàn)從PPT中導出高分辨率(高 dpi)的圖片,文中的示例代碼講解詳細,感興趣的可以了解一下
總結(jié)為:改注冊表。

順手寫個腳本:
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="執(zhí)行修改", 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:
# 如果項不存在,創(chuàng)建它并設置為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實現(xiàn)從PPT中導出高分辨率圖片的文章就介紹到這了,更多相關Python PPT導出圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python虛擬環(huán)境創(chuàng)建的兩種方法
本文主要介紹了python虛擬環(huán)境創(chuàng)建的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
python基于物品協(xié)同過濾算法實現(xiàn)代碼
這篇文章主要為大家詳細介紹了python基于物品協(xié)同過濾算法實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
python sklearn庫實現(xiàn)簡單邏輯回歸的實例代碼
Scikit-learn(sklearn)是機器學習中常用的第三方模塊,對常用的機器學習方法進行了封裝,這篇文章主要介紹了python sklearn庫實現(xiàn)簡單邏輯回歸的實例代碼,需要的朋友可以參考下2019-07-07
使用Python的SymPy庫解決數(shù)學運算問題的方法
這篇文章主要介紹了使用Python的SymPy庫解決數(shù)學運算問題的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
Python 把兩層列表展開平鋪成一層(5種實現(xiàn)方式)
這篇文章主要介紹了Python 把兩層列表展開平鋪成一層(5種實現(xiàn)方式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
django2+uwsgi+nginx上線部署到服務器Ubuntu16.04
這篇文章主要介紹了django2+uwsgi+nginx上線部署到服務器Ubuntu16.04,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
pandas.DataFrame的for循環(huán)迭代的實現(xiàn)
本文主要介紹了pandas.DataFrame的for循環(huán)迭代的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

