Ich mache ein kleines Skript mit Ruby, die eine Woche Zeitplan PDF-Datei erzeugt, mit Prawn als PDF-Bibliothek und ich bin mit Styling der Tabelle kämpfen. Ich möchte eine statische Breite für alle Spalten in der Tabelle festlegen, so dass die Breiten nicht auf den Inhalt der Zellen abhängen würde.
Ich habe die Dokumentation (viel Raum für Verbesserungen gibt) von der Prawn-Projekt-Website gelesen und gegoogelt für ein paar Stunden, aber ich bin verloren, wie man Breite für Spalten oder Zellen in einer Tabelle, oder wie man die Spalten/Zellen in irgendeiner Weise Stil. Ich erhalte eine PDF-Datei, die zwar ein Rasterlayout hat, aber die Zellen sind sehr unterschiedlich groß, was nicht sehr ordentlich aussieht.
Das hat nicht geklappt:
Prawn::Document.generate(@filename, :page_size => 'A4', :page_layout => :landscape) do
table(course_matrix, :headers => HEADERS, :border_style => :grid, :row_colors => ['dddddd', 'eeeeee'], :column_widths => 50)
end
Hier ist die aktuelle Version meiner Methode zur PDF-Generierung, aber auch hier werden die Zellen nicht stilisiert:
def produce_pdf
course_matrix = DataParser.new.parse_for_pdf
Prawn::Document.generate(@filename, :page_size => 'A4', :page_layout => :landscape) do
table(course_matrix, :headers => HEADERS, :border_style => :grid, :row_colors => ['dddddd', 'eeeeee']) do |table|
table.cells.style { |cell| cell.width = 50 }
end
end
end