Form
概述
Form 是 Aspose.PDF FOSS 中用于 .NET 的类。继承自:ICollection<Aspose.Pdf.Annotations.WidgetAnnotation>。
表示 PDF 文档的交互式表单(AcroForm)。
此类提供 37 个方法,用于在 .NET 程序中处理 Form 对象。可用的方法包括:Add、AddFieldAppearance、AssignXfa、CopyTo、Delete、ExportFdf、ExportToJson、ExportXfdf、FindByName、FindField、Flatten、Form,以及另外 15 个方法。安装 Aspose.PDF FOSS for .NET 包后,所有公共成员对任何 .NET 应用程序均可访问。属性包括:AutoRecalculate、AutoRestoreForm、CalculatedFields、Count、DefaultAppearance、DefaultResources,以及另外 14 项。
属性
| 名称 | 类型 | 访问 | 描述 |
|---|---|---|---|
HasXfa | bool | 读取 | 当表单包含 XFA 部分时为真。 |
AutoRecalculate | bool | 读写 | 当为真时,每当依赖项更改就重新计算已计算的字段。 |
AutoRestoreForm | bool | 读写 | 当 AcroForm /Fields 条目缺失/为空时,表单是否从页面小部件重新构建其字段(默认 true)。 |
CalculatedFields | IEnumerable<Field>? | 读写 | 用于驱动计算传递的字段顺序。 |
DefaultAppearance | Aspose.Pdf.Annotations.DefaultAppearance | 读写 | 默认外观应用于未携带自身 /DA 的字段。 |
DefaultResources | Aspose.Pdf.Resources? | 读取 | 表单使用的默认字体/颜色空间资源。 |
IsSynchronized | bool | 读取 | 底层集合是否线程安全。 |
NeedsRendering | bool | 读取 | 当表单设置了 NeedsAppearances 标志时为 True。 |
RemovePermission | bool | 读写 | 当为 true 时,文档的权限位将在保存前被剥除。 |
SignaturesAppendOnly | bool | 读写 | 为 true 时,写入器会忽略绕过签名的修改。 |
SyncRoot | object | 读取 | 用于 IsSynchronized 的同步根对象。 |
Type | FormType | 读写 | 表单类型(Standard、Static、Dynamic)。 |
IsXfa | bool | 读取 | 此表单是否为 XFA 表单。 |
XFA | XFA? | 读取 | XFA 访问器,公开底层的 XML 包(模板、数据集,…)。 |
Fields | Field[] | 读取 | 返回表单字段的快照数组。 |
IgnoreNeedsRendering | bool | 读写 | 当为 true 时,表单的 NeedAppearances 条目被抑制,因而 Acrobat 在打开时不会重新构建小部件外观。 |
EmulateRequierdGroups | bool | 读写 | 当为 true 时,表单的 flatten 步骤会为 XFA 风格的 ‘requiredGroups’ 添加一个合成的 Required 标记,该标记对应的至少一个必需约束未满足。 |
Count | int | 读取 | ROOT 表单字段的数量 — 即 AcroForm /Fields 数组的条目(其 field-/Parent 为 null 的字段)。 |
RadioGroups | IReadOnlyList<RadioButtonGroup> | 读取 | 表单中的所有单选按钮组。 |
SignaturesExist | bool | 读写 | 如果此表单中存在任何签名字段且其非空的 /V 签名字典,则为 True。 |
方法
| 签名 | 描述 |
|---|---|
GetEnumerator() | 在此 Form 实例上调用 GetEnumerator。 |
Add(field: Field, partialName: string, pageNumber: int) | 将字段复制到表单中,使用新的部分名称,并将其 widget(s) 绑定到 pageNumber。 |
AddFieldAppearance(field: Field, pageNumber: int, rect: Rectangle) | 在矩形内的特定页面上,向字段追加一个全新的 widget 外观。 |
AssignXfa(xml: XmlDocument) | 用给定的 XmlDocument 替换 XFA 数据集。 |
CopyTo(array: Field[], index: int) | 将字段复制到提供的数组中,从索引开始。 |
Delete(field: Field) | 从表单中移除提供的字段。 |
ExportToJson(stream: Stream) | 通过提供的流将表单字段序列化为 JSON。 |
ExportToJson(fileName: string) | 将表单字段序列化为文件中的 JSON。 |
ExportToJson(stream: Stream, options: ExportFieldsToJsonOptions?) | 通过提供的流将表单字段序列化为 JSON。 |
ExportToJson(fileName: string, options: ExportFieldsToJsonOptions?) | 将表单字段序列化为文件中的 JSON。 |
GetFieldsInRect(rect: Rectangle) | 返回与提供的矩形相交的字段。 |
HasField(field: Field) | True 当提供的字段属于此表单时。 |
ImportFromJson(stream: Stream) | 从 JSON 流读取表单字段值并应用它们。 |
ImportFromJson(fileName: string) | 从 JSON 文件读取表单字段值并应用它们。 |
MakeFormAnnotationsIndependent(page: Page) | 将表单注释从字段树中分离,以便它们能够在页面之间独立移动。 |
RemoveFieldAppearance(field: Field, appearanceIndex: int) | 从字段中删除特定的外观条目。 |
GetXfaDatasetsXml() | 获取 XFA 数据集 XML,如果不是 XFA 表单则返回 null。 |
ExportFdf() | 根据 PDF 规范 §12.7.7,将表单字段数据导出为 FDF(Forms Data Format)。 |
ImportFdf(fdfData: byte[]) | 从 FDF 字节导入表单字段数据。 |
ExportXfdf() | 将表单字段数据导出为 XFDF(XML Forms Data Format)。 |
ImportXfdf(xfdfXml: string) | 从 XFDF XML 字符串导入表单字段数据。 |
GetXfaFieldValue(path: string) | 通过数据集 XML 中的点分路径获取 XFA 字段值。 |
SetXfaFieldValue(path: string, value: string) | 通过点分路径在数据集 XML 中设置 XFA 字段值。 |
SetXfaFieldValues(values: IReadOnlyList<KeyValuePair<string, string>>) | 在一次 datasets 解析/序列化 循环中设置多个 XFA 字段值。 |
SetXfaFieldImage(path: string, base64: string, contentType: string) | 将 base64 图像写入 XFA datasets 节点的路径,并使用给定的 contentType 标记它(例如. |
Flatten() | 将所有表单字段展平——将它们的视觉外观渲染到页面内容中,并移除交互式表单。 |
Flatten(document: Document) | 将所有表单字段扁平化——将其视觉外观渲染到页面内容中并移除交互式表单。 |
Form(document: Document) | 构建一个绑定到文档的 Form。 |
Delete(fieldName: string) | 按名称删除表单字段。 |
Add(field: Field) | 在指定页面的表单中添加字段。 |
Add(field: Field, pageNumber: int) | 要添加的字段。 |
findField(fullName: string) | 按名称查找字段;未找到时返回 null。 |
FindField(fullName: string) | PascalCase 是 findField 的别名。 |
ToObject() | 将所有字段值导出为字典(字段名 → 值)。 |
HasField(fieldName: string) | 如果在 AcroForm 中存在具有给定完整名称的字段,则为 True。 |
HasField(fieldName: string, searchChildren: bool) | 如果存在具有给定名称的字段,则为 True。 |
FindByName(fullName: string) | 按完整名称或 XFA 路径查找字段(适用于静态 XFA 表单)。 |