docx_template包flutter UnsupportedError(不支持的操作:无法修改不可修改的列表)

问题描述 投票:0回答:1

大家好,我尝试使用 docx_template 包 flutter 在 docx 文件中添加图像 UnsupportedError (不支持的操作:无法修改不可修改的列表)

我在列表中发现了这个错误吗?值 = 等待 docx.generate(c);

Future<File> storeImageInDocx(File imageFile) async {
final appDocumentsDirectory = Platform.isAndroid
    ? await getExternalStorageDirectory() //FOR ANDROID
    : await getApplicationDocumentsDirectory();
String fileDirectory = Platform.isAndroid
    ? "${appDocumentsDirectory?.path.split("Android")[0]}Download/iScanConnect"
    : "${appDocumentsDirectory?.path}";
if (await Directory(fileDirectory).exists() != true) {
  Directory(fileDirectory).createSync(recursive: true);
}
String filePath =
    '$fileDirectory/${DateTime.now().millisecondsSinceEpoch}.docx';
File file = File(filePath);
var data = await rootBundle.load('assets/template.docx');
var bytes = data.buffer.asUint8List();
var docx = await DocxTemplate.fromBytes(bytes);

var c = Content();
// c.add(TextContent("docname", "Simple docname"));
// c.add(ImageContent("image", imageFile.readAsBytesSync()));
c
  ..add(TextContent("docname", "Simple docname"))
  ..add(ImageContent("image", imageFile.readAsBytesSync()));
List<int>? value = await docx.generate(c);
if (value != null) {
  await file.writeAsBytes(value); // Write the generated .docx file to disk
  log('Docx saved to: $filePath');
  showCustomSnackBar(content: 'Docx saved to: $filePath');
  return file;
} else {
  log('Error while saving Docx');
  showCustomSnackBar(content: 'Error while saving Docx');
  return File('');
}

}

flutter flutter-dependencies
1个回答
0
投票

在尝试生成包含一些表格和图像的 docx 时,我遇到了同样的问题。 我发现这个问题是因为“docx_entry.dart”第 29 行有:

arch.files[_index] = ArchiveFile(_name, data.length, data);

而“archive.dart”第 15 行有:

List<ArchiveFile> get files => UnmodifiableListView(_files);

由于“files”是一个“UnmodifyingListView”数据,我们无法修改“arch.files”的内容。

作为此问题的临时解决方案,我只是将“archive.dart”第 15 行更改为:

List<ArchiveFile> get files => _files;

您可以在以下位置找到“archive.dart”: C:\Users\您的用户\AppData\Local\Pub\Cache\hosted\pub.dev rchive-3.5.1\lib\src

© www.soinside.com 2019 - 2024. All rights reserved.