今天分享一下如何利用Python實現Word文件和PDF文件的相互轉換,尤其是PDF批量轉Word。文末有福利哦~
1. Word轉PDF文檔
Word轉PDF很簡單,這里提幾種方法:
- 最簡單的就是打開Word文檔,然后另存為時選擇“PDF”格式即可。
- 使用一些在線工具,比如:Smallpdf (https://smallpdf.com/word-to-pdf)。
- 使用第三方軟件,比如我平時一般用福昕閱讀器看PDF文件,安裝的時候就會在Word里多一個插件,可以用來轉PDF。
但,如果是幾十份、甚至幾百份Word文件呢?上面這樣轉就太吃力了,得請出Python了。
1.1 Word批量轉PDF
通過Python,可以很方便地將Word文檔批量轉換為PDF,具體代碼如下:
def convert_word_to_pdf(directory):
files = os.listdir(directory)
word_files = [f for f in files if f.endswith(('.doc', '.docx'))]
word = comtypes.client.CreateObject('Word.Application')
word.Visible = False
# 遍歷每個Word文檔文件并轉換為PDF
for word_file in word_files:
word_file_path = os.path.join(directory, word_file)
pdf_file_path = os.path.splitext(word_file_path)[0] + '.pdf'
try:
doc = word.Documents.Open(word_file_path)
doc.SaveAs(pdf_file_path, FileFormat=17) # 17代表PDF格式
doc.Close()
print(f"Converted {word_file} to {os.path.basename(pdf_file_path)}")
except Exception as e:
print(f"Failed to convert {word_file}: {e}")
word.Quit()
if __name__ == "__main__":
current_directory = os.getcwd()
convert_word_to_pdf(current_directory)
2. PDF轉Word文檔
對于單個文件,同樣有在線工具可以實現,比如:https://smallpdf.com/pdf-to-word。但是對于批量的PDF文件,顯然Python更勝一籌!
2.1 PDF批量轉Word
對于PDF轉Word,我們可以使用pdf2docx
庫,這個庫提供了簡便的PDF到Word轉換功能,具體代碼如下:
def convert_pdf_to_word(directory):
files = os.listdir(directory)
pdf_files = [f for f in files if f.endswith('.pdf')]
for pdf_file in pdf_files:
pdf_file_path = os.path.join(directory, pdf_file)
word_file_path = os.path.splitext(pdf_file_path)[0] + '.docx'
cv = Converter(pdf_file_path)
cv.convert(word_file_path)
cv.close()
print(f"Converted {pdf_file} to {os.path.basename(word_file_path)}")
if __name__ == "__main__":
current_directory = os.getcwd()
convert_pdf_to_word(current_directory)
One more thing…
為了朋友們使用方便,我把上述兩個功能分別打包成.exe
文件了,只要把該文件放到需要轉換文件的同級目錄,雙擊運行即可完成轉換!
- Word2PDF.exe:Word轉PDF可執行工具
- PDF2Word.exe:PDF轉Word可執行工具
該文章在 2024/12/3 10:26:54 編輯過