Font 'SimHei' with 'UniGB-UCS2-H' is not recognized.
时间: 2023-12-30 22:02:25 浏览: 229
很抱歉,我之前的回答有误。在 iText 中,对于中文字符集,我们需要使用 `Identity-H` 编码方式来创建 `BaseFont` 对象,而不是 `UniGB-UCS2-H`。
因此,你可以使用以下代码来创建一个黑体的 `BaseFont` 对象:
```
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
bf.setSubset(false); // 设置不嵌入字体
BaseFont blackFont = BaseFont.createFont("SimHei", "Identity-H", BaseFont.NOT_EMBEDDED);
blackFont.setSubset(false);
```
在这里,我们使用了 "SimHei" 字体来创建黑体的 `BaseFont` 对象,并且设置了相应的编码方式和嵌入属性。
相关问题
Font 'SimHei' with 'Identity-H' is not recognized.
很抱歉,我的回答还是有误。在 iText 中,对于中文字符集,我们需要使用 `UNICODE_BIG` 编码方式来创建 `BaseFont` 对象,而不是 `Identity-H`。
因此,你可以使用以下代码来创建一个黑体的 `BaseFont` 对象:
```
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
bf.setSubset(false); // 设置不嵌入字体
BaseFont blackFont = BaseFont.createFont("SimHei", "UNICODE_BIG", BaseFont.NOT_EMBEDDED);
blackFont.setSubset(false);
```
在这里,我们使用了 "SimHei" 字体来创建黑体的 `BaseFont` 对象,并且设置了相应的编码方式和嵌入属性。
BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED)改成黑体
你可以使用以下代码来将字体从宋体改为黑体:
```
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
bf.setSubset(false); // 设置不嵌入字体
bf.setEncoding("Identity-H"); // 设置字体编码
BaseFont blackFont = BaseFont.createFont("SimHei", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
blackFont.setSubset(false);
blackFont.setEncoding("Identity-H");
```
在这里,我们重新创建了一个黑体的 `BaseFont` 对象 `blackFont`,并且设置了相应的编码和嵌入属性。你可以将 `blackFont` 对象用于你需要的场合中。
阅读全文