这里写自定义目录标题

  • 欢迎使用Markdown编辑器
    • PDF文件转换成一个个的图片
    • 对图片内的水印去除
    • 将图片转换成PDF

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

PDF文件转换成一个个的图片

下面展示一些 内联代码片

def ex_img(file):  # file 是文件路径+文件名,从pdf中提取图片,实现水印去除""":param file: PDF文件路径:return:提取的图片地址位于原PDF地址+img文件夹内"""print('图片提取开始')(filepath, tempfilename) = os.path.split(file)export_file = filepath + '\\img'mkdir(export_file)doc = fitz.open(file)temp = 0for pg in range(doc.pageCount):page = doc[pg]temp += 1rotate = int(0)# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。zoom_x = 2.0zoom_y = 2.0trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)pm = page.getPixmap(matrix=trans, alpha=False)pic_name = '{}.jpg'.format(temp)# 拼接生成pdf的文件路径pic_pwd = os.path.join(export_file, pic_name)pm.writePNG(pic_pwd)de_water(pic_pwd) #去图片水印print('图片提取+去水印完成')

对图片内的水印去除

先简单介绍下计算机里关于颜色的知识。光学三原色是红绿蓝(RGB),也就是说它们是不可分解的三种基本颜色,其他颜色都可以通过这三种颜色混合而成,三种颜色等比例混合就是白色,没有光就是黑色。

在计算机中,可以用三个字节表示 RGB 颜色,1个字节能表示的最大数值是 255, 所以,(255, 0, 0)代表红色,(0, 255, 0)代表绿色,(0, 0, 255)代表蓝色。相应地,(255, 255, 255)代表白色,(0, 0, 0)代表黑色。从(0, 0, 0) ~ (255, 255, 255) 之间的任意组合都可以代表一个不同的颜色。

其实用到这里就是颜色越浅,RGB的数值越大

下面展示一些 内联代码片

# 去除图片里的水印
def de_water(jpg_file):img = Image.open(jpg_file)# print(img)width, height = img.size  # 图片长宽# 读取图片的RGB,,读取长宽方向的每一个像素for i in range(width):for j in range(height):pos = (i, j)# print(img.getpixel(pos)[:3]) # 图片每个位置颜色由四元组表示,前三位分别是 RGB,第四位是 Alpha 通道,我们不需要关心。if sum(img.getpixel(pos)[:3]) >= jpg_num and sum(img.getpixel(pos)[:3]) < 765: # 一般水印的颜色会淡于页面内容,颜色越淡,RGB越大# print(img.getpixel(pos)[:3])img.putpixel(pos, (255, 255, 255)) # 将水印的颜色变为白色img.save('D:\\tool\\python 代码\\panpdf_v1.6\\De watermark\\img\\watermark_removed_pic.png')

将图片转换成PDF

def create_pdf(src):  # 将单个的图片转为pdf""":param src: 原文件地址:param dst: 新文件地址,若想在原文件上修改,设置dst = src:return:"""print('pdf创建开始')# 大概改了改,没看具体实现。此处是为了将指定文件夹下得图片合并为pdf(filepath, tempfilename) = os.path.split(src)part_file = filepath + '\\img' # ex_img 中pdf转成图片后存放的地址,调整图片大小后的位置pdf_part_file = filepath + '\\pdf'mkdir(pdf_part_file)img_open_list = []  # 创建打开后的图片列表for root, dirs, files in os.walk(part_file):for i in natsorted(files):file = os.path.join(root, i)  # 遍历所有图片,带绝对路径img_open = Image.open(file)  # 打开图片if img_open.mode != 'RGB':  # and int(i.replace('t_','').replace('.png','')) > 300:# print(i)img_open = img_open.convert('RGB')  # 转换图像模式img_open.save(pdf_part_file + "\\t_{}.pdf".format(i), "PDF", resolution=100.0, save_all=True)print('pdf创建成功')def join(otherpath, pdf_writer):  # 给原文档加入指定文件页面''':param otherpath: 插入的文件路径:param pdf_writer: PdfFileWriter(),打开pdf文件:return:'''pdf_reader = PdfFileReader(otherpath)  # 要插入的文档path路径for page in range(pdf_reader.getNumPages()):  # 在文档开头加入# 把每张PDF页面加入到这个可读取对象中pdf_writer.addPage(pdf_reader.getPage(page))def makePdf(src, dst):  # src 应该是临时存放pdf的路径+文件名.pdf,out_file是输出路径+文件名.pdfprint('pdf合并开始')(filepath, tempfilename) = os.path.split(src)t = 0  # 用来计数pdf的位置pdf_part_file = filepath + '\\pdf'for root, dirs, files in os.walk(pdf_part_file):for i in natsorted(files):file = os.path.join(root, i)  # 遍历所有pdf,带绝对路径if t == 0:  # 打开第一个pdf文件,把后续文件添加到第一个文件pdf = PdfFileReader(file)pdf_writer = PdfFileWriter()pdf_writer.addPage(pdf.getPage(0))  # 每个pdf文件只有1页else:join(file, pdf_writer)t += 1with open(dst, 'wb') as output_pdf:  # 写入pdf_writer.write(output_pdf)print('pdf合并完成')

Python实现PDF(图片版)水印的去除相关推荐

  1. Python脚本实现图片加水印

    起步 图片是指由图形.图像等构成的平面媒体,有形式的事物,我们看到的,是图画.照片.拓片等的统称. 为了保护一些原创图片的版权,某些时候我们需要在图片上面,加上水印,当然你可以用Photoshop来做 ...

  2. python图片加水印_怎么在照片上加水印-用Python实现给图片增加水印

    背景描述 在写文章的时候,经常需要用到一些图,为了访问被别人盗图,通常的做法是给图片添加水印. 本文分享如何使用python批量给图片添加水印. 界面展示 软件的界面如下: 软件的效果如下: 功能介绍 ...

  3. 图片的水印怎么去除?这几种图片去水印方法很简单

    图片的水印怎么去除掉呢?去除图片水印可以让图片看起来更加美观和专业.对于设计师.广告人员.网站管理员等,他们通常需要使用高质量的图片来制作宣传材料或网站内容.但是,当他们在网上搜寻图片时,很多图片都带 ...

  4. 如何使用python给PDF文件加水印

    Python作为编程界最火的语言,能做的事几乎你能想到的它都能干,就连抢茅台都可以,还有什么不行?! Python作为脚本编程语言,可以做很多事情.使用Python,你可以轻松地给pdf加上水印. 你 ...

  5. python水印_用python来给图片加水印

    有时候我想在图片上添加自己的水印来防止别人盗图,所以今天给大家分享如何用python给我们的图片添加上水印.我们先来看看效果. 可以看到右下角就有了我们公众号的名称的水印,是不是超级厉害?那我们看看代 ...

  6. python 批量给图片加水印

    在实际工作中可能会遇到批量给图片添加水印,这些水印可能是每个图片不一样的,但是格式要统一,字体.间距,位置等,要协调.怎么实现呢? 以下是用python实现的具体步骤: 数据情况: 统一标准命名的图片 ...

  7. 21天精通python-21天学通Python 完整pdf扫描版[58MB]

    21天学通Python全面.系统.深入地讲解了Python编程基础语法与高级应用.在讲解过程中,通过大量实际操作的实例将Python语言知识全面.系统.深入地呈现给读者.此外,作者专门为本书录制了大量 ...

  8. python 读取pdf图片_使用Python从pdf中提取图像

    下面是一些使用pyPdf读取PDF文件.提取图像并将它们生成为PIL.Image的代码.你需要根据自己的需要修改它,这里只是演示如何遍历对象树.在import io import pyPdf impo ...

  9. python pdf 图片水印_怎样用python给pdf批量添加水印并加密

    很多时候需要给pdf添加水印,而且还要加密文件,这些在Python中是如何实现的呢?学过编程的小伙伴准备好迎接今天的挑战吧. 1.设置路径 import os os.getcwd() os.chdir ...

  10. python显示gif图片_Python给gif图片加文字水印

    为了成批地给图像增加水印,我们这里用到了枕头模块.它的英文名为pillow.安装它的方式为用cmd命令打开DOS提示符窗口,然后输入pip install pillow即可.就像下面这样: pytho ...

最新文章

  1. 【Android】Activity生命周期(亲测)
  2. jedis_通过Jedis API使用排序集
  3. 德国艺术家用99部手机成功在Google地图上制造交通阻塞
  4. 100个程序员学习的网站
  5. NSMutableArray的一些知识
  6. showdoc windows 搭建_ShowDoc的搭建
  7. BugkuCTF-Crypto题rsa
  8. canopy算法流程_Canopy聚类算法(经典,看图就明白)
  9. 5005.boost之asio简单反射型服务器客户端
  10. Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
  11. C++里大写TRUE和小写true(BOOL与bool)
  12. 软件架构设计的几点理解
  13. vmware8.0.4序列号及汉化包安装
  14. 4款好用流程图软件,都是经验总结出来的
  15. PCL单选点和框选点
  16. 街头霸王全人物故事背景
  17. 达梦8初始化参数之BLANK_PAD_MODE
  18. 计算房租收入比(1)- scrapy 爬取网上租房信息
  19. JPEG文件格式分析及举例验证
  20. JavaScript实现逆波兰式

热门文章

  1. 学习笔记(02):【中国PHP教育大牛高洛峰】亲授php教程-PHP整型(integer)和浮点型(float或double)...
  2. 给idea设置注释(超便捷)
  3. Windows10下Tensorflow启用GPU加速,显卡GTX1060,踩坑记录
  4. 阿里云RDS数据库设置
  5. mysql 字段值分布很少的字段要不要加索引
  6. iOS生成图片分享到微信的一种方法
  7. 哪些原因会导致头晕头痛,日常应该如何去注意呢?
  8. 哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机
  9. 每日一题:【LeetCode】495.提莫攻击
  10. 获取iframe里面的数据