Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(下)

简介: Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)

Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(上):https://developer.aliyun.com/article/1420337


PDF拆分文件



在工作时,有时会碰到一个比较大的PDF的文件,页码数比较多。而我们又想将数据进行分割,又如何处理呢?


这时就需要一个操作拆分PDF,而拆分PDF的操作的思路是:


1、读取源PDF文件

2、写入到一个新的PDF文件中


代码

from PyPDF2 import
PdfFileReader,PdfFileWriter
def chai_pdf(path):
  # 读取文件
  reader = PdfFileReader(open(path,'rb'))
  # 获取页面数据
  for i,p in enumerate(reader.pages):
    writer = PdfFileWriter()
    writer.addPage(p)
    # 保存新pdf文件
    with open(f'./create_data/03_拆分pdf_{i}.pdf','wb') as f:
      writer.write(f)
if __name__ =='__main__':
  path = './create_data/02_合并pdf.pdf'
  chai_pdf(path)


PDF加密文件



代码

from asyncore import write
from PyPDF2 import PdfFileReader,PdfFileWriter
def jia_mi(path):
  # 读取数据
  reader = PdfFileReader(open(path,'rb'))
  # 创建写Pdf的对象
  writer = PdfFileWriter()
  # 写入密码
  writer.encrypt('123')
  # 把内容复制pdf的writer中
  for p in reader.pages:
    writer.addPage(p)
  # 保存数据
  with open('./create_data/04_加密pdf.pdf','wb') as f:
    writer.write(f)
if __name__ =='__main__':
  path = r'base_data\10_word转换成pdf.pdf'
  jia_mi(path)


PPT基本操作-增加幻灯片



当内容比较简洁时,使用Word编写内容比较单调,这时可以考虑使用PPT编写内容,而Python如何操作PPT呢?


这时可以使用第3方库 python-pptx 来操作PPT


安装


pip install python-pptx


常用方法与属性

函数名&属性&类  含义
pptx.Presentation()  创建PPT文件对象
ppt.slide_layouts[num]  选择PPT页面布局
ppt.slides.add_slide()  增加PPT页面
presentation.save(path)  保存文件


代码

# pip install python-pptx
def create_ppt():
  from pptx import Presentation
  # 创建ppt
  ppt = Presentation()
  # 增加幻灯片
 ppt.slides.add_slide(ppt.slide_layouts[0])
 ppt.slides.add_slide(ppt.slide_layouts[1])
 ppt.slides.add_slide(ppt.slide_layouts[3])
 ppt.slides.add_slide(ppt.slide_layouts[6])
  # 保存
  ppt.save('./create_data/01_创建PPT.pptx')
if __name__ == '__main__':
  create_ppt()


PPT基本操作-增加内容



常用方法与属性

函数名&属性&类 含义
slide.shapes  获取内容框
slide.shapes.title  获取内容框标题对象
slide.shapes.title.text  获取/设置内容框标题值
slide.shapes.placeholders[num]  获取第num个内容框
slide.placeholder.text 获取/设置内容框内容
slide.placeholder.text_frame.add_paragraph()  增加一个段落
paragraph.text  获取/设置段落内容
paragraph.level 获取/设置段落等级
paragraph.font.bold  设置段落字体
paragraph.font.size  设置段落字体大小
slide.shapes.add_textbox()  增加一个内容文本域


代码

from pptx import Presentation
from pptx.util import Pt
def create_info():
  # 创建一个ppt
  ppt = Presentation()
  # 添加内容
  # 增加第1个页面
  slide = ppt.slides.add_slide(ppt.slide_layouts[1])
  # 获取标题
  title = slide.shapes.title
  title.text = 'This is Python Title'
  # 获取内容框
  content = slide.placeholders[1]
  content.text = 'Content Info'
  # 增加第2个页面
  slide2 = ppt.slides.add_slide(ppt.slide_layouts[1])
  # 获取内容占位框
  content2 = slide2.placeholders[1]
  # 获取内容frame框对象
  tf = content2.text_frame
  # 增加段落内容
  par = tf.add_paragraph()
  # 设置段落内容
  par.text = '1级内容'
  # 设置内容等级
  par.level = 1
  par2 = tf.add_paragraph()
  par2.text = '2级内容'
  par2.level = 2
  par3 = tf.add_paragraph()
  par3.text = '3级内容'
  par3.level = 3
  # 增加第3个页面
  slide3 = ppt.slides.add_slide(ppt.slide_layouts[6])
  left = top = right = bottom = Pt(200)
  # 增加文本框
  tb = slide3.shapes.add_textbox(left,top,right,bottom)
  # 增加内容
  tf4 = tb.text_frame
  par4 = tf4.add_paragraph()
  par4.text = '1级内容'
  par4.font.bold = True
  par4.font.size = Pt(30)
  # 保存ppt
  ppt.save('./create_data/02_增加内容.pptx')
if __name__ =='__main__':
  create_info()
目录
相关文章
|
10月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2186 2
|
9月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1505 68
|
11月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
335 0
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
379 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
374 10
|
SQL 安全 网络安全
网络安全漏洞、加密技术与安全意识的知识分享
随着互联网的普及,网络安全问题日益严重。本文将介绍网络安全漏洞的概念、类型和防范措施,以及加密技术的原理和应用。同时,强调提高个人和企业的安全意识对于防范网络攻击的重要性。
601 7
|
存储 安全 算法
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。

热门文章

最新文章

推荐镜像

更多