在这篇博客中,我将介绍一个使用Python编写的小工具,它能够将指定文件夹中的所有Word文档(.doc和.docx格式)转换为PNG图片。这个工具基于wxPython库构建图形用户界面,并结合了win32com和PyMuPDF库实现文档格式的转换。接下来,我将详细说明这个工具的功能及其实现。
D:\spiderdocs\wordtoscreenshot.py
全部代码
import os
import wx
from win32com import client as wc
import pythoncom
import sys
import traceback
import tempfile
import fitz # PyMuPDF
def convert_word_to_pdf(word_path, pdf_path):
pythoncom.CoInitialize()
word = None
doc = None
try:
word = wc.Dispatch("Word.Application")
word.Visible = False
doc = word.Documents.Open(word_path)
doc.ExportAsFixedFormat(pdf_path, 17) # 17 is wdExportFormatPDF
print(f"Successfully exported {
word_path} to {
pdf_path}")
except Exception as e:
print(f"Error in convert_word_to_pdf: {
str(e)}")
print("Traceback:")
traceback.print_exc()
raise
finally:
if doc:
doc.Close(SaveChanges=False)
if word:
word.Quit()
pythoncom.CoUninitialize()
def convert_pdf_to_png(pdf_path, png_path):
try:
doc = fitz.open(pdf_path)
page = doc.load_page(0) # Load the first page
pix = page.get_pixmap()
pix.save(png_path)
doc.close()
print(f"Successfully converted {
pdf_path} to {
png_path}")
except Exception as e:
print(f"Error in convert_pdf_to_png: {
str(e)}")
print("Traceback:")
traceback.print_exc()
raise
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Word to PNG Converter')
panel = wx.Panel(self)
self