【发布时间】:2021-09-21 09:00:21
【问题描述】:
我有一个看似简单的问题,但我找不到答案。我有一个预先存在的 pdf 表格。手动填写表单,其中一个文本字段以粗体显示其值。使用 HexaPdf 填充此字段时,文本也应以粗体显示,但以常规类型显示。
我在字段中填写
doc.acro_form.field_by_name('text1').field_value = @record.value
为了让它以粗体显示,我尝试了以下方法,但无济于事:
doc.acro_form.field_by_name('text1').set_default_appearance_string(font: 'Helvetica-Bold', font_size: 0)
这会收到错误消息“找不到变体'none'中的请求字体'Helvetica-Bold'”。
然后我尝试了:
doc.acro_form.field_by_name('text1').set_default_appearance_string(font: 'Helvetica', variant: :bold, font_size: 0)
这得到:“未知关键字:变体”。
为文档配置的字体是:
{"Times"=>[:none, :bold, :italic, :bold_italic], "Helvetica"=>[:none, :bold, :italic, :bold_italic], "Courier"=>[:none , :bold, :italic, :bold_italic], "符号"=>[:none], "ZapfDingbats"=>[:none]}
所以应该可以使用带有变体 :bold 的 Helvetica。
有人可以告诉我正确的语法吗?提前致谢!
【问题讨论】:
-
也许@gettalong 可以给我一个提示如何做到这一点?如果是,非常感谢!
-
@K J:我相信情况不一样。在您提到的链接中,问题是字体不可用。不过,就我而言,我只想使用标准字体。不幸的是,gitter 的链接似乎不起作用 - 那里会有更多信息吗?
-
在我提出问题之前,我想确定这不仅仅是我的疏忽。如果我理解正确, set_default_appearance_string 需要一个字体参数,该参数应该是一个字符串。根据 hexapdf/lib/hexapdf/type/font_type1.rb 第 58 行,我希望字体名称“Helvetica-Bold”可用。在我的情况下没有办法使用它吗?还是我错过了一些正确的语法?
-
@K J,感谢您和我一起思考这个问题!这种语法的问题是我收到错误“未知关键字:变体”。