Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created April 29, 2021 00:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/1a3e33faa4197ac730929002ac97d842 to your computer and use it in GitHub Desktop.
Save parzibyte/1a3e33faa4197ac730929002ac97d842 to your computer and use it in GitHub Desktop.
from PyPDF2 import PdfFileWriter, PdfFileReader
import io
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
nombre_pdf_original = "post.pdf" # Cambia aquí el nombre de tu documento original
nombre_pdf_salida = "post_con_mensaje.pdf" # Cambia aquí el nombre del PDF de salida
mensaje = "Este es un pie de página :)"
packet = io.BytesIO()
mi_canvas = canvas.Canvas(packet, pagesize=letter)
"""
También podemos cambiar las coordenadas del mensaje.
La posición (0, 0) es la esquina inferior izquierda
por eso es que nuestro mensaje sale tan cerca a
dicho lugar
"""
mi_canvas.drawString(5, 5, mensaje)
mi_canvas.save()
packet.seek(0)
pdf_con_pie = PdfFileReader(packet)
pdf_existente = PdfFileReader(open(nombre_pdf_original, "rb"))
output = PdfFileWriter()
# Iterar desde 0 hasta el número de páginas de nuestro documento
numero_de_paginas = pdf_existente.getNumPages()
for numero in range(0, numero_de_paginas):
page = pdf_existente.getPage(numero)
page.mergePage(pdf_con_pie.getPage(0))
print("Agregando mensaje \"{}\" a la página {} de {}".format(mensaje, numero + 1, numero_de_paginas))
output.addPage(page)
outputStream = open(nombre_pdf_salida, "wb")
output.write(outputStream)
outputStream.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment