盤點一個Python自動化辦公Word轉化PDF/PDF轉化Word問題
回復“ 書籍 ”即可獲贈Python從入門到進階共10本電子書
今
日
雞
湯
太平本是將軍定,不許將軍見太平。大家好,我是皮皮。
一、前言
前幾天在Python最強王者交流群【鐘愛一生】問了一個Python自動化辦公的問題。問題如下:
代碼太長了,我就不貼出來了。
二、實現過程
后來【莫生氣】給了單獨的 pdf 和 word 互轉的代碼給他,【文件夾下的word文件批量轉pdf格式】代碼如下:
import os
import sys
import comtypes.client
def word_to_pdf(input_folder, output_folder):
# 獲取輸入文件夾下的所有Word文檔
word_files = [f for f in os.listdir(input_folder) if f.endswith('.docx')]
# 創(chuàng)建輸出文件夾(如果不存在)
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍歷所有Word文檔并轉換為PDF格式
for word_file in word_files:
input_file = os.path.join(input_folder, word_file)
output_file = os.path.join(output_folder, word_file.replace('.docx', '.pdf'))
# 打開Word文檔
word_app = comtypes.client.CreateObject('Word.Application')
word_app.Visible = False
# 打開Word文檔并另存為PDF格式
doc = word_app.Documents.Open(input_file)
doc.SaveAs(output_file, FileFormat=17) # 17表示PDF格式
doc.Close()
# 關閉Word應用程序
word_app.Quit()
if __name__ == '__main__':
input_folder = r'C:\Users\Desktop\input_files'
output_folder = r'C:\Users\Desktop\output_files'
word_to_pdf(input_folder, output_folder)
【pdf文件轉word文檔】代碼如下:
import pdfplumber
from docx import Document
# 讀取PDF文件
with pdfplumber.open("example.pdf") as pdf:
text = ""
for page in pdf.pages:
text += page.extract_text()
# 創(chuàng)建一個新的Word文檔
doc = Document()
# 將提取到的文本內容寫入到Word文檔中
doc.add_paragraph(text)
# 保存Word文檔
doc.save("output.docx")
順利地解決了粉絲的問題。
如果你也有類似這種數據分析的小問題,歡迎隨時來交流群學習交流哦,有問必答!
三、總結
大家好,我是皮皮。這篇文章主要盤點了一個Pandas自動化辦公的問題,文中針對該問題,給出了具體的解析和代碼實現,幫助粉絲順利解決了問題。
最后感謝粉絲【鐘愛一生】提出的問題,感謝【莫生氣】給出的思路,感謝【莫生氣】、【馮誠】等人參與學習交流。
【提問補充】溫馨提示,大家在群里提問的時候。可以注意下面幾點:如果涉及到大文件數據,可以數據脫敏后,發(fā)點demo數據來(小文件的意思),然后貼點代碼(可以復制的那種),記得發(fā)報錯截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個.py文件就行。
大家在學習過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting1),應粉絲要求,我創(chuàng)建了一些ChatGPT機器人交流群和高質量的Python付費學習交流群和付費接單群,歡迎大家加入我的Python學習交流群和接單群!
小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。
------------------- End -------------------
往期精彩文章推薦:
歡迎大家點贊,留言,轉發(fā),轉載,感謝大家的相伴與支持
想加入Python學習群請在后臺回復【 入群 】
萬水千山總是情,點個【 在看 】行不行
/今日留言主題/
隨便說一兩句吧~~
