一直在使用某扫王进行文档扫描,在同类扫描软件中确实属于TOP档,非会员导出PDF时会添加软件水印,之前一直是使用PDF工具在软件里面删除,目前直接配合utools一键处理。
需安装utools中的快捷命令工具,通过python快速去除某扫王的水印,具体代码如下
import fitz # pip install pymupdf
import json
import os
# 获取选取的PDF文件列表
pdf_list = json.loads(str('{{MatchedFiles}}'))
# 遍历 pdf 文件列表
for pdf_info in pdf_list:
absolute_path = pdf_info['path']
# 提取文件夹路径
folder_path = os.path.dirname(absolute_path)
# 提取不带后缀的文件名
file_name = os.path.splitext(os.path.basename(absolute_path))[0]
# 打开PDF文件
pdf = fitz.open(absolute_path)
# 逐页读取页面
for page_index in range(len(pdf)):
page = pdf[page_index]
target_xref = page.get_images()[0][0] #获取图片
link_xref = page.get_links()[0] #获取链接
page.delete_link(link_xref) #删除链接
page.delete_image(xref=target_xref) #删除图片
pdf.save(f"{folder_path}/{file_name}_去水印.pdf") #保存新pdf完成图片水印删除
print(f"输出{folder_path}/{file_name}_去水印.pdf 成功")
插件分享代码
{
"program": "python",
"cmd": "# utf-8\r\nimport fitz # pip install pymupdf\r\nimport json\r\nimport os\r\n# 获取选取的PDF文件列表\r\npdf_list = json.loads(str('{{MatchedFiles}}'))\r\n# 遍历 pdf 文件列表\r\nfor pdf_info in pdf_list:\r\n absolute_path = pdf_info['path']\r\n # 提取文件夹路径\r\n folder_path = os.path.dirname(absolute_path)\r\n # 提取不带后缀的文件名\r\n file_name = os.path.splitext(os.path.basename(absolute_path))[0] \r\n # 打开PDF文件\r\n pdf = fitz.open(absolute_path)\r\n # 逐页读取页面\r\n for page_index in range(len(pdf)):\r\n page = pdf[page_index]\r\n target_xref = page.get_images()[0][0] #获取图片 \r\n link_xref = page.get_links()[0] #获取链接\r\n page.delete_link(link_xref) #删除链接\r\n page.delete_image(xref=target_xref) #删除图片\r\n\r\n pdf.save(f\"{folder_path}/{file_name}_扫描王去水印.pdf\") #保存新pdf完成图片水印删除\r\n print(f\"输出{folder_path}/{file_name}_扫描王去水印.pdf 成功\")\r\n",
"scptarg": "",
"charset": {
"scriptCode": "utf8",
"outputCode": "GBK"
},
"customOptions": {
"bin": "",
"argv": "",
"ext": ""
},
"features": {
"explain": "扫描王去水印",
"platform": [
"win32"
],
"icon": "logo/python.png",
"mainPush": false,
"code": "files_1puog4ueo8w",
"cmds": [
{
"type": "files",
"label": "扫描王去水印",
"match": "/.pdf/",
"minLength": 1
}
]
},
"output": "text",
"tags": [
"转换"
],
"hasSubInput": false
}