- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试使用“pdf_dart”库保存 pdf 时遇到问题。
我认为问题与我从互联网下载以尝试附加到 pdf 的图像有关,但我不确定它是什么。
代码
import 'dart:io';
import 'package:app_formulario/models/Customer.dart';
import 'package:path_provider/path_provider.dart';
import 'package:pdf/pdf.dart' as pdfDart;
import 'package:pdf/widgets.dart';
import 'package:image/image.dart' as imageDart;
import 'package:flutter/material.dart' as materialDart;
import 'package:http/http.dart' as http;
class PDFBloc {
PDFBloc() {
final Document pdf = Document();
http
.get(
"https://clsp.com.br/wp-content/uploads/2018/05/logo-clsp-500px.png")
.then((onValue) {
final image = pdfDart.PdfImage(
pdf.document,
image: onValue.bodyBytes,
width: 300,
height: 150,
);
pdf.addPage(Page(build: (Context context) {
return Center(
child: Image(image),
); // Center
}));
criarPDF(pdf);
});
}
void criarPDF(Document pdf) async {
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
appDocPath = "/storage/emulated/0/Android/data/com.rwrd.app_formulario";
final File file = File('$appDocPath/example.pdf');
file.writeAsBytesSync(pdf.save());
}
E/flutter (18670): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: RangeError (index): Index out of range: index should be less than 6307: 6308
E/flutter (18670): #0 Uint8List.[] (dart:typed_data-patch/typed_data_patch.dart:2209:7)
E/flutter (18670): #1 PdfImage._prepare
package:pdf/src/image.dart:183
E/flutter (18670): #2 PdfObject._write
package:pdf/src/object.dart:53
E/flutter (18670): #3 PdfOutput.write
package:pdf/src/output.dart:69
E/flutter (18670): #4 SetMixin.forEach (dart:collection/set.dart:148:30)
E/flutter (18670): #5 PdfDocument._write
package:pdf/src/document.dart:168
E/flutter (18670): #6 PdfDocument.save
package:pdf/src/document.dart:176
E/flutter (18670): #7 Document.save
package:pdf/widgets/document.dart:71
E/flutter (18670): #8 PDFBloc.criarPDF
package:app_formulario/blocs/pdfBloc.dart:53
E/flutter (18670): <asynchronous suspension>
E/flutter (18670): #9 new PDFBloc.<anonymous closure>
package:app_formulario/blocs/pdfBloc.dart:35
E/flutter (18670): #10 _rootRunUnary (dart:async/zone.dart:1134:38)
E/flutter (18670): #11 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (18670): #12 _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
E/flutter (18670): #13 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
E/flutter (18670): #14 Future._propagateToListeners (dart:async/future_impl.dart:709:32)
E/flutter (18670): #15 Future._completeWithValue (dart:async/future_impl.dart:524:5)
E/flutter (18670): #16 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
E/flutter (18670): #17 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
E/flutter (18670): #18 _withClient (package:http/http.dart)
E/flutter (18670): <asynchronous suspension>
E/flutter (18670): #19 get
package:http/http.dart:46
E/flutter (18670): #20 new PDFBloc
package:app_formulario/blocs/pdfBloc.dart:18
E/flutter (18670): #21 FormBloc._recoverCustomerInformations
package:app_formulario/blocs/formBloc.dart:37
E/flutter (18670): #22 _rootRunUnary (dart:async/zone.dart:1134:38)
E/flutter (18670): #23 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (18670): #24 _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
E/flutter (18670): #25 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:338:11)
E/flutter (18670): #26 _DelayedData.perform (dart:async/stream_impl.dart:593:14)
E/flutter (18670): #27 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:709:11)
E/flutter (18670): #28 _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:669:7)
E/flutter (18670): #29 _rootRun (dart:async/zone.dart:1122:38)
E/flutter (18670): #30 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (18670): #31 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (18670): #32 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
E/flutter (18670): #33 _rootRun (dart:async/zone.dart:1126:13)
E/flutter (18670): #34 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (18670): #35 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (18670): #36 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
E/flutter (18670): #37 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
E/flutter (18670): #38 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
E/flutter (18670):
最佳答案
将pdf图像小部件更改为此,
final image = pdfDart.PdfImage.jpeg(
pdf.document,
image: onValue.bodyBytes,
);
关于flutter - 未处理的异常 : RangeError (index): Index out of range: index should be less than,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60126504/
我已经读了差不多有关此错误的文章,但是常见的答案是“使用FutureBuilder”或“使用isEmpty?”。我已经尝试了两种解决方案,但是仍然出现错误。提前致谢。 import 'package:
我想这意味着有一个循环引用,但是对于我的一生,我无法猜测如何解决它。 谁有想法? http://plnkr.co/edit/aNcBcU?p=preview 检查Chrome中的调试控制台(例如),您
我的 JS 代码运行得很好,直到我添加了以下函数: $(".meassure-combo").change(function() { switch ($(this).attr("name"))
我有 HTML: Upload 还有 jQuery/JavaScript: $('.js-uploader').click(function(){ $(this).fi
我正在尝试下载大型 json 数据。但它会导致Uncaught RangeError: Invalid string length。 请帮忙解决这个问题,先谢谢了。 这是 Jsfiddle:http:
smallestInteger = (stack,numbers,k) => { if (stack.length == 0){ stack.push(numbers[k]);
我在nodejs中使用sequelize和mysql。我正在尝试运行命令 npx sequelize db:create 但它给了我这个错误。不知道在这里做什么。任何帮助表示赞赏。谢谢你。 Seque
我收到以下错误 W20141210-18:14:54.394(5.5)? (STDERR) W20141210-18:14:54.395(5.5)? (STDERR) /Users/removed/.
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我有一个更改事件,当选择框更改时会触发该事件。然而,选择框位于被替换的 div 内,因此会重新生成选择框。由于此错误可能是由于无限循环造成的,因此我猜测创建选择框时也必须触发我的触发事件。我尝试了很多
我有一个表格,我必须从中获取我的数据。我正在使用 ejs 模板。我的“/”路由呈现“主” View ,我有一个中间件来处理来自表单的数据,但它返回错误“RangeError:超出最大调用堆栈大小” 我
当运行以下代码时: (function recur() { recur() })() 出现以下错误 - Uncaught RangeError: Maximum call stack size
我有一个正在实现一些自定义验证的表单。这是在提交表单之前处理最终检查的 JavaScript block : $('.enquiry-form-container form').submit(func
为什么我收到RangeError:超出最大调用堆栈错误?我正在尝试解析文本以找到数学并解决它。它一直有效,直到我开始实现括号'。我试图找出错误,但就是无法弄清楚。 我的代码: var alg = {
我收到以下错误: RangeError: Maximum call stack size exceeded. 在这一行: requestAnimFrame(Game.loop()); 在这段代码中:
我在显示来自本地 json 的数据时收到 RangeError (index): Invalid value: Valid value range is empty: 0。我正在尝试使用 simple
我在构建 ListView 时遇到错误。在这个 flutter 应用程序中,我尝试在单击按钮时为每一列计算一些点。但我总是遇到同样的错误。 ══╡ EXCEPTION CAUGHT BY GESTUR
大家好!初学者在这里! 我用Socket.IO制作了一个小Node.JS应用程序,该应用程序运行良好,直到我决定将套接字代码放入对象中以允许 namespace 管理为止。我现在对此方法有疑问(我相信
未为用户设置图像时,出现以下错误: “未处理的异常:RangeError:值不在范围内:22” 摆好照片后,一切就正确了 我的代码: Future getData() async { fina
我是一名优秀的程序员,十分优秀!