网站首页 > 精选文章 正文
前言:
日常办公中,经常会使用PDF文档,难免需要对PDF文档进行编辑,有时候PDF文档中的大部分内容都是一样的,只是发送对象不同。
这种模板套用的场景下,使用Python进行自动化就尤为方便,用最短的时间办最高效的事。
下面就告诉大家如何用Python自动套用模板批量生成下方这样的PDF文档。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。
当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。
在终端输入以下命令安装我们所需要的依赖模块:
看到 Successfully installed xxx 则说明安装成功。
本文完整源代码可在【Python实用宝典】公众号后台回复:批量生成pdf 下载。
2.基本使用
PyPDF是从PHP移植到Python的第三方模块。其主要特点有:
1.非常容易使用和扩展
2.提供了许多简单示例
3.没有外部依赖项
4.不需要安装变异其他库(DLL)
它的基本功能有:
1.调整PDF精度、页面格式、边距
2.管理页眉、页脚
3.自动分页符、自动换行和文本对齐
4.支持图像、颜色、超链接文本
5.支持压缩
一个最简单的生成示例
生成的效果如下,由于PDF空白处太多,这里只截字体部分:
把生成的文本变复杂一点:
看看要怎么实现这个PDF文档的生成。
首先需要继承FPDF类,以用于自定义页眉和页脚。
这样设置完页眉也页脚后,只要你使用该类定义PDF文档,便会自动带上页眉页脚。
3.批量生成PDF真的是非常方便
接下来在Python实用宝典网站(https://pythondict.com)上随机抽取了5位注册了账号的同学的ID批量制作祝福PDF文档。
这里可以复用咱刚自定义完成的页眉和页尾。不过,为了显示中文,需要在继承的类里面添加并设置字体为本地中文字体,如:
注意,add_font第一个参数是该字体注册进FPDF的名字,之后set_font的时候都使用该名字。
然后将用户名都放到一个数组里,遍历该数组,填充用户名,循环批量生成PDF.
电子版详细步骤获取方式:
1.点赞+评论(勾选同时转发)
2.关注小编。并私信回复关键字【Python】(一定要私信哦,点击我的头像就能看到私信按钮了。)
猜你喜欢
- 2025-01-10 尚硅谷禹神版前端入门教程发布
- 2025-01-10 【最全分析总结3W字】我是怎样从0开始学会TypeScript的
- 2025-01-10 ThreeJS 入门教程(一) 是选择桌面的固守还是云原生?
- 2025-01-10 Web前端学习6个有效果软件!看看哪些你用的上
- 2025-01-10 如何在Vue3项目中集成ESLint+Prettier+Stylelint+Husky?
- 2025-01-10 Markdown(编辑器)工具与使用总结
- 2025-01-10 玩转Markdown(2)——抽象语法树的提取与操纵
- 2025-01-10 无门槛学习程序员文档神器:Markdown
- 2025-01-10 markdown使用教程及工具推荐
- 2025-01-10 15 个非常流行的VsCode插件,让你的编码效率倍增!
- 05-15OSPFv2和 OSPFv3 有哪些相同点和不同点?
- 05-15为什么IPv6不支持固定IP作为地址?
- 05-15网工必备:Ping命令的十个实用技巧
- 05-15单播以及多播的书写实验
- 05-15纯净安心+支持IPv6远程使用丨NAS部署Windows激活工具教程
- 05-15笔记09:IPv6地址配置方法三——DHCPv6有状态地址自动配置
- 05-15手把手教你DHCPv6实验
- 05-15小学生钓鱼网站渗透实战
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)