批量添加PDF加水印及PDF加密和解密

批量添加PDF加水印及PDF加密和解密

制作水印文件

打开Word,制作一个只有水印的页面,放在你想放水印的位置,保存为PDF

合并PDF水印

先打开水印PDF文件和要添加水印的PDF文件,再创建一个PDF写入器

然后对每一页都进行合并水印操作,.mergePage()方法合成的页面顺序:下面的内容.mergePage(出现在上面的内容)

from PyPDF2 import PdfFileReader,PdfFileWriter
from copy import copy
watermark_pdf=PdfFileReader('水印.pdf')
watermark_page=watermark_pdf.getPage(0) # 获取水印页面的内容

pdf_reader=PdfFileReader('1.pdf')
pdf_writer=PdfFileWriter()

for page in range(pdf_reader.getNumPages()): # 循环原pdf文件的每一页
    original_page=pdf_reader.getPage(page) # 获取当前页的内容

    new_page=copy(watermark_page) # 复制水印页面
    new_page.mergePage(original_page) # 水印在原文件的下面
    pdf_writer.addPage(new_page)
with open('watermarked.pdf','wb') as f:
    pdf_writer.write(f)

批量加密解密

加密PDF,pdf_writer.encrypt(密码)

from PyPDF2 import PdfFileReader,PdfFileWriter

pdf_reader=PdfFileReader('1.pdf')
pdf_writer=PdfFileWriter()
for page in range(pdf_reader.getNumPages()):
    pdf_writer.addPage(pdf_reader.getPage(page))
pdf_writer.encrypt('123')

with open('加密后的PDF.pdf','wb') as f:
    pdf_writer.write(f)

解密PDF,pdf_reader.decrypt(密码)

from PyPDF2 import PdfFileReader,PdfFileWriter

pdf_reader=PdfFileReader('加密后的PDF.pdf')
pdf_reader.decrypt('123')
pdf_writer=PdfFileWriter()
for page in range(pdf_reader.getNumPages()):
    pdf_writer.addPage(pdf_reader.getPage(page))

with open('解密后的PDF.pdf','wb') as f:
    pdf_writer.write(f)
分享到 :

发表评论

登录... 后才能评论