本页内容
字体管理
ComPDFKit PDF SDK 支持读取您设备中已有的字族及其样式,并将其设置为注释、表单、水印、页眉页脚、贝茨码等多个功能的字体。这将帮助您设计出美观的 PDF 文件,或使用符合某些规范要求的字体调整和完善您的 PDF 文件。
在使用字体管理设置字体时,您需要:
- 取得系统中所有字族名称。
- 选择您需要的字体,取得字体的
CPDFFontName
对象 - 从
CPDFFontName
对象中获取到样式集合 - 选择样式名称后,根据字族名称与样式名称取得
PsName
PsName
对象即可用作设置字体。
以下是代码示例:
java
// 取得系统中所有字族名称
List<CPDFFontName> list = CPDFFont.getOutFontName();
// 选取字族名获取到CPDFFontName对象
CPDFFontName cpdfFontName = list.get(index);
// 获取样式集合
List<String> fontStyles = cpdfFontName.getStyleName();
// 根据字族和字体样式,取得 `PsName` 对象
String psName = CPDFTextAttribute.FontNameHelper.obtainFontName(cpdfFontName.getFamilyName(), styleName);
// 将 `psName` 对象 名称应用到需要设置字体的功能中,具体设置属性方式见对应功能的文档
// 示例:设置FreeText注释字体
CPDFFreetextAnnotation freetextAnnotation = freetextAnnot.onGetAnnotation();
freetextAnnotation.setFreetextDa(new CPDFTextAttribute(psName, fontSize, fontColor));
// 示例:设置Form表单列表框字体
CPDFListboxWidget listBoxWidget = (CPDFListboxWidget) baseAnnotImpl;
listBoxWidget.setFontName(psName);
kotlin
// 取得系统中所有字族名称
val list : List<CPDFFontName> = CPDFFont.getOutFontName()
// 选取字族名获取到CPDFFontName对象
val cpdfFontName : CPDFFontName = list.get(index)
// 获取样式集合
val fontStyles : List<String> = cpdfFontName.getStyleName()
// 根据字族和字体样式,取得 `PsName` 对象
val psName : String = CPDFTextAttribute.FontNameHelper.obtainFontName(cpdfFontName.getFamilyName(), styleName)
// 将 `psName` 对象 名称应用到需要设置字体的功能中,具体设置属性方式见对应功能的文档
// 示例:设置FreeText注释字体
val freetextAnnotation = freetextAnnot.onGetAnnotation()
freetextAnnotation.setFreetextDa(CPDFTextAttribute(psName, fontSize, fontColor))
// 示例:设置Form表单列表框字体
CPDFListboxWidget listBoxWidget = (CPDFListboxWidget) baseAnnotImpl
listBoxWidget.setFontName(psName)
关于字族,样式名称
Font Family(字族):
Font Family 指的是字体的族群或系列名称,通常代表了一组字体,这些字体在设计上有相同的设计风格。
例如,Helvetica字体族拥有多种不同样式的字体,如Helvetica Regular、Helvetica Bold、Helvetica Italic等,它们都属于Helvetica字族。
Font Style(样式):
Font Style 指的是字体的具体样式或变体名称。它通常用于区分同一字族中不同的字体样式,例如粗体、斜体、正常体等。
以 Helvetica 字体族为例,Regular、Bold、Italic 等都是不同样式的名称。