一,PPT批量转化pdf
需求当公司需要将大量ppt转换pdf
需要配置win32com
引用:https://www.pianshen.com/article/13311600023/
# 0). 准备工作
# 0-1). 导入模块
import os
import win32com.client
# # 0-2). ppt文件和pdf文件的名称
# filename = '要转换的PPT素材1.pptx'
# output_filename = '转换后保存的PPT素材1.pdf'
def ppt2pdf(filename, output_filename):
# 1. 打开PPT应用程序。
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# ppt_app.Visible = True # 操作过程是否可视化
# 2. 通过应用程序打开指定的ppt文件
ppt = ppt_app.Presentations.Open(filename)
# 3. 打开的PPT另存为pdf文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(output_filename, 32)
# 4. 退出程序。
ppt_app.Quit()
#要转换的ppt的地址
dirname = r"D:\pythonzil\4.Python编程模块(9.22(15节)\【第11节】Python综合小案例(一)\11\11 Python综合小案例(一)\ppt"
#转换后保存的地址
dirname2 = r"D:\pythonzil\4.Python编程模块(9.22(15节)\【第11节】Python综合小案例(一)\pdf"
#获取当前文件下的文件集合
filenames = os.listdir(dirname)
for filename in filenames:
#判断文件是不是ppt或pptx文件才能进行转换
if filename.endswith('ppt') or filename.endswith('pptx'):
print(filename)
print("文件%s正在被转成pdf文件" %(filename))
#将之前ppt文件名分割后进行重新命名转换后的ptf文件
base, ext = filename.split('.')
#通过os组件拼接成转化时所用的使用路径 1
filename = os.path.join(dirname, filename)
#通过os组件拼接成转化时所用的保存路径
output_filename = os.path.join(dirname2, base + '.pdf')
#调用函数
ppt2pdf(filename, output_filename)
二 批量把Word存入excel
需要配置 docx 操作文档
在cmd 窗口下载docx 命令 pip install python-docx
执行是要先打开打开同一目录下
执行代码
打开表格进行查看
from docx import Document
from openpyxl import load_workbook
import glob
# path = r'E:\BaiduNetdiskDownload\自动化\批量修改Word并且写入Excel\wenjian'
path = r"D:\pythonzil\lx"
#激活Excel
workbook = load_workbook(path + r'\Meeting_temp.xlsx')
#拿到对应的表头
sheet = workbook.active
#示例拿到单个docx文档进行输出
wordfile = Document(path + r'\wenjianjia\会议通知1.docx')
for paragraph in wordfile.paragraphs:
print(paragraph.text)
number = 0
#拿到该目录下的所有docx文档
for file in glob.glob(path + r'\wenjianjia\*.docx'):
#难道对应的文档
wordfile = Document(file)
content_lst = []
#读取每行的内容
for paragraph in wordfile.paragraphs:
print(paragraph.text[0:9])
#判断对应前前九个字符是否是学习数据
if paragraph.text[0:9] == ' 一、学习时间:':
#进行赋值
study_time = paragraph.text[9:]
print(study_time)
#判断对应前前九个字符是否是学习形式
if paragraph.text[0:9] == ' 二、学习形式:':
study_type = paragraph.text[9:]
#判断对应前前九个字符是否是主持人
if paragraph.text[0:8] == ' 三、主持人:':
host = paragraph.text[8:]
print(host)
if len(paragraph.text) >= 2:
#大于两个字符且有 , 好进行添加到内容列表里
if paragraph.text[2].isdigit() and paragraph.text[3] == '、':
content_lst.append(paragraph.text)
#通过join拼接成一个完整的字符串
content = ' '.join(content_lst)
#序号
number += 1
#将获取的数据分别添加到对应的表格里
sheet.append([number, study_time, content, study_type, host])
#生成对应的表格
workbook.save(path + r'\Meeting_notice.xlsx')