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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 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()
目录
打赏
0
1
1
0
59
分享
相关文章
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
Hyper V文件复制安全:加密与访问控制
在Hyper-V环境中,确保文件复制的安全性至关重要。主要措施包括:启用数据加密、使用HTTPS协议和磁盘加密技术(如BitLocker)保护数据传输和存储;通过身份验证、权限管理和审核日志控制访问;定期更新补丁、实施网络隔离及制定备份恢复策略。这些多层次的安全措施共同防止未经授权的访问和数据泄露,保障数据安全。
Hyper V文件复制安全:加密与访问控制
零基础IM开发入门(五):什么是IM系统的端到端加密?
本篇将通俗易懂地讲解IM系统中的端到端加密原理,为了降低阅读门槛,相关的技术概念会提及但不深入展开。
26 2
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
75 20
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
113 8
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
102 7
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
180 3
python知识点100篇系列(15)-加密python源代码为pyd文件

热门文章

最新文章