Python 办公自动化封神篇:PDF+Word 全自动处理,从此告别复制粘贴!
前言每天对着一堆 PDF 合并拆分、Word 改格式、手动做报表重复操作又累又容易错Python 几行代码就能全自动搞定这篇不讲废话、不搞应试全是能直接用在工作 / 学习 / 小项目的干货从读取、创建、批量生成到美化排版一步一行讲明白看完就能自己写自动化工具一、环境一键安装必看第一步处理 PDF 和 Word 需要专用工具库打开 CMD / 终端运行这行命令pip install PyPDF2 python-docx reportlabPyPDF2PDF 读取、合并、加密、拆分神器python-docxWord 创建、编辑、美化、做表格全能库reportlab从零生成全新 PDF做报告专用安装没报错就可以直接开干二、PDF 全自动实战逐行精讲 可直接运行1. 从 PDF 里提取文字复制资料再也不用手打很多 PDF 不能复制、不能编辑用 Python 直接把文字扒出来from PyPDF2 import PdfReader def pdf_get_text(pdf_path): # 打开PDF文件rb代表以二进制只读模式打开 reader PdfReader(pdf_path) # 准备一个空字符串存所有文字 all_text # 遍历PDF每一页 for page in reader.pages: # 提取当前页文字 page_text page.extract_text() # 加到总文字里 all_text page_text \n return all_text # 调用函数把你的PDF文件名填进去 content pdf_get_text(测试文件.pdf) # 打印前500个字看看效果 print(content[:500])代码讲解PdfReader专门用来读 PDF 的工具不用自己解析复杂格式reader.pages获取 PDF 所有页循环就能一页页读page.extract_text()核心提取功能自动把页面文字转成字符串最终返回完整文本可直接保存到 TXT/Word 里2. 多个 PDF 一键合并整理资料神器几十份 PDF 要合并成一个Python 秒级完成from PyPDF2 import PdfReader, PdfWriter def merge_pdf(pdf_files, save_name): # 创建一个空白PDF写入器 writer PdfWriter() # 遍历所有要合并的PDF for file in pdf_files: # 打开单个PDF reader PdfReader(file) # 把每一页加到新PDF里 for page in reader.pages: writer.add_page(page) # 保存最终合并后的文件 with open(save_name, wb) as f: writer.write(f) print(合并完成) # 使用示例把你要合并的文件填进列表 merge_pdf([1.pdf, 2.pdf, 3.pdf], 合并完整版.pdf)代码讲解PdfWriter相当于一个空白 PDF 本子专门用来装内容add_page(page)把其他 PDF 的页 “撕下来” 贴到新本子里最后write保存支持任意数量 PDF 合并3. PDF 加密保护重要文件不被乱看给私密 PDF 设置密码别人打不开只有你能看from PyPDF2 import PdfReader, PdfWriter def pdf_encrypt(input_file, output_file, pwd): reader PdfReader(input_file) writer PdfWriter() # 先把所有页复制过去 for page in reader.pages: writer.add_page(page) # 设置密码加密 writer.encrypt(pwd) # 保存加密文件 with open(output_file, wb) as f: writer.write(f) print(加密成功) # 使用 pdf_encrypt(原文件.pdf, 加密版.pdf, 123456)代码讲解encrypt(密码)一行给 PDF 上锁加密后打开必须输入密码安全性拉满4. 从零生成全新 PDF自动做报告不用 Word、不用编辑器Python 直接生成干净 PDFfrom reportlab.pdfgen import canvas def create_new_pdf(save_path, content): # 创建一张PDF画布 c canvas.Canvas(save_path) # 画标题坐标(100,750)代表从左100、从上750开始写 c.drawString(100, 750, Python自动生成PDF报告) # 画正文内容 c.drawString(100, 720, content) # 保存文件 c.save() print(PDF创建成功) # 使用 create_new_pdf(自动报告.pdf, 这是全自动生成的内容不用手动打字)代码讲解canvas.Canvas创建空白 PDF 页面drawString(x,y,文字)在指定位置写字可扩展加表格、图片、标题样式做成专业报表三、Word 自动化封神操作逐行精讲 美化排版1. 读取 Word 全文快速提取内容不管是报告、论文、简历都能一键读出来from docx import Document def read_word(file_path): # 打开Word文档 doc Document(file_path) full_text # 遍历所有段落 for para in doc.paragraphs: full_text para.text \n return full_text # 使用 text read_word(测试文档.docx) print(text)代码讲解Document打开 Word 的核心对象paragraphsWord 里的所有段落循环就能全部提取自动保留格式结构干净无乱码2. 创建精美 Word标题 正文 列表自动生成带格式的文档不用手动调字体字号from docx import Document from docx.shared import Pt def create_beautiful_word(): # 新建空白Word doc Document() # 添加标题 title doc.add_paragraph() title_run title.add_run(Python自动化办公专业文档) # 设置字号18号、加粗 title_run.font.size Pt(18) title_run.bold True # 添加正文 doc.add_paragraph(这是第一段正文内容格式自动设置完成。) doc.add_paragraph(这是第二段正文内容可无限添加。) # 添加项目列表 doc.add_paragraph(• 功能1PDF全自动处理, styleList Bullet) doc.add_paragraph(• 功能2Word批量生成, styleList Bullet) # 保存文件 doc.save(自动生成文档.docx) print(Word创建成功) create_beautiful_word()代码讲解Pt(18)设置字体大小对应 Word 里的字号bold True文字加粗突出标题List Bullet自动生成项目符号列表格式工整3. 批量生成邀请函 / 通知书最强实用功能一份名单自动生成每个人独立文档1 秒搞定几十份from docx import Document def make_invitation(name): doc Document() # 标题 doc.add_paragraph(f尊敬的 {name} 先生/女士).bold True # 正文 doc.add_paragraph( 诚挚邀请您参加本次活动感谢您一直以来的支持与陪伴期待您的莅临) doc.add_paragraph(\n此致\n敬礼) # 按姓名保存 doc.save(f邀请函_{name}.docx) # 名单列表 name_list [张三, 李四, 王五, 赵六] # 循环批量生成 for name in name_list: make_invitation(name) print(所有邀请函生成完毕)代码讲解循环遍历名单自动替换姓名每份文档独立命名不混乱、不重名可扩展加日期、编号、单位名称做成正式文件4. Word 里自动做表格成绩 / 清单 / 报表不用手动画表格Python 一键生成规整表格from docx import Document def create_word_table(): doc Document() doc.add_paragraph(学生成绩表).bold True # 4行3列表格 table doc.add_table(rows4, cols3) table.style Table Grid # 表头 h_cells table.rows[0].cells h_cells[0].text 姓名 h_cells[1].text 年龄 h_cells[2].text 成绩 # 填入数据 data [[小明, 18, 95], [小红, 18, 98], [小刚, 18, 92]] for i, row_data in enumerate(data, 1): cells table.rows[i].cells cells[0].text row_data[0] cells[1].text row_data[1] cells[2].text row_data[2] doc.save(成绩表.docx) print(表格生成完成) create_word_table()代码讲解add_table(行,列)创建指定大小表格Table Grid自带边框打开就是完整表格循环填数据支持批量导入 Excel 内容四、三大爆款实战项目项目 1PDF 全自动整理工具功能扫描文件夹所有 PDF自动提取文字按关键词分类移动到不同文件夹适用资料整理、论文归档、批量处理项目 2每日自动报告生成器功能读取数据自动生成 Word一键转 PDF适用工作日报、周报、统计报表项目 3批量通知书制作系统功能导入名单自动填充姓名、日期、编号批量导出独立文档适用学校、公司、活动组织五、全文总结看完就能用Python 办公自动化真的简单又暴力PDF提取、合并、加密、新建全部几行搞定Word读取、创建、美化、批量、做表格全能适用不用复杂逻辑复制代码改文件名就能运行每天节省 1~2 小时重复劳动效率直接起飞不用再手动复制粘贴、不用再熬夜做报表Python 就是办公神器
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2497549.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!