我正在尝试使用cl-pdf一些相当基本的 PDF 生成,但我被示例绊倒了(至少可以说这很尴尬)。
当我运行包中包含的第一个示例时
(defun example1 (&optional (file #P"/tmp/ex1.pdf"))
(pdf:with-document ()
(pdf:with-page ()
(pdf:with-outline-level ("示例" (pdf:register-page-reference))
(让 ((helvetica (pdf:get-font "Helvetica")))
(pdf:文本模式
(pdf:set-font helvetica 36.0)
(pdf:移动文本 100 800)
(pdf:draw-text "cl-pdf: Example 1"))
(pdf:翻译 230 500)
(循环重复 150
对于 i = 0.67 那么 (* i 1.045)
做 (pdf:in-text-mode
(pdf:set-font helvetica i)
(pdf:set-rgb-fill (/ (随机 255) 255.0)
(/ (随机 255) 255.0)
(/ (随机 255) 255.0))
(pdf:移动文本 (* i 3) 0)
(pdf:show-text "cl-typesetting"))
(pdf:旋转 13)))))
(pdf:write-document 文件)))
通过运行(example1 #P"/home/inaimathi/Desktop/ex1.pdf")它给了我这个错误
#<SB-SYS:FD-STREAM 用于“文件 /home/inaimathi/Desktop/test.pdf”
{CF9D931}> 不是二进制输出流。
[SIMPLE-TYPE-ERROR 类型的条件]
重启:
0:[ABORT] 退出调试器,返回顶层。
当我打电话(example1)或打电话时也会发生同样的事情
(带打开文件
(测试文件#P“/home/inaimathi/Desktop/ex1.pdf”
:direction :output :if-does-not-exist :create)
(example1 测试文件))
最后,如果我尝试
(带打开文件
(测试文件#P“/home/inaimathi/Desktop/ex1.pdf”
:direction :output :if-does-not-exist :create
:element-type '(无符号字节 8))
(example1 测试文件))
我得到错误
#<SB-SYS:FD-STREAM 用于“文件 /home/inaimathi/Desktop/test.pdf”
{D197C99}> 不是字符输出流。
[SIMPLE-TYPE-ERROR 类型的条件]
重启:
0:[ABORT] 退出调试器,返回顶层。
有没有办法声明一个binary character stream?如何获得简单的输出cl-pdf?我直接从debian repos(我认为是1.0.29)中使用SBCL,以防万一。