提问人:Alexandru Uzunov 提问时间:10/17/2023 更新时间:10/17/2023 访问量:34
如何使用 Python 为 PDF 表单添加水印?
How do I watermark a PDF Form using Python?
问:
我需要用一些数据填充 PDF 表单,然后对 PDF 应用自定义水印。 目前,我使用 PyPDF 填写 PDF 表单,然后保存它,最后将水印应用到 PDF 上。
我尝试使用 PyPDF 指示的水印方法(这里):
from pathlib import Path
from typing import Union, Literal, List
from PyPDF2 import PdfWriter, PdfReader
def watermark(
content_pdf: Path,
stamp_pdf: Path,
pdf_result: Path,
page_indices: Union[Literal["ALL"], List[int]] = "ALL",
):
reader = PdfReader(content_pdf)
if page_indices == "ALL":
page_indices = list(range(0, len(reader.pages)))
writer = PdfWriter()
for index in page_indices:
content_page = reader.pages[index]
mediabox = content_page.mediabox
# You need to load it again, as the last time it was overwritten
reader_stamp = PdfReader(stamp_pdf)
image_page = reader_stamp.pages[0]
image_page.merge_page(content_page)
image_page.mediabox = mediabox
writer.add_page(image_page)
with open(pdf_result, "wb") as fp:
writer.write(fp)
预期结果是填写了带有水印的表单。相反,我得到一个带水印的 PDF,它丢失了所有表单字段。
答: 暂无答案
评论