Guides
预定义表单域
预定义表单域允许您设置默认的表单属性,以便在创建新表单域时自动应用这些属性。您可以通过 CPDFConfiguration 或 CPDFReaderWidgetController 来设置预定义表单域属性。
以下是如何设置预定义表单域属性的示例:
通过 CPDFConfiguration 设置预定义表单域属性
dart
CPDFReaderWidget(
document: widget.documentPath,
configuration: CPDFConfiguration(
formsConfig: const CPDFFormsConfig(
initAttribute: CPDFFormAttribute(
textFieldAttr: CPDFTextFieldAttr(
fillColor: Colors.lightBlue,
borderWidth: 10,
fontSize: 20,
borderColor: Colors.pink,
fontColor: Colors.white,
alignment: CPDFAlignment.right,
familyName: 'Times',
styleName: 'Bold'
),
checkBoxAttr: CPDFCheckBoxAttr(
fillColor: Colors.lightBlue,
borderWidth: 8,
borderColor: Colors.pink,
checkedColor: Colors.deepOrange,
isChecked: true,
checkedStyle: CPDFCheckStyle.circle
),
radioButtonAttr: CPDFRadioButtonAttr(
fillColor: Colors.lightBlue,
borderWidth: 8,
borderColor: Colors.pink,
checkedColor: Colors.deepOrange,
isChecked: true,
checkedStyle: CPDFCheckStyle.circle
),
listBoxAttr: CPDFListBoxAttr(
fillColor: Colors.lightBlue,
borderWidth: 8,
borderColor: Colors.pink,
fontColor: Colors.white,
familyName: 'Academy Engraved LET',
styleName: 'Plain',
fontSize: 20
),
)
)
);更多表单域可预定义的属性请参考
CPDFFormAttribute类的定义。
通过 CPDFReaderWidgetController 设置预定义表单域属性
dart
// 获取当前定义的表单域默认属性
CPDFFormAttribute defaultFormStyle = await controller.fetchDefaultWidgetStyle();
// 修改默认属性
// 修改文本域属性
final textFieldAttr = defaultAttr.textFieldAttr.copyWith(
fillColor: Colors.lightGreen,
borderColor: Colors.deepOrange,
borderWidth: 5,
fontColor: Colors.black,
fontSize: 20,
alignment: CPDFAlignment.center,
multiline: true,
familyName: familyName,
styleName: styleName,
);
await controller.updateDefaultWidgetStyle(textFieldAttr);更多可修改的属性请参考各表单域属性类的定义,例如
CPDFTextFieldAttr、CPDFCheckBoxAttr等。