我正在尝试使用https://pub.dev/packages/pdf包在Flutter web中生成PDF。一切都很好,除了图像,它们不能工作。我尝试了几种方法,但都没有成功。所以我的问题是-如何在Flutter web中传递和显示PDF格式的图像?
1路抛出chrome异常错误: RangeError (索引):索引超出范围:索引应小于876: 876
import 'dart:async';
import 'dart:typed_data';
import 'package:flutter/widgets.dart' as w;
import 'package:inspections/models/inspection.dart';
import 'package:intl/intl.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' ;
Future<Document> generateDocument(
PdfPageFormat format, Uint8List logo) async {
final Document doc = Document(
title: 'name',
author: 'author',
);
PdfImage sample = PdfImage(doc.document, image: logo, width: 100, height: 100, alpha: true);
....
2方法不返回任何内容:
import 'package:flutter/widgets.dart' as w;
ByteData byteData = await rootBundle.load('assets/image.png');
var k = byteData.buffer.asUint8List();
var temp = await pdfImageFromImageProvider(
pdf: doc.document,
image: w.MemoryImage(k));
发布于 2020-09-04 11:34:52
这个在Flutter web上对我来说很有效:
ByteData imageData;
rootBundle
.load('assets/XYZ.jpg')
.then((data) => setState(() => this.imageData = data));
...
final image = PdfImage.jpeg(
pdf.document,
image: imageData.buffer.asUint8List()
);
...
pw.Image(image)
https://stackoverflow.com/questions/60718909
复制