日常办公中,经常会使用PDF文档,难免需要对PDF文档进行编辑,有时候PDF文档中的大部分内容都是一样的,只是发送对象不同。

这种模板套用的场景下,使用Python进行自动化就尤为方便,用最短的时间办最高效的事。

今天就给大家讲讲如何用Python自动套用模板批量生成下方这样的PDF文档。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。

在终端输入以下命令安装我们所需要的依赖模块:

pip install fpdf

看到 Successfully installed xxx 则说明安装成功。

本文完整源代码可在【Python实用宝典】公众号后台回复:批量生成pdf 下载。

2.基本使用

PyPDF是从PHP移植到Python的第三方模块。其主要特点有:

1.非常容易使用和扩展
2.提供了许多简单示例
3.没有外部依赖项
4.不需要安装变异其他库(DLL)

它的基本功能有:

1.调整PDF精度、页面格式、边距
2.管理页眉、页脚
3.自动分页符、自动换行和文本对齐
4.支持图像、颜色、超链接文本
5.支持压缩

一个最简单的生成示例:

生成的效果如下,由于PDF空白处太多,这里只截字体部分:

把生成的文本变复杂一点:

注意cell的参数:
1. border 取值为0或1,代表是否显示边框。
2. ln 是指在生成该文本框之后焦点移动到的位置,0 代表到该文本框的右边,1 代表换行,2 代表文本框的正下方。
3. align 是指文本对齐格式,C为居中、L为左对齐、R为右对齐。

因此上述代码会生成类似这样的PDF文档:

cell 还有2个参数:

1. fill 参数用于设置文本框的背景,TRUE时为白色,False为透明。
2. link 参数用于添加超链接

下面看一个比较复杂的例子,带图片LOGO作为页眉,带页数作为页脚的PDF文档:

看看要怎么实现这个PDF文档的生成。

首先需要继承FPDF类,以用于自定义页眉和页脚。

这样设置完页眉也页脚后,只要你使用该类定义PDF文档,便会自动带上页眉页脚。

真的是非常方便。

3.批量生成PDF

接下来在Python实用宝典网站(https://pythondict.com)上随机抽取了5位注册了账号的同学的ID批量制作祝福PDF文档。

这里可以复用咱刚自定义完成的页眉和页尾。不过,为了显示中文,需要在继承的类里面添加并设置字体为本地中文字体,如:

注意,add_font第一个参数是该字体注册进FPDF的名字,之后set_font的时候都使用该名字。

然后将用户名都放到一个数组里,遍历该数组,填充用户名,循环批量生成PDF.

最终效果如下:

高效办公!Python 批量生成PDF文档相关推荐

  1. 如何用Python批量将Pdf文档转换成Word文档?

    目录 一.前言 二.问题或需求 三.前提条件或注意事项 四.代码设计思路 五.具体执行代码 六.效果观察 七.声明及致谢 八.快捷方式 一.前言 一般情况,WPS系列office软件付费会员都有Pdf ...

  2. python轻松生成pdf文档

    前言 python对办公一族来说,是个提高办公效率的得力利器.熟练使用它,可以轻松完成很多繁杂的事情.(文末送读者福利) 它可以轻松地操作Word.Excel.PDF这种文档. 相比较C#.C++等其 ...

  3. python批量处理PDF文档,输出自定义关键词的出现次数

    目录 序言 函数模块介绍 对文件进行批量重命名 将PDF转化为txt 删除txt中的换行符 添加自定义词语 分词与词频统计 主函数 本地文件结构 全部代码 结果预览 序言 做这个的背景是研究生导师要批 ...

  4. python实现生成word文档并转为pdf

    python实现生成word文档,格式转为pdf 使用的是python-docx模块,在生成word文档后转为pdf格式是使用的是docx2pdf中的convert(使用convert转换时,要先创建 ...

  5. 批量自动生成pdf文档可跳转书签的方法

    有时我们在浏览一些pdf文档的时候,发现这些文档没有对应的书签,这会使我们的阅读不太方便.自己手动一个个创建这些书签效率太低,太浪费我们宝贵时间.这里介绍一个通过使用Adobe Acrobat Pro ...

  6. Python+pymupdf处理PDF文档案例6则

    推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷,7月第2次印刷 京东购买链接:https://i ...

  7. 利用Django生成PDF文档

    利用Django生成PDF文档 本小节说明如何利用Django视图动态生成PDF文档.此功能是由优秀的开源Python PDF库ReportLab实现的. 动态生成PDF文档的好处在于你可以定制PDF ...

  8. 使用sphinx快速为你python注释生成API文档

    sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的 ...

  9. python新建word文档_使用Python 自动生成 Word 文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

最新文章

  1. 构建富互联网应用程序监控工作流和流程(1)
  2. 矩阵分析与多元统计11 广义vec算子与devec算子
  3. Keras之小众需求:自定义优化器
  4. python断言区间_断言整数在范围内
  5. 大数据与web开发整合的最佳实践-思考
  6. 微软全球副总裁给你发了一张Connect 2016专属邀请卡:信仰再充值!Connect 2016技术大会在线直播!
  7. 表单提交数据丢失的问题
  8. jdbc odbc连接mysql_具体说明JDBC连接数据库与ODBC连接数据的区别
  9. 计算机桌面文字重影,电脑桌面图标有重影是什么问题?
  10. 华为+android+root权限获取root,如何获得华为手机的root权限?华为root权限获取教程...
  11. android开发 app消息提醒功能,Android中利用App实现消息推送机制的代码
  12. java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...
  13. 物联网大数据平台功能有哪些
  14. class的操作:className和classList
  15. jQuery动画函数
  16. 手机QQ2008下载地址
  17. wannacry 勒索病毒_WannaCry:勒索软件尸检
  18. 队残冒逃茸霞桥镭砸的
  19. (基础)详解Python实现图像分割增强的两种方法
  20. Live Wallpaper Themes 4K Pro:4K超清动态壁纸

热门文章

  1. qrcodejs2的错误、公众号识别不了二维码、公众号识别二维码没反应
  2. 一夜爆红吸粉千万“四位超级网红”背后的四大真相是什么呢?
  3. kubectl logs和docker logs输出日志不同的问题
  4. #9733;思维导图的30个问答
  5. java ppt 绘图,PPT图片别再直接插入,这样处理一下,让你的PPT秒变高逼格
  6. 交换机命令与linux,LINUX教学:路由器和交换机的基本命令
  7. 华为ar系列交换机虚拟服务器,交换机路由器虚拟服务器设置
  8. 9大日常不良习惯致癌
  9. PLMN SPN运营商名称显示来源
  10. python3.6安装tkinter_在SUSE SP3上安装新的python-3.6.4