批量将当前目录里的所有pdf 转化为png 格式

embedded/2024/11/18 12:07:10/

下面是一个 Python 脚本,可以批量将当前目录中的所有 PDF 文件转换为 PNG 格式,每页 PDF 文件会生成对应的 PNG 图片:

python">import os
from pdf2image import convert_from_path# 指定当前目录
directory = os.getcwd()# 获取当前目录中所有的 PDF 文件
pdf_files = [f for f in os.listdir(directory) if f.endswith('.pdf')]# 创建输出文件夹
output_folder = os.path.join(directory, 'output_png')
os.makedirs(output_folder, exist_ok=True)# 批量转换 PDF 文件为 PNG
for pdf_file in pdf_files:pdf_path = os.path.join(directory, pdf_file)# 将 PDF 转换为一组图像,每页一个images = convert_from_path(pdf_path, dpi=300)# 保存每页的 PNG 图像for i, image in enumerate(images):image_name = f"{os.path.splitext(pdf_file)[0]}_page_{i + 1}.png"image_path = os.path.join(output_folder, image_name)image.save(image_path, 'PNG')print(f"Saved: {image_path}")print("PDF to PNG conversion completed!")

说明

  • 依赖库:该脚本需要 pdf2image 库,您可以通过以下命令安装:
    pip install pdf2image
    
  • 输出文件夹脚本将在当前目录中创建一个 output_png 文件夹,并将转换后的 PNG 文件保存到该文件夹中。
  • DPIdpi=300 控制图片的分辨率,可以根据需要调整。

http://www.ppmy.cn/embedded/138531.html

相关文章

游戏引擎学习第13天

视频参考:https://www.bilibili.com/video/BV1QQUaYMEEz/ 改代码的地方尽量一张图说清楚吧,懒得浪费时间 game.h #pragma once #include <cmath> #include <cstdint> #include <malloc.h>#define internal static // 用于定义内翻译单元内部函数 #…

【springboot】启动原理

目录 1. 说明2. 启动类与注解3. SpringApplication的构建与服务类型确定4. 启动流程5. 自动配置与Bean实例化6. 启动内嵌服务器 1. 说明 1.Spring Boot的启动原理是一个复杂而又精妙的流程&#xff0c;它涉及多个组件和步骤的协同工作。 2. 启动类与注解 1.Spring Boot应用通…

【更新中】《硬件架构的艺术》笔记(三):处理多个时钟

介绍 单时钟设计更易于实现&#xff0c;也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中&#xff0c;很少有设计只在一个时钟下运行。 多时钟域 多个始终可以有以下一种或多种时钟关系&#xff1a; 1、时钟频率不同。 2、时钟频率相同&#xff0c;但相位不同…

【GNU】gcc -O编译选项 -Og -O0 -O1 -O2 -O3 -Os

1、gcc -O的作用 GCC 提供的 -O 系列选项用于优化代码。这些选项可以控制编译器对代码进行优化的程度和类型&#xff0c;从而提高代码的性能、减小代码体积或优化其他特性。 2、gcc -Og -O0 -O1 -O2 -O3 -Os 2.1 gcc -Og 启用调试友好的优化&#xff0c;平衡调试器功能与性…

JAVA-链表

1.链表的概念及结构 链表是一种物理存储结构上非连续存储结构(逻辑上连续)&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 注意&#xff1a; 根据上图可看出&#xff0c;链表是在逻辑结构连续的&#xff0c;但是在物理结构上不一定现实中的结点一般都是通…

嵌入式开发人员如何选择合适的开源前端框架进行Web开发

在嵌入式系统的Web开发中&#xff0c;前端框架的选择对于项目的成败有着决定性的影响。一个合适的框架不仅能提高开发效率&#xff0c;还能保证系统的稳定性和可扩展性。本文将介绍几款适用于嵌入式Web开发的开源前端框架&#xff0c;并探讨它们的优缺点。 1. Element Plus V…

C++:boost库安装

官网&#xff1a;https://www.boost.org/ Boost 库在 C 社区中广受欢迎&#xff0c;主要因为它提供了丰富、强大且稳定的功能&#xff0c;可以显著提高开发效率和代码质量。下面是使用 Boost 库的主要优势和特点&#xff1a; 1. 丰富的功能集合 Boost 提供了数十个高质量的 …

macOS解决U盘装完系统容量变小的问题

发现原来256GB容量的U盘在mac电脑上只显示34GB&#xff0c;想起来之前用该U盘装过系统&#xff0c;最终搜到了以下解决方案&#xff0c;在此记录&#xff1a; (1) 查看盘符列表&#xff0c;找到需要格式化的U盘&#xff0c;假设为disk4 diskutil list(2) 卸载分区disk4 disk…