Создавайте заполняемые PDF и суммируйте содержимое заполняемых полей с помощью reportlab - PullRequest
0 голосов
/ 09 мая 2019

Мне нужно создать PDF-файл, в котором пользователь заполняет некоторые поля, но другие поля рассчитываются в соответствии со значениями, которые вводит пользователь. Например, пользователь устанавливает количество пива и цену для каждого, а общая цена автоматически рассчитывается в файле PDF. .

Мне нужно рассчитать это после того, как pdf будет создан, конечно, потому что он требует ввода данных пользователем, в reportlab я создаю пустой pdf с этой инструкцией в полях.

Прилагается простой код понятия для суммирования двух чисел.

Надеюсь, у кого-то есть ответ, и если это возможно, «он использует Adobe Acrobat», так что надеемся, что эта функция также интегрирована в reportlab ... У acroForms есть несколько полей "name" и "value", но я не знаю, как получить к ним доступ

Вот документация для отчета, за которой я следовал: https://www.reportlab.com/docs/reportlab-userguide.pdf

from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfform
from reportlab.lib.colors import magenta, pink, blue, green, white

def GenerarFactura():

    c = canvas.Canvas('simple_form.pdf')

    c.setLineWidth(.5)
    c.setFont('Helvetica', 12)
    form = c.acroForm

    c.drawString(70, 740, "Num 1: ")
    form.textfield(x=140, y=725, borderStyle='underlined',
                   width=150,fillColor=white)

    c.drawString(70, 700, "Num 2: ")
    form.textfield(x=140, y=685, borderStyle='underlined',
                   width=150,fillColor=white)

    c.drawString(70, 660, "Sum 1+2: ")
    form.textfield(x=140, y=645, borderStyle='underlined',
                   width=150,fillColor=white)
    c.save()

if __name__ == '__main__':
    GenerarFactura()
...