我需要发送一封电子邮件与生成的pdf附件。
现在,我成功地生成了pdfs,并且我可以将它们保存到电话内存中,为此,我遵循以下文章:将颤振应用程序屏幕导出为PDF。
但现在我想把它自动附加到电子邮件和发送。有了那篇文章里的信息,这是不可能的。因为它引导我到一个屏幕,在其中我必须选择pdf参数和pdf名称。
下面是我用来生成PDF的代码:
void printScreen() {
Printing.layoutPdf(onLayout: (PdfPageFormat format) async {
final doc = pw.Document();
final image = await WidgetWraper.fromKey(
key: printKey,
pixelRatio: 2.0,
);
doc.addPage(pw.Page(
pageFormat: format,
build: (pw.Context context) {
return pw.Center(
child: pw.Expanded(
child: pw.Image(image),
),
);
}));
return doc.save();
});
}
要发送电子邮件,我正在阅读颤振电子邮件发件人软件包的文档,但我不知道如何用预定义的名称自动生成PDF,将其附加到电子邮件中,然后发送。
发布于 2022-07-19 13:41:17
正如您已经提到的,您可以生成PDF并将它们保存在电话内存中,现在您只需要在电子邮件构造函数中传递附件路径(其中保存附件文件)。
完成发送方法代码。
Future<void> send() async {
final Email email = Email(
body: _bodyController.text,
subject: _subjectController.text,
recipients: [_recipientController.text],
attachmentPaths: attachments,
isHTML: isHTML,
);
String platformResponse;
try {
await FlutterEmailSender.send(email);
platformResponse = 'success';
} catch (error) {
print(error);
platformResponse = error.toString();
}
if (!mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(platformResponse),
),
);
}
https://stackoverflow.com/questions/73036531
复制相似问题