David PHAM-VAN

Fix Pdf Raster on WEB

1 # Changelog 1 # Changelog
2 2
  3 +## 3.7.1
  4 +
  5 +- Fix Pdf Raster on WEB
  6 +
3 ## 3.7.0 7 ## 3.7.0
4 8
5 - Add beta support for Windows Desktop 9 - Add beta support for Windows Desktop
@@ -193,9 +193,6 @@ class PrintingPlugin extends PrintingPlatform { @@ -193,9 +193,6 @@ class PrintingPlugin extends PrintingPlatform {
193 193
194 await promiseToFuture<void>(page.render(renderContext).promise); 194 await promiseToFuture<void>(page.render(renderContext).promise);
195 195
196 - // final Uint8ClampedList data =  
197 - // context.getImageData(0, 0, canvas.width, canvas.height).data;  
198 -  
199 // Convert the image to PNG 196 // Convert the image to PNG
200 final completer = Completer<void>(); 197 final completer = Completer<void>();
201 final blob = await canvas.toBlob(); 198 final blob = await canvas.toBlob();
@@ -233,7 +230,7 @@ class _WebPdfRaster extends PdfRaster { @@ -233,7 +230,7 @@ class _WebPdfRaster extends PdfRaster {
233 @override 230 @override
234 Uint8List get pixels { 231 Uint8List get pixels {
235 if (_pixels == null) { 232 if (_pixels == null) {
236 - final img = asImage(); 233 + final img = im.PngDecoder().decodeImage(png);
237 _pixels = img.data.buffer.asUint8List(); 234 _pixels = img.data.buffer.asUint8List();
238 } 235 }
239 236
@@ -241,28 +238,14 @@ class _WebPdfRaster extends PdfRaster { @@ -241,28 +238,14 @@ class _WebPdfRaster extends PdfRaster {
241 } 238 }
242 239
243 @override 240 @override
244 - Future<Image> toImage() {  
245 - final comp = Completer<Image>();  
246 - decodeImageFromPixels(  
247 - png,  
248 - width,  
249 - height,  
250 - PixelFormat.rgba8888,  
251 - (Image image) => comp.complete(image),  
252 - );  
253 - return comp.future; 241 + Future<Image> toImage() async {
  242 + final codec = await instantiateImageCodec(png);
  243 + final frameInfo = await codec.getNextFrame();
  244 + return frameInfo.image;
254 } 245 }
255 246
256 @override 247 @override
257 Future<Uint8List> toPng() async { 248 Future<Uint8List> toPng() async {
258 return png; 249 return png;
259 } 250 }
260 -  
261 - @override  
262 - im.Image asImage() {  
263 - if (_pixels != null) {  
264 - return super.asImage();  
265 - }  
266 - return im.PngDecoder().decodeImage(png);  
267 - }  
268 } 251 }
@@ -4,7 +4,7 @@ description: Plugin that allows Flutter apps to generate and print documents to @@ -4,7 +4,7 @@ description: Plugin that allows Flutter apps to generate and print documents to
4 homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing 4 homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing
5 repository: https://github.com/DavBfr/dart_pdf 5 repository: https://github.com/DavBfr/dart_pdf
6 issue_tracker: https://github.com/DavBfr/dart_pdf/issues 6 issue_tracker: https://github.com/DavBfr/dart_pdf/issues
7 -version: 3.7.0 7 +version: 3.7.1
8 8
9 environment: 9 environment:
10 sdk: ">=2.3.0 <3.0.0" 10 sdk: ">=2.3.0 <3.0.0"