I’m try to adding watermark to every pages of my PDF file.My PDF files have 58 pages but my output file has get only last page in my PDF file.
This’s my code:
JavaScript
x
13
13
1
from PyPDF2 import PdfFileReader, PdfFileWriter
2
3
watermark_pdf = PdfFileReader("watermark.pdf")
4
watermark_page = watermark_pdf.getPage(0)
5
reader = PdfFileReader("original_document.pdf")
6
7
for page in reader.pages:
8
page.mergePage(watermark_page)
9
output = PdfFileWriter()
10
output.addPage(page)
11
with open("watermarked_document.pdf", "wb") as fp:
12
output.write(fp)
13
Please tell me how to add watermark all pages.
Advertisement
Answer
You’re rewriting your “merged” file for each page.
Try something like
JavaScript
1
21
21
1
from PyPDF2 import PdfFileMerger, PdfFileReader, PdfFileWriter
2
3
pdf_file = "C:/Users/11359023/Desktop/deepfake_vee.pdf"
4
watermark = "C:/Users/11359023/Desktop/simple.pdf"
5
merged = "C:/Users/11359023/Desktop/merged.pdf"
6
7
with open(pdf_file, "rb") as input_file, open(watermark, "rb") as watermark_file:
8
input_pdf = PdfFileReader(input_file)
9
watermark_pdf = PdfFileReader(watermark_file)
10
watermark_page = watermark_pdf.getPage(0)
11
12
output = PdfFileWriter()
13
14
for i in range(input_pdf.getNumPages()):
15
pdf_page = input_pdf.getPage(i)
16
pdf_page.mergePage(watermark_page)
17
output.addPage(pdf_page)
18
19
with open(merged, "wb") as merged_file:
20
output.write(merged_file)
21
instead.