PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
获取表单列表和表单对象的步骤如下:
获取文档对象(CPDFReaderWidget 的控制器或 CPDFDocument 实例)。
获取页面对象。
取得页面对象中的表单列表。
以下是对应的代码:
使用CPDFReaderWidget:
CPDFReaderWidgetController? _controller;
// 初始化 CPDFReaderWidget,并在 onCreated 回调中获取 controller
CPDFReaderWidget(
document: documentPath,
configuration: CPDFConfiguration(),
onCreated: (controller) {
setState(() {
this._controller = controller;
});
},
)
// 获取文档所有表单数据
List<CPDFWidget> widgets = [];
int pageCount = await _controller.document.getPageCount();
for (int i = 0; i < pageCount; i++) {
CPDFPage page = _controller.document.pageAtIndex(i);
var pageWidgets = await page.getWidgets();
widgets.addAll(pageWidgets);
}使用CPDFDocument:
// 创建并打开文档
CPDFDocument document = await CPDFDocument.createInstance();
var error = await document.open(pdfFilePath);
if (error == CPDFDocumentError.success) {
// 获取文档所有表单数据
List<CPDFWidget> widgets = [];
int pageCount = await document.getPageCount();
for (int i = 0; i < pageCount; i++) {
CPDFPage page = document.pageAtIndex(i);
var pageWidgets = await page.getWidgets();
widgets.addAll(pageWidgets);
}
}