我正在使用 pdf lib 生成 pdf,并且我想在來自 API 的 pdf 中添加一個文本,該文本可能很長,例如 3,4 頁或更多。下面是我的代碼。
List<pw.Widget> widgets = [];
widgets.add(pw.Text(provider.getExtractedText));
final pdf = pw.Document();
pdf.addPage(
pw.MultiPage(
build: (pw.Context context) {
return [
pw.Wrap(
children: widgets
)
];
},
),
);
但我得到以下例外。
E/flutter (19405): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: This widget created more than 20 pages. This may be an issue in the widget or the document. See https://pub.dev/documentation/pdf/latest/widgets/MultiPage-class.html
E/flutter (19405): #0 MultiPage.generate.<anonymous closure> (package:pdf/src/widgets/multi_page.dart:251:11)
E/flutter (19405): #1 MultiPage.generate (package:pdf/src/widgets/multi_page.dart:255:8)
E/flutter (19405): #2 Document.addPage (package:pdf/src/widgets/document.dart:118:10)
E/flutter (19405): #3 _DocumentConversionScreenState.saveFile (package:speak_and_translate/screens/document_conversion_screen.dart:215:11)
E/flutter (19405): <asynchronous suspension>
E/flutter (19405):
uj5u.com熱心網友回復:
您的堆疊跟蹤為您提供檔案和行號 - 所以去那里看看:
// Detect too big widgets
if (sameCount > maxPages) {
throw Exception(
'This widget created more than $maxPages pages. This may be an issue in the widget or the document. See https://pub.dev/documentation/pdf/latest/widgets/MultiPage-class.html');
}
如您所見,它與maxPages. 那個套裝在哪里?檢查第 152 行:
this.maxPages = 20,
因此,將默認值更改為您的應用程式的合理數字:
pw.MultiPage(
maxPages: 40, // <- add max pages here
build: (pw.Context context) {
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/521456.html
下一篇:洗掉和移動pikepdf中的元素
