Skip to content

填充表单字段

ComPDFKit 支持通过代码向 PDF 文档中的表单字段填充内容。

填充表单字段的步骤如下:

  1. 从 CPDFDocument 获取要填充表单的页面对象。

  2. 从页面对象中检索所有表单控件。

  3. 遍历所有表单,找到需要填充的字段。

  4. 根据需要修改表单字段的内容。

以下示例演示如何填充表单字段:

tsx
const pageIndex = 0;
// 获取第一页的页面对象
const cpdfPage: CPDFPage = pdfReaderRef?.current?._pdfDocument.pageAtIndex(pageIndex);

// 获取当前页面上的所有表单控件
const widgets = await page?.getWidgets();

// 填充文本字段内容
// 假设当前页面上有一个文本字段表单,并获取 `CPDFTextWidget` 对象
const textWidget = widgets[0] as CPDFTextWidget;
// 设置文本字段内容为 "Hello World"
await textWidget.setText('Hello World');
// 刷新表单外观以应用更改(此步骤必需)
await textWidget.updateAp();

// 修改单选按钮的选中状态
const radioButtonWidget = widgets[0] as CPDFRadiobuttonWidget;
// 设置单选按钮为选中状态
await radioButtonWidget.setChecked(true);
// 刷新单选按钮的外观
await radioButtonWidget.updateAp();

// 修改复选框的选中状态
const checkboxWidget = widgets[0] as CPDFCheckboxWidget;
// 设置复选框为选中状态
await checkboxWidget.setChecked(true);
// 刷新复选框的外观
await checkboxWidget.updateAp();

// 在签名表单中添加电子签名
const signatureWidget = widgets[0] as CPDFSignatureWidget;
// Android 支持的 URI 格式:
await signatureWidget.addImageSignature('content://media/external/images/media/123');
// 或使用文件路径:
await signatureWidget.addImageSignature('/path/to/image');
// 刷新签名表单的外观
await signatureWidget.updateAp();