命名规则
| 类型 | 命名规则 | 举例 |
|---|
| 模块 | 包 | 全小写字母,简单有意义,根据需要使用下划线 | math |
| 函数名 | 全小写字母,根据需要使用下划线 | remove_pdf() |
| 变量名 | 全小写字母,根据需要使用下划线 | my_var |
| 类名 | 采用驼峰法命名规则,即多个单词组成名称,每个单词除第一个字母大写外,其余的字母均小写 | MyClass |
| 常量名 | 全小写字母,根据需要使用下划线 | TAX_RATE |
python中 r'', b'', u'', f'' 的含义
r"" 的作用是去除转义字符
save_dir = r'C:\Users\10616814\Desktop\资料_ZXY\PMP'
f"" 在字符串中支持大括号
f"d:/pdf_images/{page_num}.png"
u"" 含有中文字符组成的字符串
后面的字符串以Uniconde 格式进行编码
脚本结构
import os
import fitz
from PIL import Image
from itertools import product
def remove_pdf(pdf_dir,save_dir,file_name):
page_num = 0
pdf = fitz.open(pdf_dir)
pdf2 = fitz.open()
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))
dir = save_dir +'/' + str(page_num) + ".png"
pixmap.pil_save(dir)
print(f"第{page_num}水印去除完成")
page_num = page_num + 1
imgdoc = fitz.open(dir)
os.remove(dir)
pdfbytes = imgdoc.convert_to_pdf()
imgpdf = fitz.open("pdf", pdfbytes)
pdf2.insert_pdf(imgpdf)
pdf2.save(save_dir +'/' + file_name)
pdf2.close()
if __name__ == '__main__':
pdf_dir = r'C:\Users\10616814\Desktop\资料_ZXY\PMP\每日一练-现代卓越.pdf'
save_dir = r'C:\Users\10616814\Desktop\资料_ZXY\PMP\TEMPSAVE'
file_name = r'demo.pdf'
remove_pdf(pdf_dir,save_dir,file_name)