一款前端PDF插件

EmbedPDF 一款Web PDF查看器,基于PDFium WebAssembly渲染,可快速集成到任何JavaScript项目(React、Vue、Svelte、原生JS等),提供开箱即用与无头组件两种模式。

一、核心优势

  • 框架无关:完美兼容React、Vue、Svelte、Preact、原生JS等,无框架锁定。

  • 性能强劲:底层用PDFium WebAssembly,渲染快、精度高,支持虚拟滚动。

  • 两种集成模式

    • 开箱即用(@embedpdf/snippet):2行代码快速集成,自带完整UI、工具栏、响应式布局。

    • 无头组件(@embedpdf/core):仅提供渲染引擎,100%自定义UI,体积更小。

  • 功能丰富:支持标注、文本搜索、缩放、旋转、内容编辑、插件化扩展。

与传统方案对比

方案 优势 劣势
EmbedPDF 易集成、高性能、可定制、框架无关、开源 较新,生态在完善
pdf.js 成熟、功能全 配置复杂、易报错、定制难
iframe/embed 零代码 无法定制、体验差、跨域限制
后端转图片 兼容性好 丢失文本、加载慢、无法交互

二、快速集成(开箱即用)

1. 安装
复制代码
npm install @embedpdf/snippet
# 或
yarn add @embedpdf/snippet
2. 原生JS示例
复制代码
<div id="pdf-viewer" style="height: 600px;"></div>
<script type="module">
  import { EmbedPDF } from '@embedpdf/snippet';
  new EmbedPDF({
    container: '#pdf-viewer',
    src: 'https://example.com/your-document.pdf'
  });
</script>
3. Vue示例
复制代码
<template>
  <div style="height: 600px;">
    <EmbedPDF :config="{ src: 'https://example.com/your-document.pdf' }" />
  </div>
</template>

<script setup>
import { EmbedPDF } from '@embedpdf/snippet/vue';
</script>
4. React示例
复制代码
import { EmbedPDF } from '@embedpdf/snippet/react';

function App() {
  return (
    <div style={{ height: '600px' }}>
      <EmbedPDF config={{ src: 'https://example.com/your-document.pdf' }} />
    </div>
  );
}

三、无头组件(自定义UI)

复制代码
npm install @embedpdf/core

import { createPDFEngine } from'@embedpdf/core';

const engine = createPDFEngine({
src: 'https://example.com/your-document.pdf'
});

// 监听页面加载
engine.on('pageLoaded', (page) => {
// 自定义渲染逻辑
});

// 翻页
engine.goToPage(2);

四、与传统方案对比

方案 优势 劣势
EmbedPDF 易集成、高性能、可定制、框架无关、开源 较新,生态在完善
pdf.js 成熟、功能全 配置复杂、易报错、定制难
iframe/embed 零代码 无法定制、体验差、跨域限制
后端转图片 兼容性好 丢失文本、加载慢、无法交互

五、地址

相关推荐
2501_930707782 小时前
使用C#代码获取PDF文件的页数
开发语言·pdf·c#
予你@。2 小时前
Vue2 项目中使用 html2canvas + jsPDF 导出 A4 PDF 实战指南
pdf
安逸sgr2 小时前
MCP 协议深度解析(八):Prompts 提示模板与 Sampling 采样机制!
人工智能·分布式·学习·语言模型·协议·mcp
吱夏cz2 小时前
EasyVoice后端服务本地化
前端
沐硕2 小时前
校园招聘系统
spring boot·vue·校园招聘
科技林总2 小时前
【系统分析师】12.2 软件架构风格
学习
●VON2 小时前
旗舰基座大模型 MiMo-V2-Pro 初体验与实战指南
学习·小米·模型·von·mimo-v2-pro
小江的记录本2 小时前
【HashMap】HashMap 系统性知识体系全解(附《HashMap 面试八股文精简版》)
java·前端·后端·容器·面试·hash·哈希
小J听不清2 小时前
CSS 文本对齐方式实战:text-align 核心用法
前端·javascript·css·html·css3