2017-03-08 100 views
1

我正在嘗試使用一對多結構在Clojure中生成pdf。 類似於:如何在clj-pdf的表格中放置表格?

+------+----+------+-------+------+ 
| Name | ID | Make | Model | Year | 
+------+----+------+-------+------+ 
| Bob 23 | Volvo 240 1980 | 
|   | Saab  99 1985 | 
+-----------+---------------------+ 
| Foo 32 | Opel XXX 1972 | 

依此類推。 我已經試過的方法是做這樣的

(pdf/pdf [ 
    {:orientation :landscape} 
    [:table {:header ["Name" "ID" "Make" "Model" "Year"]} 
     [[:table {:colspan 2} ["Bob" "23"]] 
     [:table {:colspan 3} ["Volvo" "240" "1980"] 
           ["Saab" "99" "1985"]]] 
     [[:table {:colspan 2} ["F00" "32"]] 
     [:table {:colspan 3} ["Opel" "XXX" "1972"]]]] 
    ] 
    "foo.pdf") 

這是我試過(和每一個排列我能想到的)的版本之一。不用說,它一直沒有奏效!

有沒有人有任何想法如何完成我在找什麼?

問候

+0

你可能會考慮,輪流HTML轉換成PDF庫或服務。 Docraptor是一種爲pdf生成收費的服務,但我們與他們有好運。 https://docraptor.com/ –

+0

你試過'[(clojure.string/join「」[「Bob」「23」])]? – leontalbot

+0

或直接'[「Bob 23」]'如果這是硬編碼。 – leontalbot

回答

0

您需要使用:cell

細胞可以在裏面表中任選地使用表格元素,包括:colspan提供特定的風格。

這是未經測試:

[:table {:header ["Name" "ID" "Make" "Model" "Year"]} [[:cell {:colspan 2} [:table ["Bob" "23"]]] [:cell {:colspan 3} [:table ["Volvo" "240" "1980"] ["Saab" "99" "1985"]]]] [[:cell {:colspan 2} [:table ["F00" "32"]]] [:cell {:colspan 3} [:table ["Opel" "XXX" "1972"]]]]] ]

相關問題