我正在使用"pdf"包创建一个带有颤振的pdf。所以我想在pdf中插入一个图像。问题是我不知道如何从建议在"pdf"包中使用的"图像"包中的资产加载图像。Refrence:https://pub.dev/packages/pdf :p df package reference andhttps://pub.dev/packages/image:映像包引用
我尝试了一些代码,但没有一个有效 pdf.dart
import 'package:image/image.dart' as imgs;
final img1 = imgs.decodeImage(File('assets/logo.png').readAsBytesSync());
Image(PdfImage(
pdf.document,
height: 20,
width: 20,
image: img1.data.buffer.asUint8List(),
))
我在项目的assests文件夹中有图像,pubspec.yaml
文件中也有它
我希望使用"图像"包从资产文件夹加载图像。或者有没有另一种方法可以在"pdf"包中加载图像。
当我使用上面的代码时的一些错误:
E/PDFView (13223): load pdf error
E/PDFView (13223): java.io.FileNotFoundException: No such file or directory
有关如何从资源包加载图像,请参阅此答案。 File('assets/logo.png')
将尝试在手机的文件系统上找到该文件,该文件不是您的资源包所在的地方。
或者,如果您还安装了打印包:
import 'package:printing/printing.dart';
import 'package:flutter/material.dart' show AssetImage;
final pdf = Document(deflate: zlib.encode);
PdfImage logoImage = await pdfImageFromImageProvider(
pdf: pdf.document,
image: AssetImage('assets/logo.png'),
);
用 package:pdf/widgets.dart
中的 Image
小部件将其包装,然后将其添加到文档中:
pdf.addPage(
MultiPage(
header: Image(logoImage),
build: Container(),
footer: Container(),
),
);