pdf 文件包(portfolio)是将多个文件组合成一个单独的 pdf 文档。它作为一种综合且交互式的展示形式,可以展示各种类型的内容,例如文档、图片、演示文稿及视频等等。与传统的 pdf 文档不同,pdf 文件包允许您以一种协调和有组织的方式展示多个文件,为浏览者提供流畅的浏览体验。本文将介绍如何使用 在 python 中创建和识别 pdf 文件包。
安装 spire.pdf for python
本教程需要 spire.pdf for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.pdf
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 spire.pdf for python
python 创建一个 pdf 文件包
spire.pdf for python 提供了 pdfdocument.collection.addfile() 方法将文件添加到 pdf 中,从而生成一个 pdf 文件包。此外,您还可以使用 pdfdocument.collection.folders.createsubfolder() 方法添加文件夹来组织 pdf 文件包中的文件。具体步骤如下:
- 创建一个 pdfdocument 类的实例。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文档。
- 遍历第一个文件夹中的文件,并使用 pdfdocument.collection.addfile() 方法将它们添加到 pdf 包文件中。
- 遍历第二个文件夹中的文件。对于每个文件,使用 pdfdocument.collection.folders.createsubfolder() 方法在 pdf 组合文件中创建一个单独的文件夹,然后使用 pdffolder.addfile() 方法将文件添加到相应的文件夹中。
- 使用 pdfdocument.savetofile() 方法保存文档。
- python
from spire.pdf.common import *
from spire.pdf import *
import glob
# 指定包含在pdf文件包中的文件所在的文件夹
input_folder1 = "文件目录1/*"
input_folder2 = "文件目录2/*"
# 创建一个pdfdocument对象
doc = pdfdocument()
# 获取第一个文件夹中的文件路径列表
files1 = glob.glob(input_folder1)
# 遍历文件列表
for i, file in enumerate(files1):
# 将每个文件添加到pdf文件包中
doc.collection.addfile(file)
# 获取第二个文件夹中的文件路径列表
files2 = glob.glob(input_folder2)
# 遍历文件列表
for j, file in enumerate(files2):
# 为每个文件创建一个独立的文件夹
folder = doc.collection.folders.createsubfolder(f"文件夹{j 1}")
# 将文件添加到文件夹中
folder.addfile(file)
# 将生成的pdf文件组合保存到指定的文件路径
output_file = "pdf文件包.pdf"
doc.savetofile(output_file)
# 关闭pdfdocument对象
doc.close()
python 识别一个 pdf 文件是否为文件包
您可以使用 pdfdocument.isportfolio 属性轻松判断一个 pdf 文档是否为文件包。以下是详细的步骤:
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载一个 pdf 文档。
- 使用 pdfdocument.isportfolio 属性来判断文档是否为一个文件包。
- 将判断结果保存到 txt 文件中。
- python
from spire.pdf.common import *
from spire.pdf import *
input_file = "pdf文件包.pdf"
# 创建一个pdfdocument对象
doc = pdfdocument()
# 从文件加载pdf文档
doc.loadfromfile(input_file)
# 判断文档是否为文件包
if doc.isportfolio:
st = "加载的pdf是文件包"
else:
st = "加载的pdf不是文件包"
# 打开输出文件,以写入模式写入结果
output_file = "结果文档.txt"
with open(output_file, "w") as text_file:
text_file.write(st)
# 关闭pdfdocument对象
doc.close()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。