Skip to content

插入页面

插入空白页面,或插入其他 PDF 页面到目标页面中。

插入空白页面

以下是插入空白页面的示例代码:

使用CPDFReaderWidget

dart
CPDFReaderWidgetController? _controller;
// 初始化 CPDFReaderWidget,并在 onCreated 回调中获取 controller
CPDFReaderWidget(
  document: documentPath,
  configuration: CPDFConfiguration(),
  onCreated: (controller) {
    setState(() {
      this._controller = controller;
    });
  },
)
  

CPDFPageSize pageSize = CPDFPageSize.a4;
// 自定义页面尺寸
// CPDFPageSize.custom(500, 800);
bool insertResult = await _controller.document.insertBlankPage(pageIndex: 0, pageSize = pageSize);

使用CPDFDocument

dart
// 创建并打开文档
CPDFDocument document = await CPDFDocument.createInstance();
var error = await document.open(pdfFilePath);
if (error == CPDFDocumentError.success) {
  CPDFPageSize pageSize = CPDFPageSize.a4;
  // 自定义页面尺寸
  // CPDFPageSize.custom(500, 800);
  bool insertResult = await document.insertBlankPage(pageIndex: 0, pageSize = pageSize);
}

插入其他 PDF 页面

以下是插入其他 PDF 页面的示例代码:

使用CPDFReaderWidget

dart
CPDFReaderWidgetController? _controller;
// 初始化 CPDFReaderWidget,并在 onCreated 回调中获取 controller
CPDFReaderWidget(
  document: documentPath,
  configuration: CPDFConfiguration(),
  onCreated: (controller) {
    setState(() {
      this._controller = controller;
    });
  },
)
  

final filePath = '/data/user/0/com.compdfkit.flutter.example/cache/temp/PDF_Document.pdf';
final pages = [0,1,2]; // 从文档导入的页码下标集合
final insertPosition = 0; // 文档导入的位置
final result = await _controller.document.importDocument(
  filePath: filePath,
  pages: pages,
  insertPosition: insertPosition,
);

使用CPDFDocument

dart
// 创建并打开文档
CPDFDocument document = await CPDFDocument.createInstance();
var error = await document.open(pdfFilePath);
if (error == CPDFDocumentError.success) {
  final filePath = '/data/user/0/com.compdfkit.flutter.example/cache/temp/PDF_Document.pdf';
  final pages = [0,1,2]; // 从文档导入的页码下标集合
  final insertPosition = 0; // 文档导入的位置
  final result = await document.importDocument(
    filePath: filePath,
    pages: pages,
    insertPosition: insertPosition,
  );
}