Замените текст нижнего колонтитула в PDF-файле, используя python - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть файл, похожий на this .

Я хочу заменить нижний колонтитул страницы своим собственным нижним колонтитулом. Каков был бы лучший способ сделать это? Могу ли я обрезать часть нижнего колонтитула (фиксированный размер снизу) и объединить свой созданный нижний колонтитул с каждой страницей? Или есть библиотека, которая может автоматически извлечь нижний колонтитул со страницы? У меня нет большого опыта в этом отношении. Я пробовал некоторые библиотеки, включая pypdf2 и reportlab, но мне не удалось найти какую-либо помощь в извлечении нижнего колонтитула.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 27 февраля 2020

Это немного хакерское решение, создайте изображение с нужным текстом нижнего колонтитула и запустите его. При необходимости откорректируйте координаты.

from PyPDF2 import PdfFileWriter, PdfFileReader
import io
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter

packet = io.BytesIO()
# create a new PDF with Reportlab
can = canvas.Canvas(packet, pagesize=letter)
can.drawImage('yourFooterImage.png', 0, 2, 800, 45)
can.save()

# move to the beginning of the StringIO buffer
packet.seek(0)
new_pdf = PdfFileReader(packet)
# read your existing PDF
existing_pdf = PdfFileReader(open("original.pdf", "rb"))
output = PdfFileWriter()
# add the "watermark" (which is the new pdf) on the existing page
page = existing_pdf.getPage(0)
page.mergePage(new_pdf.getPage(0))
output.addPage(page)
# finally, write "output" to a real file
outputStream = open("destination.pdf", "wb")
output.write(outputStream)
outputStream.close()

Код взят здесь: Добавьте текст в существующий PDF, используя Python

Мой вывод:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...