12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/usr/bin/python3.6
- # -*- coding: utf-8 -*-
- # @Author : lijunliang
- # @Email : lijunliang@topnet.net.cn
- # @File : watermark.py
- # @Software: PyCharm
- """
- pdf文件添加水印
- """
- from PyPDF2 import PdfFileReader, PdfFileWriter
- def add_watermark(pdf_file_in: str, pdf_file_out: str, watermark_file: str):
- """
- 把水印添加到pdf中
- :param pdf_file_in: 输入文件
- :param pdf_file_out: 输出文件
- :param watermark_file: 水印文件
- :return:
- """
- try:
- pdf_output = PdfFileWriter()
- input_stream = open(pdf_file_in, 'rb')
- pdf_input = PdfFileReader(input_stream, strict=False)
- # 获取PDF文件的页数
- pageNum = pdf_input.getNumPages()
- # 读入水印pdf文件
- output_stream = open(watermark_file, 'rb')
- pdf_watermark = PdfFileReader(output_stream)
- # 给每一页打水印
- for i in range(pageNum):
- page = pdf_input.getPage(i)
- page.mergePage(pdf_watermark.getPage(0))
- page.compressContentStreams() # 压缩内容
- pdf_output.addPage(page)
- save_stream = open(pdf_file_out, 'wb')
- pdf_output.write(save_stream)
- save_stream.close()
- input_stream.close()
- output_stream.close()
- return True
- except Exception as e:
- print(e)
- return False
- # if __name__ == '__main__':
- # pdf_file_in = '../0.pdf'
- # pdf_file_water = '../data/mark.pdf'
- # pdf_file_out = '../data/out.pdf'
- # add_watermark(pdf_file_in, pdf_file_out, pdf_file_water)
|