我正在使用 Clojure 的 clj-pdf 库来创建包含图表的 pdf。我正在使用 Incanter 库制作图表并将图像转换为字节数组。然后我尝试使用 clj-pdf 制作一个包含 4 个图表的 pdf,每个角一个。当我这样做时,我收到错误 IllegalArgumentException 不知道如何创建 ISeq from: clojure.lang.Keyword clojure.lang.RT.seqFrom (RT.java:505)
我可以成功地将图像添加到表格之外,但格式很糟糕,每行一个图像。有人如何解决这个问题吗?
这是我正在尝试的代码行:
(pdf [{} [:table {} [:cell [:image {} plot1-bytearr]
[:image {} plot2-bytearr]]]] "test.pdf")
编辑
跟踪链接:http://pastebin.com/b7DEnjXY
链接到可行的(希望)示例:http://pastebin.com/fPvjFFbi
最佳答案
:table
需要按行指定,例如
(pdf [{} [:table row1
row2
row3]]
"test.pdf")
行必须是序列。
(pdf [{} [:table ["11" "12" "13"]
["21" "22" "23"]]] "test.pdf")
您已将两张图像放置在一个单元格中,但是正在执行
(pdf [{} [:table [[:cell "11" "12" "13"]]
["21" "22" "23"]]] "test.pdf")
将省略“12”和“13”,并创建一个表格,其中第一行包含 11、21 和 22,第二行包含第一个单元格 23。我认为 :cell
的这种用法不受支持。如果您想在一个单元格中使用多个单元格,我将在受支持的 :cell
向量内创建另一个 :table
向量。
根据您的示例,解决方案是
(pdf [{} [:table [[:image plot1-bytearr][:image plot2-bytearr]]]]
"test.pdf")
请注意 :image
向量周围的额外括号。 Clj-pdf 尝试将您的 :cell
关键字读取为包含 :table
单元格的序列,因此出现异常,告诉您它需要一个序列。
- 这不会给您 4 个图表。由于您只提供了两个,我想这可以解决您的问题。
关于pdf - clj-pdf : Error adding image in a table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17433878/