当前位置:首页 > 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页面

如何react页面

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

react架构如何

react架构如何

React 架构核心概念 React 的架构围绕组件化、虚拟 DOM 和单向数据流设计。组件是构建用户界面的独立模块,分为函数组件和类组件。虚拟 DOM 通过高效的 Diff 算法减少直接操作真实 D…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

如何关闭react

如何关闭react

关闭React应用的步骤 在开发或运行React应用时,可能需要关闭正在运行的开发服务器或停止应用。以下是几种常见情况的处理方法: 停止开发服务器 如果正在使用npm start或yarn star…

如何升级react native

如何升级react native

升级 React Native 的步骤 检查当前版本 运行以下命令查看当前项目的 React Native 版本: react-native --version 更新 React Native CL…