Skip to content

字体管理

ComPDFKit PDF SDK 支持读取您设备中已有的字族及其样式,并将其设置为注释、表单、水印、页眉页脚、贝茨码等多个功能的字体。这将帮助您设计出美观的 PDF 文件,或使用符合某些规范要求的字体调整和完善您的 PDF 文件。

在使用字体管理设置字体时,您需要:

  1. 取得系统中所有字族名称。
  2. 选择您需要的字体,取得字族的样式名称。
  3. 选择样式名称后,根据字族名称与样式名称取得字体的 CPDFFont 对象。
  4. CPDFFont 对象即可用作设置字体。
  5. 通过CPDFFont 对象设置应用端字体 UIFont。

以下是代码示例:

swift
// 取得系统中所有字族名称
let fonts: [String] = CPDFFont.familyNames

// 取得字族名对应的字体样式列表,选择字体样式
let fontStyles = CPDFFont.fontNames(forFamilyName: "familyName")

// 根据字族和字体样式,取得 `CPDFFont` 对象
let font =  CPDFFont(familyName: "familyName", fontStyle: "fontStyle")

// 将 `CPDFFont` 对象 名称应用到需要设置字体的功能中,具体设置属性方式见对应功能的文档
let anotation = CPDFLineAnnotation(document: document)
anotation.cFont = font

// 通过`CPDFFont` 对象设置应用端字体 UIFont
let appleFont = UIFont.init(name: CPDFFont.convertAppleFont(cFont ?? CPDFFont(familyName: "Helvetica", fontStyle: "")) ?? "Helvetica"
objective-c
// 取得系统中所有字族名称
NSArray *fonts = [CPDFFont familyNames];

// 取得字族名对应的字体样式列表,选择字体样式
NSArray *fontStyles = [CPDFFont fontNamesForFamilyName:@"familyName"];

// 根据字族和字体样式,取得 `CPDFFont` 对象
CPDFFont *font = [[CPDFFont alloc] initWithFamilyName:@"familyName" fontStyle:@"fontStyle"];

// 将 `CPDFFont` 对象 名称应用到需要设置字体的功能中,具体设置属性方式见对应功能的文档
CPDFLineAnnotation *anotation = [[CPDFLineAnnotation alloc] initWithDocument:document];
[anotation setCFont:font];
 
 // 通过`CPDFFont` 对象设置应用端字体 UIFont
 NSString *fontName = [CPDFFont convertAppleFont:cFont];
 UIFont *appleFont = [UIFont fontWithName:fontName size:18];

关于字族,样式名称

  1. Font Family(字族):

    Font Family 指的是字体的族群或系列名称,通常代表了一组字体,这些字体在设计上有相同的设计风格。

    例如,Helvetica字体族拥有多种不同样式的字体,如Helvetica Regular、Helvetica Bold、Helvetica Italic等,它们都属于Helvetica字族。

  2. Font Style(样式):

    Font Style 指的是字体的具体样式或变体名称。它通常用于区分同一字族中不同的字体样式,例如粗体、斜体、正常体等。

    以 Helvetica 字体族为例,Regular、Bold、Italic 等都是不同样式的名称。