У меня есть одна небольшая проблема при создании отчета в формате PDF с PyFPDF. Если я могу это исправить, мой проект завершен, поэтому любое быстрое исправление очень желательно, даже если оно грязное.
Мне нужна комбинация отступа и переноса текста, но мои подходы пока не совместимы. Я делаю отступ с 8 символами табуляции (\ t), 16 для двух уровней отступа. Я печатаю строки в multi_cell, чтобы убедиться, что они переносятся на следующую строку. Однако, когда текст переносится, он, очевидно, не сохраняет символы табуляции с самого начала.
![description](https://i.stack.imgur.com/j1Cpg.png)
Кажется, я не могу понять, как разместить multi_cell больше вправо или по определенной координате x, поэтому мне пришлось использовать несколько символов \ t. Вот пример кода ниже:
for d in currentDiagnoses:
pdf.set_font("Arial", size = 9, style = 'B')
pdf.multi_cell(0, 5, "- " + d.name, 0, 'L')
pdf.set_font("Arial", size = 9, style = '')
for i in d.items:
if isinstance(i, list):
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t= " + i[0], 0, 'L')
for subi in i:
if subi == i[0]:
continue
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t- " + subi, 0, 'L')
else:
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t= " + i, 0, 'L')\
Код TL; DR: для каждого объекта диагностики выведите название диагноза. Затем напечатайте каждый критерий в диагнозе с отступом один раз (8 вкладок). Если сам элемент является списком, напечатайте первый элемент этого списка с одним отступом, а остальные элементы с двумя отступами (16 вкладок).
Надеюсь, это не слишком запутанно. Мы пытаемся автоматизировать создание отчетов о пациентах, и это последний шаг, прежде чем мы сможем начать работу.