【发布时间】:2020-01-02 07:15:20
【问题描述】:
我正在尝试使用 HTML、CSS 在 Flutter 中创建 PDF。因此,在某些情况下,我必须使用 html 和 css 呈现资产图像。
在 android 的情况下,它使用资产文件位置(如以下代码中提到的 (file:///android_asset/...))进行渲染:
makeProfileImage() {
return '<img src="file:///android_asset/flutter_assets/assets/image_name.jpg">';
}
如何在 iOS 中获取像 (file:///android_asset/flutter_assets/...) 这样的资产文件路径?
Future<void> printPdf() async {
print('Print ...');
await Printing.layoutPdf(onLayout: (PdfPageFormat format) async {
return await Printing.convertHtml(
format: PdfPageFormat.a4
.applyMargin(left: 0, top: 0, right: 0, bottom: 0),
html: '<html><head>' +
getRatingbarCss() +
'<style>.checked {color: red;}</style>' +
'</head><body style="margin:0;padding:0" bgcolor="white">' +
makeProfileImage() +
'<h2 style="color:black;">Star Rating</h2><span class="fa fa-star checked"/><span class="fa fa-star checked"/><span class="fa fa-star checked"/><span class="fa fa-star"/><span class="fa fa-star"/></body></html>');
});
}
pubspec.yaml
dev_dependencies:
flutter_test:
sdk: flutter
pdf: ^1.3.17
printing: ^2.0.0
flutter_full_pdf_viewer: ^1.0.4
【问题讨论】:
-
将你的资产文件夹放在你的 Flutter 项目中。这不会有帮助吗?
-
是的,我在资产文件夹下有图像,并且已经在 pubspec.yaml 中定义了
-
我不认为这是一个颤振问题。因为如果我理解这一点,它是关于从网络视图访问资产的。
-
只有 iOS 存在问题,因为我们可以在 android 中访问资产图像。但在 iOS 中,我不知道如何访问资产图像路径以通过 HTML、CSS 呈现图像。
-
您可以从这里查看答案stackoverflow.com/questions/56787422/…
标签: html ios image flutter assets