Попытка получить ячейки в одну строку после переноса текста, используя многоклеточную функцию в пакете pypdf.
from fpdf import FPDF
import pandas as pd
class Tables(FPDF):
def table(self):
try:
self.add_page()
self.set_font('Times', '', 10.0)
epw = pdf.w - pdf.l_margin
col_width = epw/5
data1 = [{'ip': '192.168.0.1', 'name': 'cloud', 'used_percent': 100.0,'percent': 100.0,'value':6497693752875},
{'ip': '192.168.0.2', 'name': 'mitakaDZGFGASSCCGSTHAG', 'used_percent': 97.0, 'percent': 100.0, 'value':6497693752875597265917}]
df = pd.DataFrame(data1)
s = df['ip']
v = df['name']
c = df['used_percent']
d = df['percent']
e = df['value']
data = [df,[s[0], v[0], c[0], d[0],e[0]], [s[1], v[1], c[1], d[1], e[1]]]
th = pdf.font_size
count = 0
self.set_text_color(0, 0, 0)
self.set_fill_color(255, 255, 255)
for row in data:
count += 1
for datum in row:
if count == 1:
self.set_fill_color(70, 130, 180)
self.set_font('Times', '', 10)
self.cell(col_width, 2*th, str(datum), border=1, align='L', fill=1)
else:
self.set_font('Times', '', 11)
self.multi_cell(col_width, 2*th, str(datum), border=1, align='L', fill=0)
self.ln(2 * th)
self.ln(2* th)
except Exception as e:
print(f"Exception {e}")
pdf = Tables()
pdf.table()
pdf.output('fpdf_table.pdf', 'F')
Ожидаемый результат:
![enter image description here](https://i.stack.imgur.com/lpql6.png)
Фактический результат:
![enter image description here](https://i.stack.imgur.com/7A7X9.png)
Буду признателен за любые предложения, чтобы получить ожидаемый результат.
Заранее спасибо за ваше время и усилия.