Python批量提取pdf首页并合并为一个文件

前情提要:python安装pypdf2包

pip install pypdf2

第一种:既需要每一个单独的首页,也需要将首页合并。

整体操作思路,将文件夹下面原本的每一个pdf获取第一页,然后再写出,将其放在FirstPage文件夹下。再读取FirstPage文件夹下面的所有首页的pdf,将其合并为一个文件。

from PyPDF2 import PdfReader, PdfWriter,  PdfMerger
import os

# 切换到pdf所在工作目录
os.chdir("D:/个人工作/paper202403")
#在上级目录新建一个文件夹
os.mkdir("../FirstPages")

#循环生成第一页PDF
for _ in os.listdir():
    origin_file = PdfReader(_)
    first_page = PdfWriter()
    first_page.add_page(origin_file.pages[0] )
    with open("../FirstPages/{}".format(_), "wb") as f:
        first_page.write(f)

#定义即将读取的指定PDF文件路径,注意文件的顺序,正斜杠/
target_path = '../FirstPages'

pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]

# 合并pdf文件
file_merger = PdfMerger()
for pdf in pdf_lst:
    file_merger.append(pdf)
# 合并pdf文件,并输出到指定路径
file_merger.write("../FirstPages/1_outputMerge.pdf")

第二种:只需要一个首页合并,不需要单独的首页。直接在一个Pdfwriter里add所有的首页,然后输出即可。

from PyPDF2 import PdfReader, PdfWriter
import os


# 切换到pdf所在工作目录
os.chdir("D:/个人工作/paper202403")
#在上级目录新建一个文件夹
os.mkdir("../2FirstPages")

#循环读取文件夹下所有pdf首页,全部添加在first_page中
first_page = PdfWriter()
for _ in os.listdir():
    origin_file = PdfReader(_)
    first_page.add_page(origin_file.pages[0] )  
#写出first_page中所有首页信息
with open("../2FirstPages/2_outputMerge.pdf", "wb") as f:
    first_page.write(f)

相关推荐

  1. Python批量提取pdf合并一个文件

    2024-03-29 19:32:03       43 阅读
  2. Python合并两个PDF文件一个PDF

    2024-03-29 19:32:03       57 阅读
  3. 使用Python合并PDF文件添加自定义目录及

    2024-03-29 19:32:03       259 阅读
  4. python读取pdf表格合并excel

    2024-03-29 19:32:03       39 阅读
  5. PDF合并】利用 Python 合并 PDF 文件

    2024-03-29 19:32:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 19:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 19:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 19:32:03       82 阅读
  4. Python语言-面向对象

    2024-03-29 19:32:03       91 阅读

热门阅读

  1. linux 常用命令整理

    2024-03-29 19:32:03       39 阅读
  2. AI分层架构设计思想

    2024-03-29 19:32:03       43 阅读
  3. 速盾:cdn配置ssl

    2024-03-29 19:32:03       33 阅读
  4. 智能消息推送SDK产品:移动APP拉新促活的利器

    2024-03-29 19:32:03       43 阅读
  5. C# —— 系统学习(控制结构)

    2024-03-29 19:32:03       42 阅读
  6. 使用OpenSSL指令测试椭圆曲线签名算法ECDSA

    2024-03-29 19:32:03       33 阅读
  7. 知识图谱智能问答系统技术实现

    2024-03-29 19:32:03       40 阅读
  8. python读取ply文件

    2024-03-29 19:32:03       39 阅读
  9. union在c语言中什么用途

    2024-03-29 19:32:03       46 阅读