当前位置: 首页 > article >正文

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)

http://www.kler.cn/a/465607.html

相关文章:

  • LangChain 介绍
  • C++多态(八股总结)
  • 完全分布式部署Hadoop集群
  • 框架Tensorflow2
  • Elasticsearch与数据库数据一致性:最佳实践与解决方案
  • 如何在 VSCode 中配置 C++ 开发环境:详细教程
  • React Class 组件与函数组件全方位对比
  • 网关的主要类型和它们的特点
  • [网络安全] DVWA之 Open HTTP Redirect 攻击姿势及解题详析合集
  • AI机器人与政务服务机器人的服务局限问题分析
  • vue2、element的el-select 选项框的宽度设置、文本过长问题
  • 企业微信——智能表格学习
  • 实战项目模块之1------单个按键短按切换不同工作模式
  • 《HarmonyOS第一课》焕新升级,赋能开发者快速掌握鸿蒙应用开发
  • 【前端系列】Pinia状态管理库
  • 测试岗位面试常见的数据库问题及解答
  • gitlab高级功能之 CICD Steps
  • 微前端Webpack集成Vite子应用避坑指南
  • 微信小程序获取后端数据
  • PS4代理伺服器指南
  • JavaScript 基础2
  • 【网络安全】PostMessage:分析JS实现XSS
  • .e01, ..., .e0n的分卷压缩包怎么解压
  • 多目标优化算法——基于分解的多目标进化算法(MOEA-D)
  • [C++]vector(超详细)
  • Docker入门常用命令总结