import 'dart:io';
import 'package:flutter/material.dart' as material ;
import 'package:flutter/services.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
class PdfParagraphApi {
static Future<void> generate(key) async {
final pdf = pw.Document();
final img = pw.MemoryImage(await rootBundle.load('assets/img.png')).buffer.asUint8List();
pdf.addPage(
pw.MultiPage(
build: (context) => <pw.Widget>[
pw.Image(img),
]),
);
}
}
我正在嘗試創建一個包含影像的 pdf,并且我正在使用庫 pdf/widgets.dart 來創建我在顫振檔案中找到的影像,但我遇到了一個問題。錯誤訊息如下:未定義函式“MemoryImage”。嘗試匯入定義“MemoryImage”的庫,將名稱更正為現有函式的名稱,或定義名為“MemoryImage”的函式。dartundefined_function
insert image into pdf not working
uj5u.com熱心網友回復:
替換pw.MemoryImage
為material.MemoryImage
,因為 MemoryImage 來自繪畫庫,包含在材質庫中。
uj5u.com熱心網友回復:
嘗試替換以下匯入:
import 'package:flutter/material.dart' as material ;
有了這個import 'package:flutter/material.dart';
uj5u.com熱心網友回復:
試試下面的方法:
你需要的進口
import 'package:flutter/material.dart';
import 'dart:math';
import 'dart:typed_data';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart ' as pw;
import 'dart:io';
import 'package:permission_handler/permission_handler.dart';
在頂部,您需要定義要列印的影像_imageFile = someImage
:
Uint8List? _imageFile ;
然后這是將影像制作為pdf并將其保存在下載檔案夾中的功能
Future getPdf() async {
var random = Random();
var uniqueNum = random.nextInt(99999);
//get storage permission
Map<Permission, PermissionStatus> storagePermission = await [
Permission.storage,
].request();
pw.Document pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (context) {
return pw.Expanded(
child: pw.Image(pw.MemoryImage(_imageFile), fit: pw.BoxFit.contain),
);
},
),
);
String path = await ExternalPath.getExternalStoragePublicDirectory(
ExternalPath.DIRECTORY_DOWNLOADS);
String mainPath = "$path/Report$uniqueNum.pdf";
File pdfFile = File(mainPath);
pdfFile.writeAsBytesSync(await pdf.save());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/523823.html
標籤:扑pdf生成颤动图像
上一篇:[真棒通知](9522):無效通知(沒有有效的小圖示)
下一篇:如何查看應用于小部件的樣式?