123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import 'dart:async';
- import 'dart:io';
- import 'dart:typed_data';
- import 'dart:ui' as ui;
- import 'dart:ui';
- import 'package:kmpdfkit_demo/widgets/function/attrwidget/attr_signature_list_widget.dart';
- import 'package:path_provider/path_provider.dart';
- /// signature_image_util.dart
- ///
- /// Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- ///
- /// THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
- /// AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
- /// UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
- /// This notice may not be removed from this file.
- class SignatureImageUtil {
- static Future<String?> saveByteDataImage(ui.Image? image) async {
- ByteData? byteData = await image?.toByteData(format: ImageByteFormat.png);
- final pngBytes = byteData?.buffer.asUint8List();
- // 写入文件
- final directory = await getApplicationDocumentsDirectory();
- Directory folder = Directory('${directory.path}/pdfview/signature/');
- folder.createSync(recursive: true);
- String path =
- '${folder.path}/signature_image_${DateTime.now().millisecond}.png';
- final file = File(path);
- await file.writeAsBytes(pngBytes!.toList());
- return file.existsSync() ? path : null;
- }
- static Future<List<SignatureImageBean>> signatureImages() async {
- final directory = await getApplicationDocumentsDirectory();
- String path = '${directory.path}/pdfview/signature/';
- final folder = Directory(path);
- if (!await folder.exists()) {
- return [];
- }
- final fileList = await folder.list().toList();
- final files = <SignatureImageBean>[];
- for (final entity in fileList) {
- if (entity is File) {
- files.add(SignatureImageBean(File(entity.path), false));
- }
- }
- return files;
- }
- static void delete(List<SignatureImageBean> list) async {
- for (var value in list) {
- value.file.delete();
- }
- }
- }
|