开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边及循环遍历文件夹全量压缩图片

news2024/11/24 12:16:57

今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具

一、开发背景:

业务需要将一个pdf文件展示在前端显示,但是基于各种原因,放弃了h5使用插件展示
原因有多个,文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果不好、pdf字体有时缺失等等,所以将项目中的协议等,全部由pdf文档转成图片,因为文档太多,不可能找UI同学一个一个截图,所以我就基于python代码写了三个工具。方便快捷的实现了
需求

一、多个pdf 一键转图片,并且按照pdf文件名自动新建文件夹,然后图片名字也按照文件夹名称自动加序号,方便展示。这样只需要把文件夹一并拖到CDN或者OSS或者ftp文件服务器上,写个循环遍历就可以将图片展示出来。

在这里插入图片描述

二、图片转好之后就需要文件压缩,这里使用gulp,一个命令将文件夹下的所有文件直接压缩。

在这里插入图片描述

三、图片压缩好之后需要将图片上没用的边框删除掉,这样一是减小体积,二是展示在前端字体会大一些,并且好看些。然后本人就用python代码实现了这一功能,一行命令直接将文件夹下所有图片截图去掉白边。

在这里插入图片描述

代码都整理好了,需要的请自行下载

点击下载三个工具

如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!💕💕💕😘😘😘 本文由Butterfly一键发布工具发布

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于nsight_compute进行kernel性能分析

当利用nsight进行性能分析时,当涉及到内核级别的性能分析时,nvidia提供了系统级别(nsight system),和内核级别的性能分析工具(nsight compute)。 其中,内核级别的性能分析,可以检查kernel实现的…

apollo规划架构

算法的基本架构 我们在最开始直接给出规划决策算法架构框图,然后一一介绍每个框图结构的细节: 模块的入口是 PlanningComponent,在 Cyber 中注册模块,订阅和发布消息,并且注册对应的 Planning 类。Planning 的过程之前…

基于SpringBoot+Vue教材订购系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

DNF手游攻略:云手机辅助流光星陨刀详细攻略大全!

DNF手游中,流光星陨刀是鬼剑士的专属神器之一,拥有快速的攻击速度和优秀的物理与法术攻击属性,因其出色的性能和未来升级的潜力,成为广大玩家关注的焦点。 流光星陨刀的背景与起源 流光星陨刀作为鬼剑士的标志性武器之一&#xf…

使用 Ubuntu x86_64 平台交叉编译适用于 Linux aarch64(arm64) 平台的 QT5(包含OpenGL支持) 库

使用 Ubuntu AMD64 平台交叉编译适用于 Linux ARM64 平台的 QT5(包含 OpenGL/WebEngine 支持) 库 目录 使用 Ubuntu AMD64 平台交叉编译适用于 Linux ARM64 平台的 QT5(包含 OpenGL/WebEngine 支持) 库写在前面前期准备编译全流程1. 环境搭建2. 复制源码包并解压,创…

论文《Universal Graph Convolutional Networks》笔记

【UGCN】论文提出一个基本问题,即是否不同的网络结构属性应该采用不同的传播机制。通过实验发现,对于完全同配性、完全异配性和随机性的网络,1-hop、2-hop和k-nearest neighbor(kNN)邻居分别更适合作为信息传播的邻域。…

stm32学习笔记---GPIO输出(理论部分)

目录 GPIO通用输入输出口 GPIO的基本结构 I/O端口位的基本结构 输入部分 输出部分 推挽模式 开漏模式 GPIO的8种工作模式 STM32手册GPIO和AFIO大致介绍 STM32外部的设备和电路 声明:本专栏是本人跟着B站江科大的视频的学习过程中记录下来的笔记&#xff0…

CISP-PTE综合靶机-WinServer2003

1.收集网站的地址和开放的端口,完成前期信息收集。10分 2.访问站点,找出站点的敏感文件,利用返回数据找到相关敏感信 息,完成网站结构的信息收集。10分 3.利用文件包含漏洞读取敏感文件,找出数据库连接凭证,利用此 凭证连接数据库。10分 4.网站后台提权:找出后台管理员登…

Attention系列总结-粘贴自知乎

1. 梦想做个翟老师:阿里:Behavior Sequence Transformer 解读48 赞同 7 评论文章 优点:捕捉用户行为历史序列中的顺序信息。w2v也是捕捉用户序列信息的,本质差异在于啥? 添加图片注释,不超过 140 字(可选&#xff0…

STM32CubeIDE提示找不到头文件(No such file or directory)的解决办法

0 前言 最近在使用STM32CubeIDE时,发现为工程添加了头文件路径,但编译的时候还是报错,提示找不到头文件: 1 解决办法 1.1 为工程添加头文件路径 右键我们的工程,然后添加头文件路径(最好是相对路径&am…

Vue3+TypeScript项目实战——打造雨雪交加的智慧城市

个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 &#x1…

C# SerialPort串口通讯

串口通信 在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。 创建C#串口通信程序之命名空间 System.IO.Ports命名空间中最重…

【跟我学RISC-V】(三)openEuler特别篇

写在前面 这篇文章是跟我学RISC-V指令集的第三期,距离我上一次发文已经过去一个多月了,在这个月里我加入了oerv的实习项目组,并且还要准备期末考试,比较忙,所以更新频率不高,不过对于Linux kernel和RISC-V…

vue修改node_modules打补丁步骤和注意事项_node_modules 打补丁

1、vue-pdf问题解决及patch-package简介:https://www.jianshu.com/p/d1887e02f8d6 2、使用“黑魔法”优雅的修改第三方依赖包:https://zhuanlan.zhihu.com/p/412753695 3、使用patch-package定制node_modules中的依赖包:https://blog.csdn.…

macbook配置adb环境和用adb操作安卓手机

(参考:ADB工具包的安装与使用_adb工具箱-CSDN博客) 第一步:从Android开发者网站下载Android SDK(软件开发工具包)。下载地址为: 第二步:解压下载的SDK压缩文件到某个目录中。 进入解…

Python 数据可视化 多色散点图

Python 数据可视化 多色散点图 fig, ax plt.subplots() max_line max([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) min_line min([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) ax.plot([min_line, max_line], [min_line, …

基于JSP的教学质量评价系统

开头语: 你好,我是计算机学长猫哥。如果您对教学质量评价系统感兴趣或有相关需求,欢迎随时联系我。 开发语言: Java 数据库: MySQL 技术: JSP技术 Java语言 工具: MyEclipse、Tomcat服…

基于JSP的“塞纳河畔左岸”的咖啡馆管理系统

开头语: 塞纳河畔左岸的咖啡,我手一杯品尝的你美~ 哎哟,不错哦!我们今天来介绍一下咖啡馆管理系统! 你好呀,我是计算机学长猫哥!如果你对咖啡馆管理系统感兴趣或有相关需求,欢迎联…

基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目

大家好,我是码农先森。 引言 前几年,娱乐物联网的热度很高。我当时所在的公司启动了一个将线下娃娃机的玩法,迁移到线上的项目,因此公司决定开发一个在线直播抓娃娃的项目。近来,娱乐物联网的领域已经进入资本的寒冬…

小白学-WEBGL

第一天&#xff1a; 1.canvas和webgl的区别 Canvas 和 WebGL 都是用于在网页上绘制图形的技术&#xff0c;它们通过浏览器提供的 API 使开发者能够创建丰富的视觉内容&#xff0c;但它们的工作原理和用途有所不同。 Canvas Canvas API 提供了一个通过 JavaScript 和 HTML <…