Mehrere Tabellen (5) eine Seite mit ReportLab

Ich habe den folgenden Code in python, um zwei Tabellen mit ReportLab zu generieren. Gibt es eine Möglichkeit, diese beiden Tabellen nebeneinander mit ReportLab zu positionieren?

from reportlab.lib import colors from reportlab.lib.pagesizes import letter, inch from reportlab.platypus import SimpleDocTemplate, Table, TableStyle doc = SimpleDocTemplate("simple_table_grid.pdf", pagesize=letter) elements = [] data= [['00', '01', '02', '03', '04','10', '11', '12', '13', '14'], ['10', '11', '12', '13', '14', '10', '11', '12', '13', '14'], ['20', '21', '22', '23', '24', '10', '11', '12', '13', '14'], ['30', '31', '32', '33', '34', '10', '11', '12', '13', '14']] t=Table(data,5*[0.3*inch], 4*[0.2*inch]) t.setStyle(TableStyle([ ('BACKGROUND',(0,0),(4,0),colors.gray), ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black), ('BOX', (0,0), (-1,-1), 0.25, colors.black), ])) elements.append(t) data= [['100', '01', '02', '03', '04'], ['10', '11', '12', '13', '14'], ['20', '21', '22', '23', '24'], ['30', '31', '32', '33', '34']] t=Table(data,5*[0.3*inch], 4*[0.2*inch]) t.setStyle(TableStyle([ ('BACKGROUND',(0,0),(4,0),colors.gray), ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black), ('BOX', (0,0), (-1,-1), 0.25, colors.black), ])) elements.append(t) doc.build(elements) 

2 Solutions collect form web for “Mehrere Tabellen (5) eine Seite mit ReportLab”

Erstellen Sie eine dritte Tabelle, die als Shell für die beiden Tabellen, die Sie erstellt haben, dienen wird. Diese Tabelle hat zwei Spalten und eine Zeile. Jede Spalte ist die Größe der jeweiligen Kindertabelle.

Beispiel:

Erstellen Sie Ihre beiden Tabellen in verschiedenen Tabellen-Vars (zB table1 , table2 )

 t1_w = <your first table width size> t2_w = <your second table width size> data = [[table1, table2]] shell_table = Table(data, colWidths=[t1_w, t2_w]) 

Beispiel:
* Ganzer Code

 from reportlab.lib import colors from reportlab.lib.pagesizes import letter, inch from reportlab.platypus import SimpleDocTemplate, Table, TableStyle doc = SimpleDocTemplate("simple_table_grid.pdf", pagesize=letter) elements = [] data1 = [['00', '01', '02', '03', '04', '10', '11', '12', '13', '14'], ['10', '11', '12', '13', '14', '10', '11', '12', '13', '14'], ['20', '21', '22', '23', '24', '10', '11', '12', '13', '14'], ['30', '31', '32', '33', '34', '10', '11', '12', '13', '14']] t1 = Table(data1, 5 * [0.3 * inch], 4 * [0.2 * inch]) t1.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (4, 0), colors.gray), ('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black), ('BOX', (0, 0), (-1, -1), 0.25, colors.black), ])) data2 = [['100', '01', '02', '03', '04'], ['10', '11', '12', '13', '14'], ['20', '21', '22', '23', '24'], ['30', '31', '32', '33', '34']] t2 = Table(data2, 5 * [0.4 * inch], 4 * [0.2 * inch]) t2.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (4, 0), colors.gray), ('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black), ('BOX', (0, 0), (-1, -1), 0.25, colors.black), ])) data = [[t1, t2]] # adjust the length of tables t1_w = 3 * inch t2_w = 3 * inch shell_table = Table(data, colWidths=[t1_w, t2_w]) elements.append(shell_table) doc.build(elements) 
  • ReportLab-Tabelle mit einer Spalte, die alle Zeilen überspannt über die PDF-Seite?
  • IOError: "decoder zip nicht verfügbar" mit matplotlib PNG in ReportLab unter Linux, funktioniert unter Windows
  • Python reportlab - registerFont - django - Schrift nicht verfügbar nach einiger Zeit
  • Reportlab Leinwandbild nicht angezeigt
  • Ist es möglich, die Koordinatenposition eines Flowable zu erhalten, sobald es mit ReportLab.platypus gerendert wird?
  • Python Reportlab Einfügen von Bild in Tabelle
  • Python: pdf - set passwortgeschützte druck-, kopier-, einfügungsoptionen
  • Python ReportLab Verwendung von Splitfirst / Splitlast
  • Zeichnen Sie Bilder mit Leinwand und verwenden Sie SimpleDocTemplate
  • 2 Achsen Reportlab Graph
  • Was ist der einfachste Weg, um einen Hyperlink zu einem Leinwand-Element in ReportLab hinzuzufügen?
  • Python ist die beste Programmiersprache der Welt.