当前位置:首页 > React

react如何预览远程的pdf

2026-01-25 09:02:42React

使用react-pdf预览远程PDF

安装react-pdf库

npm install @react-pdf/renderer

引入PDFViewer组件

import { PDFViewer } from '@react-pdf/renderer';

渲染PDF查看器

<PDFViewer width="100%" height="600px">
  <Document file="http://example.com/document.pdf">
    <Page pageNumber={1} />
  </Document>
</PDFViewer>

使用PDF.js预览远程PDF

安装pdfjs-dist

npm install pdfjs-dist

创建PDF查看组件

import { useEffect, useRef } from 'react';
import * as pdfjsLib from 'pdfjs-dist';

function PDFViewer({ url }) {
  const canvasRef = useRef(null);

  useEffect(() => {
    const loadPDF = async () => {
      const loadingTask = pdfjsLib.getDocument(url);
      const pdf = await loadingTask.promise;
      const page = await pdf.getPage(1);

      const viewport = page.getViewport({ scale: 1.0 });
      const canvas = canvasRef.current;
      const context = canvas.getContext('2d');

      canvas.height = viewport.height;
      canvas.width = viewport.width;

      const renderContext = {
        canvasContext: context,
        viewport: viewport
      };

      await page.render(renderContext).promise;
    };

    loadPDF();
  }, [url]);

  return <canvas ref={canvasRef} />;
}

使用iframe嵌入PDF

简单直接的方法

<iframe 
  src="http://example.com/document.pdf" 
  width="100%" 
  height="600px"
  title="PDF Viewer"
/>

使用Google Docs查看器

通过Google Docs服务嵌入

<iframe
  src={`https://docs.google.com/viewer?url=${encodeURIComponent('http://example.com/document.pdf')}&embedded=true`}
  width="100%"
  height="600px"
  frameBorder="0"
/>

注意事项

确保远程PDF服务器配置了CORS头部,允许从你的域名访问

对于大文件PDF,考虑实现分页加载功能

某些浏览器可能需要PDF插件才能正确显示

react-pdf更适合生成PDF,而PDF.js更适合渲染现有PDF

react如何预览远程的pdf

考虑添加加载状态和错误处理以改善用户体验

标签: reactpdf
分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impor…

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyfra…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react如何发音

react如何发音

React的发音 React的正确发音为 /riˈækt/,类似于“ree-akt”。以下是详细说明: 发音分解 第一个音节“Ree”发音类似英文单词“see”中的“ee”音。…

react如何刷新

react如何刷新

刷新React组件的方法 使用状态更新触发重新渲染 通过更新组件的状态可以触发重新渲染。React会在状态变化时自动重新渲染组件。 const [count, setCount] = useStat…