当前位置: 首页 > 知识库问答 >
问题:

使用粗体和斜体中文字体的文本字段

常海
2023-03-14

我正在尝试在itext 5中使用TextField。我的字体名是“微軟正黑體英文是“Microsoft JhengHei”。我想用粗体和黑色的字体。

初始化字体(3是字体。BOLD|字体。ITALIC和BC是我的基本颜色)

Font fontZh = FontFactory.getFont(CurrentFont.getFontName(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED,
                    CurrentFont.getFontSize(), 3, BC);

我有一个文本字段变量,并将fontZh设置为setFont。

field.setFont(fontZh.getBaseFont());

pdf结果只有字体样式、大小和颜色是正确的。但这种大胆和不自然是行不通的。

共有1个答案

郎弘壮
2023-03-14

只能将BaseFont设置为字段。这尤其意味着FontFactory中的那些属性。getFont调用仅成为返回的Font的一部分,而不是基础BaseFont的一部分,它不在使用fontZh检索的基本字体中。因此,getBaseFont()和未设置为字段。

以这种方式丢失的属性包括特定的样式信息,如斜体或粗体(除非引用的字体文件已经是斜体或粗体,或者引用的字体系列已用粗体或斜体字体文件注册)和颜色。

(你说在你的测试中颜色是正确的;如果是,那不是因为它是通过字体传输的。由于你没有显示足够的代码来进行良好的分析,我只能猜测;我猜测颜色要么是默认的开始,要么是你用其他指令设置的。)

因此,如果您想在文本字段中使用粗体或斜体字体,您应该使用引用已经以所需的粗体和斜体组合绘制字符的字体文件的基本字体,例如,在世纪哥特式的情况下,使用GOTHICBI. TTF而不是GOTHIC. TTF。我不知道您是否有这样的“微软黑体”变体。

如果要设置字段字体的颜色,可以将其设置为字段,即。

field.setTextColor(BC);

在使用构建字段字典之前field.getTextField()

 类似资料:
  • 在编辑文本中,用户应选择他们键入的内容是粗体、斜体还是正常。在我的情况下,当用户选择粗体时,整个编辑文本将更改为粗体,如果他再次选择斜体,则整个编辑文本将变为斜体。当用户选择粗体键入某些内容时,它应该是粗体的,当他选择斜体或正常时,他键入的单词应该是斜体或正常,而不是前一个粗体。此外,当我在编辑文本中打印输入时,即使以粗体显示,它也被正常打印。 我在底部有我的代码。 这是我将编辑文本设置为粗体或斜

  • 我在用一个工具自动生成CSS,它生成下面的@font-face标签和对应的段落Style 注意,指定的字体已经是Garamond字体的斜体版本,从技术上来说,< code>font-style:italic行是多余的。 然而,这并不奏效(我在FF、Chrome 所以,我有2个问题 > 为什么这不起作用,也就是说,为什么使用会导致它不起作用? 有没有办法通过javascript“覆盖”@font f

  • 假设我正在使用Apache FOP创建一个PDF文件。PDF中的所有字符都应该是。由于我的系统中没有这种字体,Apache FOP将尝试在 /data/fonts中查找字体,该字体由fop.xconf.设置 但是, /data/fonts中只有一个文件,即。是的,没有,也没有。 在这种情况下,Apache FOP 报告说它找不到 Times New Roman 斜体字体,它回退到默认字体,该字体不

  • 使用PDFBox提取PDF时,有没有办法保留文本格式? 我有一个解析PDF文档以获取信息的程序。当PDF的新版本发布时,作者使用粗体或斜体字文本来指示新信息,并在指示省略的文本中删除或加下划线。在PDFbox中使用基本的Stripper类返回所有文本,但格式被删除,因此我无法判断文本是新的还是省略的。我目前正在使用下面的项目示例代码: 如果我简单地将PDF文本复制并粘贴到保存格式的rich tex

  • 我使用irport 3.1.0,在从ireport生成预览时,所有样式(粗体、斜体)都可以工作,但在从web应用程序调用时,所有内容都以纯文本形式出现。

  • 问题内容: 如何使用CSS选择器加粗句子的第一个单词,就浏览器的可比性而言,这是一种好/坏方法吗? 码: 谢谢 问题答案: CSS中没有伪元素。您必须将第一个单词包装在一个额外的元素中,然后选择该元素。