2017-03-08 10 views
1

私は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

あなたがPDFにHTMLをオンライブラリまたはサービスの中に見えるかもしれません。 Docraptorはpdf生成のための費用を請求するサービスですが、私たちはそれらに幸運をもたらしました。 https://docraptor.com/ –

+0

あなたは '[(clojure.string/join" "[" Bob "" 23 "])]'を試しましたか? – leontalbot

+0

これがハードコーディングされている場合、直接[["Bob 23"] ' – leontalbot

答えて

0

あなたは:colspan含むテーブル要素のための特定のスタイルを提供するために、必要に応じて、テーブル内で使用することができます:cell

細胞を使用する必要があります。

これは未テストです:

[: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"]]]]] ]

関連する問題