吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1757|回复: 10
收起左侧

利用py 去除pdf的图片水印

[复制链接]
我没有失眠啊i 发表于 2021-2-17 19:05
200吾爱币
image.png

用py去除中间和右下脚的水印,要求py,最好是个脚本      图片的位置啥的可以自定义

样本 https://thegai.lanzoui.com/i2cxClrt8oj

最佳答案

查看完整内容

先还是感谢之前大佬BOOK118下载的两本电子书~ 仅针对本帖样本PDF,写了PY程序,仅使用fitz包,实际效果有点瑕疵但可实用 之前也研究过删除pdf中Xobject图片水印,帖子https://www.52pojie.cn/thread-1285821-1-1.html 同样思路是分析样本水印,均为Xobject,大小正好都是100X100 根据这个条件筛选得到水印Xref行数,然后逐一删除 最终输出样本_neo.pdf,打开提示出错,应该是已用数据源行被删除了,无法已用导致报错,但对 ...

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zpzwz + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

制冷设备 发表于 2021-2-17 19:05
本帖最后由 制冷设备 于 2021-2-19 13:20 编辑

先还是感谢之前大佬BOOK118下载的两本电子书~
仅针对本帖样本PDF,写了PY程序,仅使用fitz包,实际效果有点瑕疵但可实用
之前也研究过删除pdf中Xobject图片水印,帖子https://www.52pojie.cn/thread-1285821-1-1.html
同样思路是分析样本水印,均为Xobject,大小正好都是100X100
001_2021-02-19_112658.png
根据这个条件筛选得到水印Xref行数,然后逐一删除
最终输出样本_neo.pdf,打开提示出错,应该是已用数据源行被删除了,无法已用导致报错,但对实际阅读无影响

如果想不报错,目前有个想法,晚点再试一下

代码如下
[Python] 纯文本查看 复制代码
import fitz  #pip install pymupdf

path = r'样本.pdf' #目标pdf
pdfname = path.split(".")[0]
pdf = fitz.open(path)
marklist= []

# 逐页读取页面
for page_index in range(len(pdf)):
    page = pdf[page_index]
    for p in page.getImageList():
        if p[2]==100 and p[3]==100: # 根据水印大小筛选出水印图片的xref位置并加入数组
            marklist.append(p[0])
            marklist=list(set(marklist))

# 根据数组逐项删除xref
for i in marklist:
    pdf._deleteObject(i)

# 保存
pdf.save(f"{pdfname}_neo.pdf")

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
zpzwz + 1 + 1 热心回复!
我没有失眠啊i + 3 + 1 很好,感谢!!

查看全部评分

大力是多大力 发表于 2021-2-17 19:25
这种最简单的水印用Pitstop插件去最方便快捷了
根据图片高度-设置100pt -移除
 楼主| 我没有失眠啊i 发表于 2021-2-17 19:29
大力是多大力 发表于 2021-2-17 19:25
这种最简单的水印用Pitstop插件去最方便快捷了
根据图片高度-设置100pt -移除

我知道这个,这个我会,但是工具太庞大了 想找一个py脚本
大力是多大力 发表于 2021-2-17 19:37
我没有失眠啊i 发表于 2021-2-17 19:29
我知道这个,这个我会,但是工具太庞大了 想找一个py脚本

等大佬来吧,等下围观学习一下
 楼主| 我没有失眠啊i 发表于 2021-2-22 11:37
制冷设备 发表于 2021-2-17 19:05
先还是感谢之前大佬BOOK118下载的两本电子书~
仅针对本帖样本PDF,写了PY程序,仅使用fitz包,实际效果有 ...

https://thegai.lanzoui.com/iT9dPlzbd2h

这样的文字水印可以  有方法去吗
制冷设备 发表于 2021-2-22 13:58
我没有失眠啊i 发表于 2021-2-22 11:37
https://thegai.lanzoui.com/iT9dPlzbd2h

这样的文字水印可以  有方法去吗

好的,我研究一下,临时需要出差可能会晚一些

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zpzwz + 1 + 1 热心回复!

查看全部评分

 楼主| 我没有失眠啊i 发表于 2021-2-22 14:18
制冷设备 发表于 2021-2-22 13:58
好的,我研究一下,临时需要出差可能会晚一些

嗯嗯没事感谢大佬
制冷设备 发表于 2021-2-25 20:50

研究了2天,py增加水印比较容易,要对页面内删除没有合适的库...
制冷设备 发表于 2021-2-26 15:54

大佬,可以用py去除这个文档的水印了,但...有点麻烦
你的文档方便作为样例吗,可以的话想用截图,然后把思路单独开一贴
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表