页面标签
福昕 PDF SDK iOS 版通过 Core SDK 提供了页面标签(Page Labels)的读取和设置能力。页面标签允许为文档中的不同页面段设置不同的编号格式(如罗马数字、字母等),常见于书籍中的前言和正文使用不同页码格式。
核心类
| 类 | 说明 |
|---|---|
FSPageLabels | 页面标签管理器,通过文档对象构造 |
标签样式常量
| 常量 | 说明 |
|---|---|
FSPageLabelsNone | 无编号(仅前缀) |
FSPageLabelsDecimalNums | 十进制数字(1, 2, 3...) |
FSPageLabelsUpperRomanNums | 大写罗马数字(I, II, III...) |
FSPageLabelsLowerRomanNums | 小写罗马数字(i, ii, iii...) |
FSPageLabelsUpperLetters | 大写字母(A, B, C...) |
FSPageLabelsLowerLetters | 小写字母(a, b, c...) |
示例:设置和读取页面标签
objc
#import <FoxitRDK/FSPDFObjC.h>
FSPDFDoc *doc = [[FSPDFDoc alloc] initWithPath:@"path/to/Sample.pdf"];
[doc load:nil];
FSPageLabels *pageLabels = [[FSPageLabels alloc] initWithDocument:doc];
// 为前 4 页设置小写罗马数字标签(前缀 "P-",起始编号 1)
[pageLabels setPageLabel:0
label_style:FSPageLabelsLowerRomanNums
first_label_number:1
prefix_string:@"P-"];
// 从第 5 页开始设置十进制数字标签(起始编号 1)
[pageLabels setPageLabel:4
label_style:FSPageLabelsDecimalNums
first_label_number:1];
// 读取页面标签
for (int i = 0; i < [doc getPageCount]; i++) {
if ([pageLabels hasPageLabel:i]) {
NSString *title = [pageLabels getPageLabelTitle:i];
NSLog(@"第 %d 页标签: %@", i, title);
}
}
// 移除指定页面的标签
[pageLabels removePageLabel:0];
// 移除所有标签
[pageLabels removeAll];
[doc saveAs:@"path/to/output.pdf" saveFlags:FSPDFDocSaveFlagNormal];
API 参考
FSPageLabels 的完整接口说明请参阅 API 手册。