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)
相关推荐
0566462 小时前
agent学习Day15——SQLAlchemy 查询过滤、分页与历史列表接口
python·学习·fastapi
程序员爱德华3 小时前
Python与C++:异同点对比
c++·python
hangyuekejiGEO4 小时前
GEO技术服务选型指南
大数据·人工智能·python
软萌萌的14 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
专业贴准5 小时前
苏州SMT供料器设备选型分析:本地主流自动化企业技术特点与行业趋势
人工智能·自动化·制造
Dxy12393102165 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
技术深耕者6 小时前
AI Agent从演示到生产:企业进入“自动化层”时代
运维·人工智能·自动化
持敬chijing6 小时前
Python概述
开发语言·python
APItesterCris8 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化