python+PyMuPDF库:(三)pdf文件的选择性合并、其他格式文件转pdf
insert_file: 支持docx、xlsx、pdf、PPTX、txt、svg、xps、FB2、CBZ、EPUB、MOBI、HWPX、图片等多种格式的文件的插入。利用此方法可以将此类文件转为pdf格式的文件。
insert_pdf :用来打开pdf文件并插入。
insert_file和insert_pdf使用相同的参数,常用参数如下:
# from_page,to_page 要截取的开始页和终止页,默认为-1,表示所有页
# start_at 要插入到某页,默认-1,表示最后一页
# rotate旋转角度
from time import time
import fitz
def merge_pdf(pdf_path, pdf_names: list):
new_doc = fitz.open()
new_doc.insert_file(r'E:\桌面\1.jpg')
for i, name in enumerate(pdf_names):
file_full_path = rf'{pdf_path}\{name}'
pdf_document = fitz.open(file_full_path)
if i == 0:
new_doc.insert_pdf(pdf_document, from_page=1, to_page=3, rotate=90, final=2)
else:
new_doc.insert_pdf(pdf_document, from_page=1, to_page=3, start_at=i, rotate=90, final=3)
pdf_document.close()
new_doc.save(rf'{pdf_path}\{int(time())}.pdf')
new_doc.close()
if __name__ == '__main__':
pdf_path = r'E:\桌面'
pdf_names = ['91.pdf', '7.pdf', '90.pdf']
merge_pdf(pdf_path, pdf_names)