Доступ к локальной переменной через метод класса в Python - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в занятиях по Python, поэтому, пожалуйста, помогите мне. Я генерирую отчеты в формате PDF с использованием пакета fpdf.

Я использую пример кода из следующего для создания страницы PDF с нижним колонтитулом.

https://pyfpdf.readthedocs.io/en/latest/Tutorial/index.html#header -footer-page-break- and-image

from fpdf import FPDF

class PDF(FPDF):
    def header(self):
        # Logo
        self.image('logo_pb.png', 10, 8, 33)
        # Arial bold 15
        self.set_font('Arial', 'B', 15)
        # Move to the right
        self.cell(80)
        # Title
        self.cell(30, 10, 'Title', 1, 0, 'C')
        # Line break
        self.ln(20)

    # Page footer
    def footer(self):
        # Position at 1.5 cm from bottom
        self.set_y(-15)
        # Arial italic 8
        self.set_font('Arial', 'I', 8)
        # Page number
        self.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C')

# Instantiation of inherited class
pdf = PDF()
pdf.alias_nb_pages()
pdf.add_page()
pdf.set_font('Times', '', 12)
for i in range(1, 5):
    pdf.cell(0, 10, 'Printing line number ' + str(i), 0, 1)
pdf.output('tuto2.pdf', 'F')

Создает 5 страниц. Я хочу добавить элемент списка в нижний колонтитул.

list=['A','B','C','D','E']
for i in range(1, 5):
    pdf.cell(0, 10, 'Printing line number ' + str(i)+list[i], 0, 1)
pdf.output('tuto2.pdf', 'F')

Как передать этот список классу? Этот список генерируется в производном классе от класса выше.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

К счастью, разобрался!

class PDF1(FPDF,HTMLMixin):
    def __init__(self, list):
        super(PDF1, self).__init__()
        self.proper_name = list
0 голосов
/ 28 апреля 2020

Я не нашел пакет для тестирования, но я добавил init для создания списка алфавитов, чтобы вы могли добавить его при создании нижнего колонтитула на основе

...