将base64字符串转换为Flutter中的PDF文件

4

我想展示一个PDF文件,但是我从服务器上收到的PDF文件是以Base64字符串格式传输的。有没有办法可以在不将其保存为文件的情况下直接将Base64字符串展示在PDF阅读器或WebView中。


你好,你成功完成了吗? - Andrii Havrylyak
不好意思,我找不到解决方案。 - Code Hunter
2个回答

3

请看这个链接:https://dev59.com/qLPma4cB1Zd3GeqPliKe#55599926

(下面的代码是从上面链接中复制来的)

以下代码可以将base64编码的pdf数据转换为字节数组。

import 'packages:dart/convert.dart';

List<int> pdfDataBytes = base64.decode(pdfBase64)
  .map((number) => int.parse(number));

PDFimage插件似乎适合您显示PDF的需求。

代码应该大致如下:

import 'package:pdf/pdf.dart';
import 'package:image/image.dart';

...
Image img = decodeImage(pdfDataBytes);
PdfImage image = PdfImage(
  pdf,
  image: img.data.buffer.asUint8List(),
  width: img.width,
  height: img.height);
// Display it somehow
...

PdfImage对象中的pdf参数是什么? - BosS

2

起初我和你一样也在尝试同样的事情。但是我没有找到合适的解决方案将base64字符串转换为pdf文件。

我认为你可以获取BufferArray,然后将其转换为pdf文件。 我已经回答了如何将blob数据解析为pdf的问题: 如何将ByteBuffer转换为pdf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接