当前位置: 首页 > news >正文

用python清除PDF文件中的水印(Adobe Acrobat 无法删除)

学校老师发的资料,有时候会带水印,有点强迫症的都想给它去掉。用Adobe Acrobat试了下,检测不到水印,无法删除!分析发现原来这类PDF文件是用word编辑的,其中的水印是加在了页眉中!

自己动手想办法搞定它。

"""
Title: 清除PDF水印(非pdf加的水印而是用word文件头加的然后转成了pdf)
Author: JackieZheng
Date: 2025-05-11 10:31:23
LastEditTime: 2025-05-12 23:43:21
LastEditors: Please set LastEditors
Description:
FilePath: \\pythonCode\\remove_pdf_watermark.py
"""import os
import fitz  # PyMuPDFdef remove_image_watermark(pdf_path):doc = fitz.open(pdf_path)for page_num in range(len(doc)):page = doc[page_num]xref = page.get_contents()[0]  # 获取页面字节流,以xref的形式返回cont0 = doc.xref_stream(xref).decode()  # 将流解码为字符串page.clean_contents()if '/Header>> BDC' in cont0:  # 找到word页眉总分start_str = '/Header>> BDC'  # 获取水印起始位置end_str = 'c\r\nh\r\nf*\r\nq'  # 获取水印结束位置 (需要自己根据情况找到类似字符)cont = remove_between_strings(cont0, start_str, end_str)doc.update_stream(xref, cont.encode())  # 更新流print('page', page_num, 'processed')doc.save(pdf_path[:-4] + '_processed.pdf')doc.close()def remove_between_strings(original_text, start_str, end_str):start = original_text.index(start_str) + len(start_str)end = original_text.index(end_str, start)content = original_text[:start] + original_text[end:]# print(content)return contentpdf_path = r'C:\Users\JackieZheng\Desktop\满分冲刺练.pdf'remove_image_watermark(pdf_path)

操作原理:把文件解码为字符串,分析找出水印部分内容,从中剔除掉即可。

前后效果对比:

相关文章:

  • python可视化:2025Q1北方游客量与客运流动分析3
  • 设计模式之中介者模式
  • 基于STM32、HAL库的CH342F USB转UART收发器 驱动程序设计
  • 人工智能时代:解锁职业新身份,从“认证师”到“工程师”的进阶之路
  • 电商物流管理优化:从网络重构到成本管控的全链路解析
  • 【Linux笔记】——进程信号的保存
  • JVM对象头中的锁信息机制详解
  • Linux 软件包|服务管理
  • ESP32开发入门(九):HTTP服务器开发实践
  • 请求参数:Header 参数,Body 参数,Path 参数,Query 参数分别是什么意思,什么样的,分别通过哪个注解获取其中的信息
  • 【Leetcode】系列之206反转链表
  • 需求变更控制不严,如何防止项目范围扩大
  • Express知识框架
  • Day22打卡-复习
  • PHP编写图书信息爬虫程序
  • 跨域问题深度解析与解决方案
  • rbac模型详解
  • Go语言多线程爬虫与代理IP反爬
  • 【Java继承】——面向对象编程的基石
  • 从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
  • 美国三大指数全线高开:纳指涨逾4%,大型科技股、中概股大涨
  • 通辽警方侦破一起积压21年的命案:嫌疑人企图强奸遭反抗后杀人
  • 傅利叶提出下个十年战略,CEO顾捷:机器人要有温度,要用实际价值来定义形态
  • 罕见沙尘再度入川,官方:沙尘传输高度达到平流层,远超以往
  • 前4个月我国货物贸易进出口同比增长2.4%,增速较一季度加快1.1个百分点
  • 乌克兰议会批准美乌矿产协议