我编写了一些代码来使用来自数据库/数组的值填充 PDF 中的表单字段(效果很好)。
我需要/希望能够将每个表单字段的 textfont 属性设置为使用特定字体(理想情况下是 Helvetica 或 Helvetica Neue)。
下面的循环显示了设置到每个命名表单字段中的值,但 setFieldProperty 不起作用。
<cfset BaseFont = objJLoader.create("com.itextpdf.text.pdf.BaseFont") />
<cfset helvNeue = BaseFont.createFont(expandPath('./files/mfm/fonts/HelveticaNeue.ttf'), BaseFont.CP1252, BaseFont.EMBEDDED) />
<cfset pdfForm = pdfStamper.getAcroFields() />
<cfloop collection="#user#" item="key">
<cfset pdfForm.setField(lcase(key),user[key]) />
<cfset pdfForm.setFieldProperty(lcase(key), "textfont", helvNeue) />
</cfloop>
运行代码时出现以下错误:
The setFieldProperty method was not found.
我尝试使用 ColdFusion 中的内置 iText 支持以及使用 JavaLoader 读取最新的 itextpdf-5.4.2.jar 文件。
谁能看到我做错了什么或如何解决问题以使 setFieldProperty 工作?
非常感谢