iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么为图片和PDF去水印
  • 273
分享到

python怎么为图片和PDF去水印

2023-06-26 06:06:44 273人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python怎么为图片和pdf去水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比

小编给大家分享一下python怎么为图片和pdf去水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比如下面的图片就是在 pdf 文件上截取出来的。

python怎么为图片和PDF去水印

安装模块

PIL:Python Imaging Library 是 python 上非常强大的图像处理标准库,但是只能支持 python 2.7,于是就有志愿者在 PIL 的基础上创建了支持 python 3的 pillow,并加入了一些新的特性。

pip install pillow

pymupdf 可以用 python 访问扩展名为*.pdf、.xps、.oxps、.epub、.cbz或*.fb2的文件。还支持了许多流行的图像格式,包括多页TIFF图像。

pip install PyMuPDF

导入需要用到的模块

from PIL import Imagefrom itertools import productimport fitzimport os

获取图片的 RGB

pdf 去水印的原理和图片去水印的原理差不多,小编先从去除上面那张图片的水印开始。

学过计算机的小伙伴们都知道 ,计算机中用 RGB 代表红绿蓝,用 (255, 0, 0) 表示红色,(0, 255, 0) 表示绿色,(0, 0, 255) 表示蓝色,(255, 255, 255) 表示白色,(0, 0, 0) 表示黑色,去水印的原理就是将水印的颜色变成白色(255, 255, 255)。

首先获取图片宽和高,用 itertools 模块获取宽和高的笛卡尔积作为像素点。每个像素点的颜色都由 前三位的 RGB 和 第四位的 Alpha 通道构成。Alpha 通道不需要,只要 RGB 数据。

def remove_img():    image_file = input("请输入图片地址:")     img = Image.open(image_file)    width, height = img.size     for pos in product(range(width), range(height)):        rgb = img.getpixel(pos)[:3]        print(rgb)

图片去水印

微信截图的方式查看水印像素点的 RGB。

python怎么为图片和PDF去水印

可以看到水印的 RGB 是 (210, 210, 210),这里用 RGB 的和超过 620 就判定是水印点,此时将像素颜色替换为白色。最后保存图片。

rgb = img.getpixel(pos)[:3]if(sum(rgb) >= 620):    img.putpixel(pos, (255, 255, 255)) img.save('d:/qsy.png')

示例结果:

python怎么为图片和PDF去水印

PDF 去水印

PDF 去水印的原理和图片去水印的原理大致相同,用 PyMuPDF 打开 pdf 文件后,将 pdf 的每一页都转换为图片 pixmap,pixmap 有它自己的 RGB,只需要将 pdf 水印中的 RGB 改为(255, 255, 255) 最后保存为图片。

def remove_pdf():    page_num = 0    pdf_file = input("请输入 pdf 地址:")    pdf = fitz.open(pdf_file);    for page in pdf:        pixmap = page.get_pixmap()        for pos in product(range(pixmap.width), range(pixmap.height)):            rgb = pixmap.pixel(pos[0], pos[1])            if(sum(rgb) >= 620):                pixmap.set_pixel(pos[0], pos[1], (255, 255, 255))        pixmap.pil_save(f"d:/pdf_images/{page_num}.png")        print(f"第{page_num}水印去除完成")        page_num = page_num + 1

示例结果:

python怎么为图片和PDF去水印

图片转为 pdf

图片转 pdf 需要注意的是图片的排序,数字文件名必须先转换为 int 类型后排序。用 PyMuPDF 模块打开图片后将图片用 convertToPDF() 函数转成单页的 pdf。插入到新的 pdf 文件中。

def pic2pdf():    pic_dir = input("请输入图片文件夹路径:")        pdf = fitz.open()    img_files = sorted(os.listdir(pic_dir),key=lambda x:int(str(x).split('.')[0]))    for img in img_files:        print(img)        imgdoc = fitz.open(pic_dir + '/' + img)          pdfbytes = imgdoc.convertToPDF()           imgpdf = fitz.open("pdf", pdfbytes)        pdf.insertPDF(imgpdf)           pdf.save("d:/demo.pdf")             pdf.close()

以上是“python怎么为图片和PDF去水印”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: python怎么为图片和PDF去水印

本文链接: https://www.lsjlt.com/news/307386.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么为图片和PDF去水印
    小编给大家分享一下python怎么为图片和PDF去水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比...
    99+
    2023-06-26
  • python为图片和PDF去水印详解
    目录安装模块获取图片的 RGB图片去水印PDF 去水印图片转为 pdf总结网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比如下面的图片就是在 pdf 文件上截取出来的。...
    99+
    2024-04-02
  • 超简单!用 Python 为图片和 PDF 去掉水印
    网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比如下面的图片就是在 pdf 文件上截取出来的,今天我们就来用Python解决这个问题。安装模块PIL:Python Imaging Library 是 python 上非常强大的...
    99+
    2023-05-14
    图片 Python PDF
  • 【Python】Python 去除图片水印
    在Python中,你可以使用一些图像处理库来去除图片中的水印。其中一个常用的库是OpenCV,它提供了一些强大的图像处理功能。 首先 你需要安装OpenCV库。你可以使用以下命令在终端中安装它: pi...
    99+
    2023-10-18
    python opencv 计算机视觉
  • Node.js怎么去除图片水印
    这篇文章主要介绍“Node.js怎么去除图片水印”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js怎么去除图片水印”文章能帮助大家解决问题。一、了解Node.jsNode.js是一个基于C...
    99+
    2023-07-05
  • python怎么去掉图片上的文字水印
    要去掉图片上的文字水印,可以使用Python中的图像处理库PIL(Python Imaging Library)来实现。下面是一个示...
    99+
    2023-08-12
    python
  • Python实现为PDF去除水印的示例代码
    目录前言原理特色成果安装依赖代码想法前言 为什么做出这个? 就是有时候从网上下载的资料中的pdf有水印,看着不舒服。 比如说我从网上下载的试卷,然后去打印店打印,打印之后水印看着很不...
    99+
    2024-04-02
  • Python去除PDF水印的实现示例
    今天介绍下用 Python 去除 PDF (图片)的水印。思路很简单,代码也很简洁。 首先来考虑 Python 如何去除图片的水印,然后再将思路复用到 PDF 上面。 这张图片是前...
    99+
    2024-04-02
  • Python去除图片水印实现方法详解
    目录OpenCV介绍去水印图片去水印原理最近写文章遇到图片有水印,如何去除水印呢? 网上找了各种办法,也跑到小红书、抖音等平台找有没有不收费就去水印的网站,但是基本上都是需要VIP会...
    99+
    2023-01-06
    Python去除图片水印 Python去除水印
  • java怎么实现添加图片水印和文字水印
    这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然...
    99+
    2023-06-09
  • 怎么用1行Python代码实现去除图片水印
    这篇“怎么用1行Python代码实现去除图片水印”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用1行Python代码实现...
    99+
    2023-07-05
  • Python编程OpenCV和Numpy图像处理库实现图片去水印
    目录OpenCV + Numpy函数简介色彩转换PIL + itertools大家好,我是小五 前一阵给大家分享了,Python如何给图片加水印。评论区就有小伙伴问,可不可使用Pyt...
    99+
    2024-04-02
  • 使用TP5.1 怎么为图片添加水印
    这篇文章将为大家详细讲解有关使用TP5.1 怎么为图片添加水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在 Linux 和 Mac OS X 中可以运行如下命令:curl -s...
    99+
    2023-06-14
  • PHP给图片加上图片水印和文字水印的方法
    这篇文章主要介绍“PHP给图片加上图片水印和文字水印的方法”,在日常操作中,相信很多人在PHP给图片加上图片水印和文字水印的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP给图片加上图片水印和文字水印...
    99+
    2023-06-04
  • Python怎么批量添加图片水印
    本篇内容介绍了“Python怎么批量添加图片水印”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言现在盗图是非常常见的事情,许多人在使用...
    99+
    2023-06-29
  • Python实现为pdf添加水印功能
    目录创建需要的水印模板wps创建输出pdf水印pdf实现步骤安装依赖代码问题使用pypdf2出现编码问题解决方法感悟创建需要的水印模板 wps创建 输出pdf 水印pdf 实现...
    99+
    2024-04-02
  • 1行Python代码实现去除图片水印详解
    目录正文一、代码运行,效果演示运行以下代码实现的效果如下二、已有功能正文 最近小明在开淘宝店,需要给自己的原创图片加水印,于是我上次给她开发了增加水印的功能:图片加水印,保护原创图...
    99+
    2023-03-19
    Python一行代码去水印 Python图片去水印
  • PHP中怎么图片加水印
    PHP中怎么图片加水印,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入image...
    99+
    2023-06-17
  • python实现水印图片功能
    在做一些工作的时候,有时候会涉及到给图片加上水印,这个如果手动添加的话,效率太低了,通常选择代码完成。下面这个是给图像添加文字水印(图片水印还在研究中) 比如,在下面的图片中添加 &...
    99+
    2024-04-02
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作