高效办公!Python 批量生成PDF文档是如何做到的?

yumo6661个月前 (05-14)技术文章17



前言:

日常办公中,经常会使用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】(一定要私信哦,点击我的头像就能看到私信按钮了。)

相关文章

这张思维导图,涵盖Python所有核心知识点,PDF赶快拿走

这张Python思维导图,涵盖了所有的核心知识点,包括基础知识、爬虫、函数、模块、类和对象等,从以往假大空的知识堆砌转变为清晰实用的知识体系,十分适合初学者参考学习。讲解详细,十分高清,核心知识点串联...

强烈推荐!248页《python编程从入门到实践》完整版,PDF开放下载

大佬整理的python学习笔记,大家有需要的可以在文末获取。获取方式:...

字节跳动把Python入门知识点整理成手册了,高清PDF开放下载

字节整理的这本手册把重点的语法和知识点都列出来了,不信你还看不懂!...

如何用Python程序将几十个PDF文件合并成一个PDF?其实只要这四步

假定你有一个很无聊的任务,需要将几十个PDF文件合并成一个PDF文件。每一个文件都有一个封面作为第一页,但你不希望合并后的文件中重复出现这些封面。即使有许多免费的程序可以合并PDF,很多也只是简单的将...

字节跳动竟然斥巨资开发出《Python知识手册》,高清PDF免费获取

今天我要把我参与编写的这套《Python知识手册》免费分享出来,真正弘扬Python开源精神!Python 知识手册的内容主要涉及 Python 基础、数据分析,数据可视化等内容。手册的部分页面如下:...

Python 创始人官方发布整套中文PDF文档,足足27本,学习必备!

1Head First Python(中文版)通过一种独特的方法教你学习这种语言你会迅速掌握Python的基础知识然后转向持久存储、异常处理、Web开发、SOLite数据加工和GoogleAppEng...