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旋转角度

python 复制代码
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)
相关推荐
橙光成长1 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
小oo呆3 小时前
【学习心得】Python多线程
python
happylifetree7 小时前
Python70:核心语法-函数进阶-案例2
python
梓豪csd7 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go7 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳7 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
Sakura_j_h_8 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
supabc1239 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi10 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent
ZhengEnCi10 小时前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
python·llm·agent