PDF颜色翻转以方便打印处理
用于将黑色背景的pdf笔记转成白色背景,方便打印
使用到PyMuPDF库
pip install PyMuPDF
代码如下
import datetime
import osfrom PIL import Image
import PIL.ImageOps
import globimport fitzdef pyMuPDF_fitz(pdfPath, imagePath):startTime_pdf2img = datetime.datetime.now() # 开始时间print("imagePath=" + imagePath)pdfDoc = fitz.open(pdfPath) # 打开pdffor pg in range(pdfDoc.pageCount):page = pdfDoc[pg] #取出指定页rotate = int(0) # 不进行旋转# 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。# 此处若是不做设置,默认图片大小为:792X612, dpi=96zoom_x = 5 zoom_y = zoom_xmat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)pix = page.getPixmap(matrix=mat, alpha=False)img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)img = PIL.ImageOps.invert(img)if not os.path.exists(imagePath): # 判断存放图片的文件夹是否存在os.makedirs(imagePath) # 若图片文件夹不存在就创建img.save(imagePath + '/' + 'images_%s.png' % pg, "PNG")print("<<转换进度>>\t"+str(100*pg/pdfDoc.pageCount)+"%", flush=True)endTime_pdf2img = datetime.datetime.now() # 结束时间print('pdf转换时间=', (endTime_pdf2img - startTime_pdf2img).seconds)def pic2pdf(imagePath, newPath):doc = fitz.open()for img in sorted(glob.glob(imagePath + "/*")): # 读取图片,确保按文件名排序print("添加页面"+str(img))imgdoc = fitz.open(img) # 打开图片pdfbytes = imgdoc.convertToPDF() # 使用图片创建单页的 PDFimgpdf = fitz.open("pdf", pdfbytes)doc.insertPDF(imgpdf) # 将当前页插入文档if os.path.exists(newPath):os.remove(newPath)doc.save(newPath) # 保存pdf文件doc.close()if __name__ == "__main__":pdfPath = "实分析.pdf"imagePath = "实分析"newPath = "new实分析.pdf"pyMuPDF_fitz(pdfPath, imagePath)pic2pdf(imagePath,newPath)
用法:直接改路径名就好
效果:
下面是原PDF页面
下面是反色后的PDF页面
PDF颜色翻转以方便打印处理相关推荐
- Canvas 渐变 图像组合效果 颜色翻转
// canvas 简单例子 var canvas = document.getElementById('canvas'); if (canvas.getContext) {var context = ...
- 批量打印pdf并合并_CAD批量打印攻略
小明经常因为要转上千张PDF,而转到裂开 所以又菜手又懒的他,开始想办法了 如图,有4张不同幅面的图纸需要转PDF 首先安装打图精灵,通过qp命令呼出界面 (首次可能需要输入全命令qplot,再次使用 ...
- Winform 打印PDF顺序混乱,获取打印队列
Winform 打印PDF顺序混乱,获取打印队列 原文:Winform 打印PDF顺序混乱,获取打印队列 工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实 ...
- 【扫描PDF】如何将颜色淡的扫描PDF颜色变深,便于阅读??PDF中文字太淡怎么加深?汇总网上已有的方法,一波小结
一.问题背景 如果你扫描得到的PDF,像下图一样文字颜色非常淡,看起来不舒服,需要加深处理,就烦请看我下面的几个解决方法,都是从网上汇总得到,加上自己的实践和体会总结. 二.Adobe Acrobat ...
- python+opencv+图像特效(图像灰度处理、颜色翻转、图片融合,边缘检测,浮雕效果,颜色映射)
原图 图像灰度处理 #方式1 import cv2 #读取彩色原图 img0=cv2.imread('E:/python_cv/01.jpg',1) #读取灰度图 img1=cv2.imread('E ...
- A3 PDF 转 A4两页 打印
幺儿网课考试了,学校发给家长PDF的试卷.试卷是A3幅面的,家里只有A4的激光打印机.用软件可以简单实现高清的A3 转 A4两页 打印. 用福昕高级PDF编辑器,就是正常版本,不需要激活.用里面的截图 ...
- pdf打印机下载后如何打印成pdf文件
我们上班的时候,都会用到打印机的,如果我们不方便买打印机的话,可以用虚拟的啊,那么pdf打印机下载后如何打印成pdf文件,别急,我这就告诉你. 1.在百度中去搜索软件关键词迅捷PDF虚拟打印机,然后进 ...
- python实现浮雕效果的原理_python+opencv+图像特效(图像灰度处理、颜色翻转、图片融合,边缘检测,浮雕效果,颜色映射)...
原图 图像灰度处理 #方式1 import cv2 #读取彩色原图 img0=cv2.imread('E:/python_cv/01.jpg',1) #读取灰度图 img1=cv2.imread('E ...
- pdf两页合一页打印_如何在Linux上的HP多合一打印机中配置扫描仪?
pdf两页合一页打印 The hplip packages contains all the tools you need to set up the HP scanner. For scanning ...
- 关于html页面展现pdf文件,并隐藏打印、下载等按钮的总结
关于html页面展现pdf文件,并隐藏打印.下载等按钮的总结 由于项目需求,要在页面预览pdf文件而不能提供下爱打印功能,故在网上查询了一些前辈的经验,自己也尝试了一番,现在讲经验总结一下. pdfo ...
最新文章
- 士兵杀敌(二)(线段树+树状数组)
- getAndIncrement中使用cas
- python批处理栅格转点_python获取栅格点和面值的实现
- Windows Phone 7中使用PhoneApplicationService类保存应用程序状态
- (89)FPGA除法器设计
- winform利用html开发,Winform开发框架之HTML编辑控件介绍
- Elasticsearch(Transport Client)常用操作
- Python基础综合训练三(tkinter牛刀小试)
- 2022(一等奖)B360基于Arcpy与SVM的滑坡易发性评价
- 获取计算机管理员,获取administrator权限的方法步骤-电脑自学网
- 小故事大道理——生存方略
- 添加网络计算机后打印乱码,Windows7系统打印机无法打印出现乱码的解决方法
- android关机重启流程代码
- FlutterWeb性能优化探索与实践
- nginx 配置 同一域名端口下,根据URL 导向不同的项目目录
- excel与access结合运用_当excel不够用时,如何利用Access进行数据分析?
- c语言程序设计实验与案例数组,新书推荐 | C语言程序设计+实验与题解
- 数据时代的我们,应该怎么挖掘数据价值
- 海康威视工业相机海康机器人 Python开发采集数据、保存照片PyQt显示
- 【数理知识】曲率 curvature,主曲率 principal curvature,高斯曲率 Gaussian curvature,平均曲率 mean curvature
热门文章
- html留言功能怎么实现,javascript实现留言板功能
- EasyClick Html UI 第十四节 CSS 盒子模型
- 无源蜂鸣器c语言编程,电磁式蜂鸣器驱动原理与简单蜂鸣器编程及电路设计案例...
- PHP 如何使用Mobile Detect来判断访问网站的设备 安卓,平板,电脑
- win7电脑设备序列号怎么查_win7硬盘序列号怎么看|win7查看硬盘序列号的方法
- SAP接口编程 之 JCo3.0系列:JCoDestination
- hive教程:第一次使用sql
- python高维数据可视化_【机器学习】(十六)主成分分析PCA:高维数据可视化、特征提取...
- 基于Qt5实现的截图工具分享(仿QQ截图功能)
- 新零售场景下数字化营销运营管理方案