[Python] 纯文本查看 复制代码 import os
from PyPDF2 import PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
def add_red_seal(input_pdf, output_pdf):
# 读取输入的PDF文件
pdf = PdfFileReader(input_pdf)
num_pages = pdf.getNumPages()
# 创建一个PDF写入器
writer = PdfFileWriter()
# 遍历每一页
for page_num in range(num_pages):
page = pdf.getPage(page_num)
width, height = page.mediaBox.upperRight
# 创建一个临时的PDF文件,用于存储红章
temp_pdf = "temp.pdf"
c = canvas.Canvas(temp_pdf, pagesize=letter)
c.setStrokeColorRGB(1, 0, 0) # 设置红色
c.setLineWidth(5) # 设置线宽
c.rect(width - 100, height - 100, 80, 80, fill=0) # 绘制一个矩形作为红章
c.save()
# 将红章添加到当前页面
temp_pdf = PdfFileReader(temp_pdf)
page.mergePage(temp_pdf.getPage(0))
# 将页面添加到PDF写入器中
writer.addPage(page)
# 将结果保存到输出的PDF文件中
with open(output_pdf, "wb") as f:
writer.write(f)
# 删除临时文件
os.remove("temp.pdf")
# 调用函数,将红章插入到输入的PDF文件中,并将结果保存到输出的PDF文件中
add_red_seal("input.pdf", "output.pdf")
调试 改装吧 |