- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python PyPDF2模块安装使用解析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
这篇文章主要介绍了Python PyPDF2模块安装使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 。
PyPDF2模块主要的功能是分割或合并PDF文件,裁剪或转换PDF文件中的页面.
0、安装PyPDF2的模块 。
pip install PyPDF2 。
1、常用的函数 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/1/15 13:38
# @Author : suk
# @File : pyxl.py
# @Software: PyCharm
import
PyPDF2
reader
=
PyPDF2.PdfFileReader(
open
(
'linux.pdf'
,
'rb'
))
print
(reader.getNumPages())
# 获取pdf总页数
print
(reader.isEncrypted)
# 判断是否有加密
page
=
reader.getPage(
4
)
# 获取第四页
print
(page.extractText())
# 获取第四页的内容
print
(reader.getDocumentInfo())
# 获取PDF元信息,即创建时间,作者,标题等
|
2、读取PDF文件,取指定页数,写入到硬盘上的示例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
PyPDF2
reader
=
PyPDF2.PdfFileReader(
open
(
'linux.pdf'
,
'rb'
))
output
=
PyPDF2.PdfFileWriter()
output.addPage(reader.getPage(
1
))
output.addPage(reader.getPage(
4
))
output.addPage(reader.getPage(
5
))
print
(output.getNumPages())
# 获取写入页的总页数
output.encrypt(
'123456'
)
outputStream
=
open
(
'PyPDF2-output.pdf'
,
'wb'
)
output.write(outputStream)
outputStream.close()
|
3、读取PDF某一页,旋转180度后,写入到新的PDF文件的示例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
PyPDF2
reader
=
PyPDF2.PdfFileReader(
open
(
'linux.pdf'
,
'rb'
))
page
=
reader.getPage(
0
)
# 获取第0页
page.rotateClockwise(
180
)
# 旋转180度
writer
=
PyPDF2.PdfFileWriter()
# 创建PDF写入的对象
writer.addPage(page)
outputStream
=
open
(
'rotate-page-test.pdf'
,
'wb'
)
# 创建一个PDF文件
writer.write(outputStream)
# 往文件写入PDF数据
outputStream.close()
# 写入流
|
4、PDF增加水印的示例 。
注意:水印模板可以利用WORD文档写好文字,转为PDF即可 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
PyPDF2
reader
=
PyPDF2.PdfFileReader(
open
(
'linux.pdf'
,
'rb'
))
# 增加水印的原文件
watermark
=
PyPDF2.PdfFileReader(
open
(
'水印模板.pdf'
,
'rb'
))
# 水印的模板
writer
=
PyPDF2.PdfFileWriter()
# 写入PDF的对象
for
i
in
range
(reader.getNumPages()):
page
=
reader.getPage(i)
page.mergePage(watermark.getPage(
0
))
# 将原文件与水印模板合并
writer.addPage(page)
# 增加到写入对象中
outputStream
=
open
(
'watermark-test-linux.pdf'
,
'wb'
)
# 打开一个写入硬盘的文件对象
writer.write(outputStream)
# 将合并好的数据,写入硬盘中
outputStream.close()
# 关闭文件句柄
|
测试效果 。
5、合并多个指定的PDF文件的示例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from
PyPDF2
import
PdfFileMerger
merger
=
PdfFileMerger()
# 创建一个合并的对象
input1
=
open
(
'01PDF.pdf'
,
'rb'
)
input2
=
open
(
'02PDF.pdf'
,
'rb'
)
input3
=
open
(
'03PDF.pdf'
,
'rb'
)
merger.append(fileobj
=
input1, pages
=
(
0
,
3
))
# 合并文件1的0到3页
merger.merge(position
=
2
, fileobj
=
input2, pages
=
(
0
,
1
))
# 合并文件2的0到1页
merger.append(fileobj
=
input3)
# 合并文件的所有页
output
=
open
(
'document-output.pdf'
,
'wb'
)
# 保存硬盘上
merger.write(output)
# 写入到硬盘上
output.close()
# 关闭文件句柄
|
6、批量合并指定目录的PDF文件的示例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
PyPDF2
import
os
import
glob
def
get_all_pdf_files(path):
"""获取指定目录的所有pdf文件名"""
all_pdfs
=
glob.glob(
'{0}/*.pdf'
.
format
(path))
all_pdfs.sort(key
=
str
.lower)
# 排序
return
all_pdfs
def
main():
path
=
os.getcwd()
all_pdfs
=
get_all_pdf_files(path)
if
not
all_pdfs:
raise
SystemExit(
'没有可用的PDF类型文件'
)
merger
=
PyPDF2.PdfFileMerger()
first_obj
=
open
(all_pdfs[
0
],
'rb'
)
# 打开第一个PDF文件
merger.append(first_obj)
# 增加到合并的对象中
file_objs
=
[]
for
pdf
in
all_pdfs[
1
:]:
# 读取所有的文件对象
file_objs.append(
open
(pdf,
'rb'
))
for
file_obj
in
file_objs:
reader
=
PyPDF2.PdfFileReader(file_obj)
merger.append(fileobj
=
file_obj, pages
=
(
1
, reader.getNumPages()))
outputStream
=
open
(
'merge-pdfs.pdf'
,
'wb'
)
merger.write(outputStream)
outputStream.close()
for
file_obj
in
file_objs:
# 批量关闭文件句柄
file_obj.close()
if
__name__
=
=
'__main__'
:
main()
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://www.cnblogs.com/ygbh/p/12206929.html 。
最后此篇关于Python PyPDF2模块安装使用解析的文章就讲到这里了,如果你想了解更多关于Python PyPDF2模块安装使用解析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我尝试安装这个包... $ pip search pyPdf PyPDFLite - Simple PDF Writer. pypdfocr
使用它时出现意外错误。第一部分来自我在网上找到的脚本,我试图用它来提取 PDF 大纲中标识的特定部分。一切正常,除了在 output.write(outputfile1)它说: PdfReadErro
Here我找到了用于拆分 pdf 页面的代码。 #!/usr/bin/env python import copy, sys from pyPdf import PdfFileWriter, PdfF
使用 pypdf python 模块如何读取以下 pdf 文件 http://www.envis-icpe.com/pointcounterpointbook/Hindi_Book.pdf # -*-
我是Python新手。我尝试打开pdf文件并将其内容写入新的文本文件。文本文件名称由 pdf 名称生成。到目前为止我已经尝试过,但它没有达到我的预期。我怎样才能实现它 import glob,
我实际上是在使用 pyPdf 打开、读取和写入 PDF 文件的内容。 为此,我使用了这些代码行: from pyPdf import PdfFileWriter, PdfFileReader pdf
按照这个例子,我可以将所有元素列成一个pdf文件 import pyPdf pdf = pyPdf.PdfFileReader(open("pdffile.pdf")) list(pdf.pages)
如果我有 1000 多个 pdf 文件需要合并为一个 pdf, from PyPDF2 import PdfReader, PdfWriter writer = PdfWriter() for i i
我有一个 PDF 文件(A4,纵向布局),我想将其中的每一页分成一半高度。输出文件也应该是A4和纵向布局,但每页的下半部分需要是空白的。 我看到了https://stackoverflow.com/a
我有一个 PDF 文件(A4,纵向布局),我想将其中的每一页分成一半高度。输出文件也应该是A4和纵向布局,但每页的下半部分需要是空白的。 我看到了https://stackoverflow.com/a
我正在运行以下代码来创建一个新的 PDF 文件,其中包含源 PDF 的除第一页之外的所有页面: import os from pyPdf import PdfFileReader, PdfFileWr
这个问题在这里已经有了答案: How can I rotate a page with PyPDF2? (2 个答案) 关闭 12 个月前。 我们有一个简单的脚本来读取传入的 PDF 文件。如果是横
目前,如果我使用 pyPdf 和 extractText() 创建一个 pdf 页面的页面对象,会发生什么行被连接在一起。例如,如果页面的第 1 行说“hello”而第 2 行说“world”,则从
目前我正在研究将 PDF 与 pyPdf 合并,但有时输入的顺序不正确,所以我正在研究抓取每一页的页码以确定它应该进入的顺序(例如,如果有人将一本书分成 20 份 10 页的 PDF,而我想将它们重新
我在 Windows 平台上使用 Python 2.4 和 PyPdf 1.13。我正在尝试使用以下代码将列表中的 PDF 文件合并为一个文件: import os from pyPdf import
我想将几个 PDF 文件合并为一个 PDF 文档。事实证明,输入文件并不完全符合标准。 EOF 标记后跟一些附加信息: >> startxref 1994481 %%EOF %%PPIRoute: 4
我有以下代码: import os from pyPdf import PdfFileReader, PdfFileWriter path = "C:/Real Python/Course mater
我正在尝试将 PDF 的每一页提取为字符串: import pyPdf pages = [] pdf = pyPdf.PdfFileReader(file('g-reg-101.pdf', 'rb')
我正在尝试使用 pyPdf 从多页 PDF 中提取和打印页面。问题是,文本不是从某些页面中提取的。我在这里放了一个示例文件: http://www.4shared.com/document/kmJF6
我正在尝试使用 pyPDF 编写几个 python 脚本,将 PDF 页面拆分为六个单独的页面,正确排序它们(通常正面和背面打印,因此每个其他页面都需要以不同方式排序),并删除结果输出文档末尾的空白页
我是一名优秀的程序员,十分优秀!