Есть такая задача: нужно, чтобы каждый месяц скрипт присылал мне отчет pdf файлом. Вот пытаюсь сделать заполнение готового pdf шаблона. Нужно, чтобы создавалась копия этого шаблонного документа, но уже заполненная.
Я попробовал в шаблонном pdf документе в места, куда нужно будет вставлять текст, написать "макросы", типа {date} (на это место в документе вставить дату), {income} (вставить доход за месяц), и так далее. Написал вот такой скрипт с библиотекой PyPDF2, который только читает шаблон:
from PyPDF2 import PdfFileReader
pdf_document = "/root/source/statistics_template.pdf" #шаблон отчета
with open(pdf_document, "rb") as filehandle:
pdf = PdfFileReader(filehandle)
pdf_writer = PdfFileWriter()
info = pdf.getDocumentInfo()
pages = pdf.getNumPages()
for i in range(pages):
page = pdf.getPage(i)
page_new_text = page.extractText().replace('{date}', '01.01.2021').replace('{income}', '13 000 000') #чтение текста шаблона, замена макросов на значения
Но что дальше? Как записать переменную page_new_text в текст нового pdf файла?
Или я вообще не так все делаю? Мне просто такая идея пришла, наверное можно и лучше. Прошу помочь, пожалуйста.