【问题标题】:Can you display PDF files in a new tab within a React JS Application您可以在 React JS 应用程序的新选项卡中显示 PDF 文件吗
【发布时间】:2020-08-28 03:02:31
【问题描述】:

我正在尝试 React JS 并制作我的第一个应用程序。我想制作一个按钮,在新选项卡中显示 PDF 文件,该按钮将出现在新选项卡中,类似于它在本地文件中的查看方式。我尝试了几种方法,但所有解决方案都不适合我的应用程序。还有一种方法可以完全在前端执行此操作,例如将 pdf 文件放在应用程序文件中,因为某些解决方案告诉我将其放在后端或服务器端。

【问题讨论】:

  • 如果您尝试了几件事,请在此处列举它们并说明它们是如何不起作用的。
  • 他们中的大多数都在制作我自己的 PDF 查看器,但我认为它不太适合我的应用程序,另一个是用于 vanilla javascript 和 html,但我不确定它是否适用于 JSX。我主要是在寻找将基于浏览器显示的内容,就像我上面解释的那样。
  • 您可以像导入常规组件一样导入 pdf,然后使用a 标签在新窗口中打开它

标签: javascript html reactjs pdf web-frontend


【解决方案1】:
import react from  'react'
import file from "../../forms/f14134.pdf";


const myComponent = ()=>{
return
<div>
    <iframe
            style={{ width: "563px", height: "666px" }}
            src={file}
            type='application/pdf'
            title='title'
          />
</div>
export default myComponent

react 将使用您的对象启动 pdf 查看器的本机浏览器版本,如果您没有很多可以直接导入到 react

【讨论】:

  • 非常感谢,我试过了,它成功了,我只是不喜欢它占用了一定的空间而不是整个窗口,而是 window.open(file) 正义
  • 我只是演示了样式标签的属性,您可以删除样式,它将是整个屏幕:D
【解决方案2】:

你可以用纯 HTML 和一点纯 JS 做到这一点:

<button onclick = "showpdf('./pdfs/myfile.pdf')"></button>
<script>
function showpdf(directory){
window.open(directory);
}
</script>

如果您想在新标签中使用它。

【讨论】:

  • 这个确实适用于 HTML 和 Javascript,但在 React 中有点不同,基本上我将你的答案与我标记为正确的答案结合在一起。导入 PDF 文件的位置(import file from 'file.pdf' and open is using window.open(file)` 文件是导入的名称
  • 没问题老兄!
猜你喜欢
  • 1970-01-01
  • 2020-11-26
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多