用于将黑色背景的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颜色翻转以方便打印处理相关推荐

  1. Canvas 渐变 图像组合效果 颜色翻转

    // canvas 简单例子 var canvas = document.getElementById('canvas'); if (canvas.getContext) {var context = ...

  2. 批量打印pdf并合并_CAD批量打印攻略

    小明经常因为要转上千张PDF,而转到裂开 所以又菜手又懒的他,开始想办法了 如图,有4张不同幅面的图纸需要转PDF 首先安装打图精灵,通过qp命令呼出界面 (首次可能需要输入全命令qplot,再次使用 ...

  3. Winform 打印PDF顺序混乱,获取打印队列

    Winform 打印PDF顺序混乱,获取打印队列 原文:Winform 打印PDF顺序混乱,获取打印队列 工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实 ...

  4. 【扫描PDF】如何将颜色淡的扫描PDF颜色变深,便于阅读??PDF中文字太淡怎么加深?汇总网上已有的方法,一波小结

    一.问题背景 如果你扫描得到的PDF,像下图一样文字颜色非常淡,看起来不舒服,需要加深处理,就烦请看我下面的几个解决方法,都是从网上汇总得到,加上自己的实践和体会总结. 二.Adobe Acrobat ...

  5. python+opencv+图像特效(图像灰度处理、颜色翻转、图片融合,边缘检测,浮雕效果,颜色映射)

    原图 图像灰度处理 #方式1 import cv2 #读取彩色原图 img0=cv2.imread('E:/python_cv/01.jpg',1) #读取灰度图 img1=cv2.imread('E ...

  6. A3 PDF 转 A4两页 打印

    幺儿网课考试了,学校发给家长PDF的试卷.试卷是A3幅面的,家里只有A4的激光打印机.用软件可以简单实现高清的A3 转 A4两页 打印. 用福昕高级PDF编辑器,就是正常版本,不需要激活.用里面的截图 ...

  7. pdf打印机下载后如何打印成pdf文件

    我们上班的时候,都会用到打印机的,如果我们不方便买打印机的话,可以用虚拟的啊,那么pdf打印机下载后如何打印成pdf文件,别急,我这就告诉你. 1.在百度中去搜索软件关键词迅捷PDF虚拟打印机,然后进 ...

  8. python实现浮雕效果的原理_python+opencv+图像特效(图像灰度处理、颜色翻转、图片融合,边缘检测,浮雕效果,颜色映射)...

    原图 图像灰度处理 #方式1 import cv2 #读取彩色原图 img0=cv2.imread('E:/python_cv/01.jpg',1) #读取灰度图 img1=cv2.imread('E ...

  9. pdf两页合一页打印_如何在Linux上的HP多合一打印机中配置扫描仪?

    pdf两页合一页打印 The hplip packages contains all the tools you need to set up the HP scanner. For scanning ...

  10. 关于html页面展现pdf文件,并隐藏打印、下载等按钮的总结

    关于html页面展现pdf文件,并隐藏打印.下载等按钮的总结 由于项目需求,要在页面预览pdf文件而不能提供下爱打印功能,故在网上查询了一些前辈的经验,自己也尝试了一番,现在讲经验总结一下. pdfo ...

最新文章

  1. 士兵杀敌(二)(线段树+树状数组)
  2. getAndIncrement中使用cas
  3. python批处理栅格转点_python获取栅格点和面值的实现
  4. Windows Phone 7中使用PhoneApplicationService类保存应用程序状态
  5. (89)FPGA除法器设计
  6. winform利用html开发,Winform开发框架之HTML编辑控件介绍
  7. Elasticsearch(Transport Client)常用操作
  8. Python基础综合训练三(tkinter牛刀小试)
  9. 2022(一等奖)B360基于Arcpy与SVM的滑坡易发性评价
  10. 获取计算机管理员,获取administrator权限的方法步骤-电脑自学网
  11. 小故事大道理——生存方略
  12. 添加网络计算机后打印乱码,Windows7系统打印机无法打印出现乱码的解决方法
  13. android关机重启流程代码
  14. FlutterWeb性能优化探索与实践
  15. nginx 配置 同一域名端口下,根据URL 导向不同的项目目录
  16. excel与access结合运用_当excel不够用时,如何利用Access进行数据分析?
  17. c语言程序设计实验与案例数组,新书推荐 | C语言程序设计+实验与题解
  18. 数据时代的我们,应该怎么挖掘数据价值
  19. 海康威视工业相机海康机器人 Python开发采集数据、保存照片PyQt显示
  20. 【数理知识】曲率 curvature,主曲率 principal curvature,高斯曲率 Gaussian curvature,平均曲率 mean curvature

热门文章

  1. html留言功能怎么实现,javascript实现留言板功能
  2. EasyClick Html UI 第十四节 CSS 盒子模型
  3. 无源蜂鸣器c语言编程,电磁式蜂鸣器驱动原理与简单蜂鸣器编程及电路设计案例...
  4. PHP 如何使用Mobile Detect来判断访问网站的设备 安卓,平板,电脑
  5. win7电脑设备序列号怎么查_win7硬盘序列号怎么看|win7查看硬盘序列号的方法
  6. SAP接口编程 之 JCo3.0系列:JCoDestination
  7. hive教程:第一次使用sql
  8. python高维数据可视化_【机器学习】(十六)主成分分析PCA:高维数据可视化、特征提取...
  9. 基于Qt5实现的截图工具分享(仿QQ截图功能)
  10. 新零售场景下数字化营销运营管理方案