跳到内容
  • 福昕首页
  • 开发中心
  • 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
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕高级编辑器
  • 标签:

GSDK如何向PDF添加隐藏的文本域?

  • 福昕知识库
  • 2025-05-25

请参考以下代码:

                    // 添加文本隐藏域
                    Control control = form.addControl(page, "Text Field0", Field.e_TypeTextField, new RectF(50, 600, 90, 640));
                    control.getField().setValue("3");
                    DefaultAppearance defaultAppearance = new DefaultAppearance();
                    // 刷新外观
                    control.getWidget().resetAppearanceStream();

                    int annotCount = page.getAnnotCount();
                    for (int i = 0; i < annotCount; i++) {
                        Annot annot = page.getAnnot(i);
                        // 设置隐藏域的外观不可见
                        annot.setFlags(e_FlagHidden | e_FlagReadOnly);
                        annot.resetAppearanceStream();
                    }

一、创建并配置隐藏文本域

  1. 字段初始化与位置设置
    代码通过 form.addControl() 方法在 PDF 页面中添加文本域控件。参数依次为:目标页面 page、字段名称 "Text Field0"、字段类型 Field.e_TypeTextField(文本类型),以及坐标区域 new RectF(50, 600, 90, 640)。这里的坐标采用 PDF 坐标系(左下角为原点),表示文本域的位置为:左边界 50、下边界 600、右边界 90、上边界 640,实际占据的矩形区域宽度为 40(90-50)、高度为 40(640-600)。
  2. 设置字段值
    通过 control.getField().setValue("3") 为文本域赋值 "3",该值在 PDF 中不可见,但可通过表单数据读取。
  3. 外观刷新
    创建默认外观对象 DefaultAppearance 后,调用 control.getWidget().resetAppearanceStream() 重置控件的外观流。这一步用于确保字段的视觉呈现被更新,尽管隐藏域本身不显示,但外观刷新是应用隐藏属性的必要步骤。

二、隐藏文本域的外观

  1. 遍历页面注释
    通过 page.getAnnotCount() 获取当前页面的注释数量,循环遍历每个注释 Annot annot。注释是 PDF 中标记表单字段等元素的对象,文本域的隐藏属性需通过注释的标志位设置。
  2. 设置隐藏与只读标志
    对每个注释调用 annot.setFlags(e_FlagHidden | e_FlagReadOnly),其中:
    • e_FlagHidden 用于隐藏注释的外观,使文本域在 PDF 中不可见;
    • e_FlagReadOnly 使字段变为只读,防止用户修改其值。
  3. 刷新注释外观
    调用 annot.resetAppearanceStream() 重新生成注释的外观流,确保隐藏和只读属性生效。

关键逻辑总结

遍历所有注释并设置标志位时,建议增加字段名称校验(如通过 annot.getFieldName() 匹配),避免影响其他注释。

核心步骤:创建文本域 → 赋值 → 刷新外观 → 遍历注释并设置隐藏标志。

隐藏原理:通过修改注释的 e_FlagHidden 标志位,而非直接删除字段,使文本域在视觉上不可见,但保留其数据存储功能。

注意事项:

坐标值需根据 PDF 实际尺寸调整,避免与其他元素重叠;

隐藏字段仍可通过 PDF 编辑器的表单查看功能获取值,若需完全安全,需配合 PDF 加密;

相关内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

推荐内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

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

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

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

隐私策略