zoukankan      html  css  js  c++  java
  • 高效办公!Python 批量生成PDF文档

    日常办公中,经常会使用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高薪工作的话。我建议你多写点真实的企业项目积累经验。不然工作都找不到,当然很多人没进过企业,怎么会存在项目经验呢? 所以你得多找找企业项目实战多练习下撒。如果你很懒不想找,也可以进我的Python交流圈:1156465813。群文件里面有我之前在做开发写过的一些真实企业项目案例。你可以拿去学习,不懂都可以在裙里找我,有空会耐心给你解答下。

    以下内容无用,为本篇博客被搜索引擎抓取使用
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
    python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
    python 基础教程 网络爬虫 python python 爬虫经典例子
    python 爬虫
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    以上内容无用,为本篇博客被搜索引擎抓取使用

  • 相关阅读:
    Win10找不到gpedit.msc解决方法
    分类问题的评价指标
    配置Sublime的C/C++编译环境(无脑入门)
    bilibili1024安全挑战赛(Q1-Q5)
    Cmder的安装与配置
    DockerStack 实战
    docker-swarm实战
    docker-compose实战
    docker网络(二)
    docker网络(一)
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/14095694.html
Copyright © 2011-2022 走看看