如何在react.js中显示pdf文件

时间:2019-09-19 11:02:49

标签: reactjs react-native

我只是尝试使用react-native-web来为ios,android和web采样应用程序。在这里,我必须从服务器下载pdf文件,同时单击showpdf按钮,下载的文件需要在android应用程序以及Windows浏览器中同时打开。对于浏览器下载,我使用了以下代码

 fetch('http://www.pdf995.com/samples/pdf.pdf',{ 
      method: 'GET', 
      mode: 'no-cors',
      responseType: 'blob', // important
    headers: {       
      'Content-Type': 'application/json',
    },})
            .then(response => {
        const url = window.URL.createObjectURL(new Blob([response.data]));
        const link = document.createElement('a');
        link.href = url;
        link.setAttribute('download', item.pdfFileName);
        document.body.appendChild(link);
        link.click();
        this.setState({
          pdf_url:url
        });

下载后,我需要打开这个pdf文件。如果有人知道,请帮忙。谢谢。

2 个答案:

答案 0 :(得分:0)

我建议您查看https://www.npmjs.com/package/react-pdf库,使用该库您可以像显示图像一样简单地显示pdf

这里是在线演示http://projects.wojtekmaj.pl/react-pdf/

答案 1 :(得分:0)

您可以使用<iframe>在页面中直接预览PDF,并将src属性设置为pdf_url。 window.open(pdf_url)也是如上所述的一个选项,但是它要求用户关闭adblocker / pop-up阻止程序。

在您的render()中:

{pdf_url && <iframe src={pdf_url} />}

请参见MDN for multiple ways to display files