【问题标题】:How do you put a table in a table in clj-pdf?如何在clj-pdf中的表格中放置表格?
【发布时间】:2017-03-08 19:39:40
【问题描述】:

我正在尝试在 Clojure 中制作具有一对多结构的 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")

这是我尝试过的版本之一(以及我能想到的每一种排列方式)。不用说,它根本没有用!

有没有人知道如何完成我正在寻找的东西?

问候

【问题讨论】:

  • 您可能会查看将 html 转换为 pdf 的库或服务。 Doraptor 是一项收费的 pdf 生成服务,但我们与他们相处得很好。 docraptor.com
  • 你试过[(clojure.string/join " " ["Bob" "23"])]吗?
  • 或者直接["Bob 23"],如果这是硬编码的话。

标签: clojure clj-pdf


【解决方案1】:

你需要使用: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"]]]]] ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2019-05-03
    相关资源
    最近更新 更多