如何更改pdf原始数据,以便可以在react native expo中下载

问题描述 投票:0回答:1

这是我从 api 得到的响应,它是原始 pdf 数据。

%PDF-1.4
%цдьЯ
1 0 obj
<<
/Type /Catalog
/Version /1.4
/Pages 2 0 R
/ViewerPreferences 3 0 R
>>

我尝试将其更改为字符串,然后编码为base64,这会出现错误,然后尝试直接转换为base64,它正在创建一个pdf文件,但它是空的。我不确定使用哪个库来将此内容下载为 pdf,然后在博览会应用程序中查看。

const Buffer = require('buffer').Buffer;

let encodedAuth = new Buffer(responseBlob).toString('base64'); //above raw pdf

我正在尝试构建一个允许用户下载pdf文件的应用程序,下载完成后用户可以在react native expo应用程序中查看pdf

react-native pdf download expo documentviewer
1个回答
0
投票

下载和查看文件(例如 pdf)的一种方法是首先使用 FileSystem.downloadAsync 将内容下载到本地文件,然后使用 Sharing 在任何能够执行此操作的应用程序(例如 PDF 阅读器)中查看它.

import * as FileSystem from 'expo-file-system';
import * as Sharing from 'expo-sharing';

const result = await FileSystem.downloadAsync(
  'https://pdfobject.com/pdf/sample.pdf',
  FileSystem.documentDirectory + 'sample.pdf'
);

if (result.status == 200) {
  Sharing.shareAsync(result.uri);
}
© www.soinside.com 2019 - 2024. All rights reserved.