跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 福昕首页
  • 开发中心
  • SDK文档资料
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
    • 网页版
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Plug-in)
  • 标签:

如何生成格式化页码?

  • 福昕知识库
  • 2024-08-23

什么是格式化页码?

在福昕PDF编辑器左侧的侧边栏中,打开缩略图,选中一个缩略图后右键,可以看见编辑器中有格式化页码的功能,可以让原本是“1,2,3,4”格式的页码,增加前缀,或改为罗马数字等样式。

在区分文档目录、文档章节时比较常见,在用户通过缩略图查找内容时能给予提示用于区分不同章节等信息,如下图所示:

通过SDK实现的示例代码如下:


void addPageLanbles()
{
	FR_Document frDocument = FRAppGetActiveDocOfPDDoc();
	FPD_Document fpdDocument = FRDocGetPDDoc(frDocument);
	FPD_Object docObj= FPDDocGetRoot(fpdDocument);
	docObj = FPDObjectGetDict(docObj);

	FPD_Object pageLablesObj= FPDDictionaryNew();
	FPD_Object numsArray = FPDArrayNew();
	//从第0页开始,是阿拉伯数字形式的页码
	int startPageIndex = 0;
	FPD_Object pageLable = FPDDictionaryNew();
	//页码序号类型: D 十进制阿拉伯数字;R 大写罗马数字;r 小写罗马数字; A 大写字母; a小写字母
	FPDDictionaryAddValue(pageLable, "S", FPDNameNew( "D"));
	FPDDocAddIndirectObject(fpdDocument, pageLable);
	FPDArrayAddInteger(numsArray, startPageIndex);
	FPDArrayAddReference2ToDoc(numsArray, fpdDocument, pageLable);

	//从第3页开始,自定义的前缀
	startPageIndex = 3;
	pageLable = FPDDictionaryNew();
	FPDDictionaryAddValue(pageLable, "S", FPDNameNew("R"));//罗马数字
	FPDDictionaryAddValue(pageLable, "P", FPDStringNewW(L"foxit福昕_"));
	//该前缀出现的第一页,页码号从1开始,
	FS_INT32 prefixSatrt = 1;
	FPDDictionaryAddValue(pageLable, "St",FPDNumberNewByInt(prefixSatrt));
	FPDDocAddIndirectObject(fpdDocument, pageLable);
	FPDArrayAddInteger(numsArray, startPageIndex);//从第三也开始显示带有前缀的前缀页码
	FPDArrayAddReference2ToDoc(numsArray, fpdDocument, pageLable);

	//从第6页开始不显示页码
	startPageIndex = 6;
	FPD_Object pageLable2= FPDDictionaryNew();
	FPDDictionaryAddValue(pageLable2, "P", FPDStringNewW(L""));//前缀为空,并且没有页码(S)
	FPDDocAddIndirectObject(fpdDocument, pageLable2);
	FPDArrayAddInteger(numsArray, startPageIndex);
	FPDArrayAddReference2ToDoc(numsArray, fpdDocument, pageLable2);


	FPDDictionaryAddValue(pageLablesObj, "Nums", numsArray);
	FPDDictionaryAddValue(docObj, "PageLabels", pageLablesObj);
	FPDDocSave(fpdDocument, "D:/test/AddPageLables.pdf", 0, false);
}

效果如下:

相关内容

编辑器中如何设置不同文档权限保护策略

Linux版本中如何获取电脑的UUID信息

编辑器中如何使用密码保护功能

专业获取当前页面截图的技术实现方案

PDF文档关键词搜索替换功能的技术实现方案

基于HTTP范围请求的非事件监听式PDF注释数据自动导入方案

基于ActiveX控件的高效PDF阅读水印实现方案

Web SDK UIExtension 右键菜单深度定制指南(基于jQuery-contextMenu)

如何分别自定义文本类型注释(打字机/文本框/注释框)的默认样式属性

在WebSDK实现放置签名

推荐内容

编辑器中如何设置不同文档权限保护策略

Linux版本中如何获取电脑的UUID信息

编辑器中如何使用密码保护功能

专业获取当前页面截图的技术实现方案

PDF文档关键词搜索替换功能的技术实现方案

基于HTTP范围请求的非事件监听式PDF注释数据自动导入方案

基于ActiveX控件的高效PDF阅读水印实现方案

Web SDK UIExtension 右键菜单深度定制指南(基于jQuery-contextMenu)

如何分别自定义文本类型注释(打字机/文本框/注释框)的默认样式属性

在WebSDK实现放置签名

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2025 福建福昕软件开发股份有限公司 版权所有

隐私策略