其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。
至于为什么不用WPS.....别问,问就是不想开会员。
脚本代码
先安装PyMuPDF库,
pip install PyMuPDF
代码:
import fitz # PyMuPDFdef 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 fitzdef 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 textpdf_text = extract_text_from_pdf("your_pdf.pdf") print(pdf_text)
-
获取页面信息:
您可以使用
get_page_info
方法来获取PDF页的信息,如大小和旋转。以下是一个示例:import fitzdef 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 fitzdef 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 fitzdef 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写的....但是很对,是有用的。