Python自动化小技巧23 您所在的位置:网站首页 怎么把pdf文件分页保存 Python自动化小技巧23

Python自动化小技巧23

2024-06-10 12:15| 来源: 网络整理| 查看: 265

其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。

至于为什么不用WPS.....别问,问就是不想开会员。

脚本代码

先安装PyMuPDF库,

pip install PyMuPDF

代码: 

import fitz # PyMuPDF def split_pdf(input_pdf, output_folder): pdf_document = fitz.open(input_pdf) for page_num in range(pdf_document.page_count): page = pdf_document[page_num] # 构建输出文件名,以页数命名 output_pdf = f"{output_folder}/Page_{page_num + 1}.pdf" # 创建一个新的Document对象,包含当前页面 new_pdf = fitz.open() new_pdf.insert_pdf(pdf_document, from_page=page_num, to_page=page_num) # 保存单独的PDF文件 new_pdf.save(output_pdf) new_pdf.close() pdf_document.close() if __name__ == "__main__": input_pdf = "157-GGCG[2021]157成套门--武汉******有限公司356996.80.pdf" output_folder = "C:\\Users\\cx\\Desktop\\pdf" split_pdf(input_pdf, output_folder)

把输入路径和输出路径都改一下就行了,整个PDF就会被拆分为一页一页的单独的文件。

如果只需要某一页的话,按照文件名拿出来就行。

需要某些面的话,按照PyMuPDF的语法改就行。

其他用法:

PyMuPDF(也称为fitz)是一个强大的Python库,用于处理PDF文件。除了拆分PDF文件,它还提供了许多其他常用的方法和功能。以下是一些常见的PyMuPDF方法和用法示例:

提取文本内容:

使用get_page_text方法可以提取PDF页的文本内容。以下是一个示例:

import fitz def extract_text_from_pdf(pdf_file): pdf_document = fitz.open(pdf_file) text = "" for page_num in range(pdf_document.page_count): page = pdf_document[page_num] text += page.get_text() pdf_document.close() return text pdf_text = extract_text_from_pdf("your_pdf.pdf") print(pdf_text)

获取页面信息:

您可以使用get_page_info方法来获取PDF页的信息,如大小和旋转。以下是一个示例:

import fitz def get_page_info(pdf_file): pdf_document = fitz.open(pdf_file) for page_num in range(pdf_document.page_count): page = pdf_document[page_num] page_info = page.get_page_info() print(f"Page {page_num + 1}: Size={page_info['size']}, Rotation={page_info['rotate']}") get_page_info("your_pdf.pdf")

旋转页面:

您可以使用set_rotation方法来旋转PDF页面。以下是一个示例:

import fitz def rotate_page(pdf_file, page_num, degrees): pdf_document = fitz.open(pdf_file) page = pdf_document[page_num - 1] page.set_rotation(degrees) pdf_document.save("rotated_pdf.pdf") pdf_document.close() rotate_page("your_pdf.pdf", 1, 90) # 将第一页旋转90度

插入页面:

使用insert_pdf方法可以将一个PDF文件的页面插入到另一个PDF文件中。以下是一个示例:

import fitz def insert_page(source_pdf, target_pdf, page_num): source_document = fitz.open(source_pdf) target_document = fitz.open(target_pdf) target_document.insert_pdf(source_document, from_page=page_num - 1, to_page=page_num - 1) target_document.save("merged_pdf.pdf") source_document.close() target_document.close() insert_page("insert.pdf", "target.pdf", 2) # 将insert.pdf的第二页插入到target.pdf中

这些示例展示了PyMuPDF的一些常见用法。PyMuPDF还提供了许多其他功能,如合并PDF、添加注释、提取图像等等。您可以根据需要查阅PyMuPDF的文档以了解更多详细信息和用法。

咱也不装,这都是chatgpt写的....但是很对,是有用的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有