其实编辑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的文档以了解更多详细信息和用法。文章来源:https://www.toymoban.com/news/detail-731067.html
咱也不装,这都是chatgpt写的....但是很对,是有用的。文章来源地址https://www.toymoban.com/news/detail-731067.html
到了这里,关于Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!