自动 XFA 选项与布尔创建

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF 消费实际 XFA 布局,在无预置 PDF 槽位的情况下构建选项字段、复选框 widget 以及单选父级与成员

选项字段

combo 与 list 字段使用原生 /FT /Ch 字典;分离的 XFA 显示与保存列表成为 /Opt 导出/显示对,保留 Unicode、分隔符、显式空导出、类型化标量项和导出值两侧空白

可编辑 combo 保留其自由文本值;不可编辑选项要求所选导出存在于其选项列表中

多选值成为按选项顺序排列的有序原生 /V 数组和匹配的 /I 索引;普通的仅值输入使用换行分隔的导出,并在准备期间拒绝重复的选中值

Choice 条目脚本化经由保存的 XDP 为重复导出和空导出保留精确的显式索引,因此其 PDF /I 数组、导出的 /V 值和显示标签外观都不会有歧义

重复选择验证比较精确字符串,不重排编写的选择列表;唯一性验证全程用索引堆排序替代二次配对比较,并持续检查取消

选项外观文本使用显示标签,/V 使用导出值;list appearances 包含测量出的可见窗口和第一个选中项、精确 /TI 顶部索引以及相对选中行高亮,同时保留完整选项图

原生 combo、edit、multi-select、selection-commit 和 readOnly 标志使用精确 PDF 整数令牌,高位标志不会抹掉 readOnly 位

复选框与单选状态

复选框包含真实的 Off 和 on 状态 Form XObject;Boolean styles and captions 消费真实标记形状、尺寸、UI 轮廓、字段颜色、标量 Unicode caption 和第三复选框状态,不依赖所提供字体中的对勾字符

原生 /Opt 保留 XFA 导出值;保留导出 Off 和以 XFAOn 开头的导出获得无冲突的活动状态别名,而其实际导出字符串在 /Opt 中保持不变

单选成员按模板 exclusion-group 路径和原生数据上下文路径共享一个原生父级;重复组获得独立的 /Kids、/V、/Opt 和 widget /AS 状态,即使显示的组名相同

同一单选组内的相同导出设置 RadiosInUnison 并激活每个对应成员;文档级编辑策略与 exclusion-group 访问决定父级 readOnly 标志

exclusion-group 的 tb 和 lr-tb 布局随当前原生数据作用域派发,定位式 exclusion group 把自己的 x/y 原点应用到其成员

运行时持久化与准备

exclusion-group 的 rawValue 读取与赋值参与既有原生事件事务、绑定单元格、表单/数据同步和回滚;保存的运行时 XDP 可直接交给自动创建器

验收 fixture 修改第二个重复 combo、复选框和 exclusion group,立即通过其数据别名读取该组,保存 XDP,并在保留第一实例的前提下独立验证结果 PDF 的值、状态和外观

所有候选准备失败保留目标字节、长度和位置;选项数组、字段名、布尔导出、widget 计数、图分配和聚合外观文本保留既有资源限制

目标 I/O 失败保留 Automatic XFA creation 描述的调用方流边界

剩余消费者工作

富 caption、折行 caption 尺寸、按 edge 与填充轮廓样式、后续 widget 状态提交、后续交互式 list 滚动、多选空行歧义、动态选项项方法、高级 exclusion-group 布局和签名字段仍是独立集成工作

Choice metadata 记录这些原生消费者使用的增量回调提示