我正在用Clojure测试OpenPDF。我设法制作了一个简单的文档,但存在字体问题。
下面是一些失败的代码:
(ns invoice.download.pdf
(:require
[clojure.java.io :as io])
(:import [com.lowagie.text Font FontFactory Paragraph]
[com.lowagie.text.pdf BaseFont]))
(defn- add-invoice [document]
(let [font (-> (io/resource "fonts/Helvetica.ttf")
(.toString)
(BaseFont/createFont BaseFont/IDENTITY_H BaseFont/NOT_EMBEDDED)
(Font. 12))]
(.add document (Paragraph. "Invoice" font))))某些东西在设置字体大小时会崩溃,但不会引发任何异常。似乎没有创建字体,即使代码的这一部分执行良好,除了设置字体大小。
发布于 2022-11-11 10:59:21
您可以使用包含open的clj-pdf,我认为使用自定义-ttf-字体应该有效:
(:use clj-pdf.core)
(pdf
[{:font {:encoding :unicode
:ttf-name "fonts/proxima_nova_extrabold.ttf"}}
[:phrase "Testing 123"]
[:phrase "some text"]
[:phrase "some more text"]
[:paragraph "yet more text"]]
"doc.pdf")发布于 2022-11-11 12:01:56
是的,使用clj-pdf非常有效。按元素设置字体就像一种魅力:
(pdf [{}
[:paragraph {:family :helvetica
:style :bold
:size 20}
"Invoice"]]
os)https://stackoverflow.com/questions/74385871
复制相似问题