盘点一个Python自动化办公Word转化PDF/PDF转化Word问题
共 3535字,需浏览 8分钟
·
2024-04-10 15:06
回复“ 书籍 ”即可获赠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')]
# 创建输出文件夹(如果不存在)
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()
# 创建一个新的Word文档
doc = Document()
# 将提取到的文本内容写入到Word文档中
doc.add_paragraph(text)
# 保存Word文档
doc.save("output.docx")
顺利地解决了粉丝的问题。
如果你也有类似这种数据分析的小问题,欢迎随时来交流群学习交流哦,有问必答!
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Pandas自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【钟爱一生】提出的问题,感谢【莫生气】给出的思路,感谢【莫生气】、【冯诚】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting1),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【 入群 】
万水千山总是情,点个【 在看 】行不行
/今日留言主题/
随便说一两句吧~~