0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python怎么批量生成PDF文档

汽车电子技术 来源:Python实用宝典 作者: Ckend 2023-02-28 10:11 次阅读

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

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

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

pYYBAGP9Yk2AWyCFAAJbmQkVwU0892.png

1.准备

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

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

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

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

pip installfpdf

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

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

2.基本使用

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

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

它的基本功能有:

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

一个最简单的生成示例:

pYYBAGP9Yl2AGSLAAAHI_mMFEew871.png

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

pYYBAGP9YnSAKy_FAAAudIFC628730.png

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

poYBAGP9Ym2AdsKRAAGnDw6zJE8910.png

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

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

poYBAGP9Yn6Ac-kAAAAcllUuULI031.png

cell还有2个参数:

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

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

poYBAGP9YouAGAJbAADlFybx1js123.png

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

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

poYBAGP9YpOAAnvuAAG460iICiQ455.png

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

poYBAGP9YpuAGheyAAEakSOs2FU913.png

真的是非常方便。

3.批量生成PDF

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

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

poYBAGP9YqSAEQlcAAGzaN_B8s0003.png

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

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

poYBAGP9YquACs-WAAFdDg6LPAI439.png

最终效果如下:

pYYBAGP9YrKAPPGqAAKtyHYLVRU088.png

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模板
    +关注

    关注

    0

    文章

    108

    浏览量

    20554
  • PDF
    PDF
    +关注

    关注

    1

    文章

    166

    浏览量

    33652
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84429
收藏 人收藏

    评论

    相关推荐

    ABBYY PDF Transformer+创建PDF文档的几种方式

    ABBYY PDF Transformer+可用于从纸质文档、Microsoft Word文档、图像文件和从任何其他流行格式创建PDF文件。下面由小编给大家简单介绍通过ABBYY
    发表于 09-18 15:44

    详解ABBYY PDF Transformer+从文件创建PDF文档

    ,其中的选项用于从多个文件创建文档。3. 单击设置按钮,并检查您是否需要更改任何设置。“压缩”影响所生成PDF文档的大小和质量。应根据自己想要如何使用
    发表于 10-17 14:13

    详解ABBYY PDF Transformer+从多个文件创建PDF文档

    、使用和按钮更改文件的顺序。文件将以您在列表中看到的顺序添加至所生成文档。每个文件将在一个新的页面上开始。4. 单击“设置”按钮,并检查您是否需要更改任何设置。压缩影响所生成PDF文档
    发表于 10-18 10:14

    AutoCAD DXF/dwg转换pdf工具下载

      1.可以将多个DWG文档生成对应的多个PDF文档,或合并生成单一的PDF
    发表于 04-08 09:50

    基于多种技术的Word设计文档自动生成平台

    阐述Word设计文档自动生成平台的框架结构,提出了结合VBA、ADO和ASP等技术的设计思路,并详细介绍了文档自动生成平台软件的具体实现,包括建立
    发表于 05-11 20:20 30次下载

    如何使用Python绘制PDF文件教程详细说明

    文档的主要内容详细介绍的是如何使用Python绘制PDF文件教程详细说明。
    发表于 08-27 11:48 12次下载
    如何使用<b class='flag-5'>Python</b>绘制<b class='flag-5'>PDF</b>文件教程详细说明

    如何使用python实现批量删除文件名中的未知字符

    文档的主要内容详细介绍的是如何使用python实现批量删除文件名中的未知字符。
    发表于 10-28 16:54 16次下载
    如何使用<b class='flag-5'>python</b>实现<b class='flag-5'>批量</b>删除文件名中的未知字符

    基于Python-casacore的射电测量集文件生成方法

    基于Python-casacore的射电测量集文件生成方法(开关电源技术试卷)-该文档为基于Python-casacore的射电测量集文件生成
    发表于 09-15 13:11 3次下载
    基于<b class='flag-5'>Python</b>-casacore的射电测量集文件<b class='flag-5'>生成</b>方法

    Python编程入门》.pdf

    Python编程入门》.pdf
    发表于 02-11 16:03 0次下载

    python生成器是什么

    python生成器 1. 什么是生成器? 生成器(英文名 Generator ),是一个可以像迭代器那样使用for循环来获取元素的函数。 生成
    的头像 发表于 02-24 15:53 3619次阅读

    如何用Python自动套用模板批量生成PDF文档

    今天就给大家讲讲如何用Python自动套用模板批量生成PDF文档。 1.准备 开始之前,你要确保Pyt
    的头像 发表于 10-17 10:54 928次阅读
    如何用<b class='flag-5'>Python</b>自动套用模板<b class='flag-5'>批量</b><b class='flag-5'>生成</b><b class='flag-5'>PDF</b><b class='flag-5'>文档</b>

    如何用Python自动套用模板批量生成PDF文档

    办最高效的事。 今天就给大家讲讲如何用Python自动套用模板批量生成下方这样的PDF文档。 1.准备 开始之前,你要确保
    的头像 发表于 10-31 10:56 1467次阅读
    如何用<b class='flag-5'>Python</b>自动套用模板<b class='flag-5'>批量</b><b class='flag-5'>生成</b><b class='flag-5'>PDF</b><b class='flag-5'>文档</b>

    Python中Excel转PDF的实现步骤

    将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for
    的头像 发表于 11-20 15:02 1039次阅读
    <b class='flag-5'>Python</b>中Excel转<b class='flag-5'>PDF</b>的实现步骤

    能够生成java文档注释的命令

    生成Java文档注释的命令是通过使用Java的自带工具Javadoc来实现的。Javadoc是一个能够从源代码中提取注释并生成文档的工具。下面是使用Javadoc生成Java
    的头像 发表于 11-29 14:12 799次阅读

    PDF文件批量打印源代码

    压缩包中包含可批量打印PDF文件的Python代码,可以借助PYcharm工具执行,实现多PDF文件同时打印。
    发表于 08-08 14:26 0次下载