[python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

最近在写论文的实验部分,由于latex需要pdf格式的文档,审稿专家需要对pdf图片进行裁剪放大,以保证图片质量。

原图:
在这里插入图片描述

裁剪后的图像:

请添加图片描述

代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1),
(x2, y2) 分别代表裁剪框的像素位置。

import os
import PyPDF2
from PIL import Imagedef crop_and_save_pdf(input_folder, output_folder, x1, y1, x2, y2):# Ensure output folder existsif not os.path.exists(output_folder):os.makedirs(output_folder)# Process each PDF file in the input folderfor filename in os.listdir(input_folder):if filename.endswith(".pdf"):input_pdf_path = os.path.join(input_folder, filename)output_png_path = os.path.join(output_folder, os.path.splitext(filename)[0] + ".png")output_pdf_path = os.path.join(output_folder, os.path.splitext(filename)[0] + ".pdf")with open(input_pdf_path, 'rb') as file:pdf_reader = PyPDF2.PdfReader(file)pdf_writer = PyPDF2.PdfWriter()for page_num in range(len(pdf_reader.pages)):page = pdf_reader.pages[page_num]page.cropbox.lower_left = (x1, y1)page.cropbox.upper_right = (x2, y2)pdf_writer.add_page(page)with open(output_pdf_path, 'wb') as output_file:pdf_writer.write(output_file)# Convert the first page to PNG format for visualization# first_page = Image.open(output_pdf_path)# first_page.save(output_png_path, 'PNG')# Specify input and output folders, and crop coordinates
input_folder = '/home/lxy/data_link2/evaluate/clip/HU_Compare'
output_folder = '/home/lxy/data_link2/evaluate/clip/HU_Compare2'
x1, y1 = 50, 400  # Left bottom coordinates
x2, y2 = 130, 550  # Right top coordinates# Call the function to crop and save PDF pages as PNG
crop_and_save_pdf(input_folder, output_folder, x1, y1, x2, y2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413822.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】排序算法:冒泡排序,冒泡排序优化,选择排序、选择排序优化

目录 一、冒泡排序 1、冒泡排序思想 2、冒泡排序算法的性能分析 代码实现: 二、选择排序 1、选择排序思想 2、选择排序算法的性能分析 代码实现: 一、冒泡排序 1、冒泡排序思想 冒泡排序的基本思想是通过相邻元素之间的比较和交换来逐步将最大…

IP地址转换:点分十进制数与十进制数

目录 引言一、十进制转换为IP地址1.思路2.示例代码 二、IP地址转换为十进制数1.思路2.示例代码 引言 这个ip地址互换考的还是比较多的,尤其是你做网络方面的工作的话,这肯定是会问你的。本文主要介绍了一个十进制数与点分十进制的ip地址互换的过程。话不…

【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南

这里写目录标题 EasyExcel教程Maven依赖 EasyExcel API分析介绍EasyExcel 注解通用参数ReadWorkbook(理解成excel对象)参数ReadSheet(就是excel的一个Sheet)参数注解参数通用参数 WriteWorkbook(理解成excel对象&#…

DBA技术栈MongoDB:简介

1.1 什么是MongoDB? MongoDB是一个可扩展、开源、表结构自由、用C语言编写且面向文档的数据库,旨在为Web应用程序提供高性能、高可用性且易扩展的数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当…

【前端设计】输入框

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

Redis--Zset使用场景举例(滑动窗口实现限流)

文章目录 前言什么是滑动窗口zset实现滑动窗口小结附录 前言 在Redis–Zset的语法和使用场景举例&#xff08;朋友圈点赞&#xff0c;排行榜&#xff09;一文中&#xff0c;提及了redis数据结构zset的指令语法和一些使用场景&#xff0c;今天我们使用zset来实现滑动窗口限流&a…

蓝天采集器,功能逆天的网站数据抓取神器,轻松助你成为采集达人,附带搭建配置文档

源码介绍 蓝天采集器是一款专为web服务器打造的数据采集神器。与市面上常见的桌面端采集工具&#xff08;如火车头等&#xff09;相比&#xff0c;蓝天采集器在易用性、上手成本和灵活性方面更胜一筹。它部署简便&#xff0c;无需复杂的设置&#xff0c;即可迅速融入您的web服…

python统计分析——样本均值的分布(上)

参考资料&#xff1a;用python动手学统计学 1、导入库 import numpy as np import pandas as pd import scipy as sp from scipy import statsfrom matplotlib import pyplot as plt import seaborn as sns 2、设置总体 本次研究总体是均值为4、标准差为0.8的正态总体。 po…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-热门帖子推荐显示实现

锋哥原创的SpringbootLayui python222网站实战&#xff1a; python222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程&#xff08;SpringBootPython爬虫实战&#xff09; ( 火…

每日一题——LeetCode1266.访问所有点的最小时间

方法一 个人方法 找规律&#xff1a; 当前的点为current&#xff0c;下一个点为next&#xff0c;x为两点横坐标之间距离&#xff0c;y为两点竖坐标之间距离 1、当两点横坐标相同时&#xff0c;两点距离为y 2、当两点竖坐标相同时&#xff0c;两点距离为x 3、当两点x与y相同…

回归预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SSA-BP麻雀算法优化BP神经网络多变量回归预测&#xff1b; 2.数据…

UML-实现图(组件图和部署图)

实现图是从系统的层次来描述的&#xff0c;描述硬件的组成和布局&#xff0c;描述软件系统划分和功能实现。 UML-实现图&#xff08;组件图和部署图&#xff09; 一、组件图1.组件图的元素&#xff08;1&#xff09;组件&#xff08;2&#xff09;接口&#xff08;3&#xff09…