0.0.56 • Published 2 years ago

opdf v0.0.56

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

O-Pdfjs

基于pdfjs实现的功能强大的pdf框架, 基于pdfjs/web/viewer.html, 可以用来开发pdf应用.

使用

// vite
import worker from '../../assets/files/pdf.worker.min.js?url';

import {createViewerInstance} from 'opdf';

// 初始化
const [pdfState, setPdfState] = useState<{
  loading: boolean;
  thumbnailUrl?: string;
}>();

const instance = createViewerInstance(PDF_VIEWER_ID, {
  pdf_url: pdfUrl,
  worker_url: worker,
  default_match: [...activeMatch],
  hasThumbnail: true,
});

instance.then((res: any) => {
  setPdfState({loading: res?.loading, thumbnailUrl: res?.thumbnailUrl});
});

// 左右联动
import {scrollView} from 'opdf';

// 滚动到指定位置
const scrollTo = (to: string) => {
  console.log('to', document.getElementById(PDF_VIEWER_CONTAINER_ID));
  scrollView({
    to,
    // scrollContainer未指定则默认为window
    scrollContainer:
        document.getElementById(PDF_VIEWER_CONTAINER_ID) || undefined,

  });
};
// Tsx
return (
    <div onClick={() => {scrollTo(`${list.text}_${list?.index}`)}}>
      {list?.text}
    </div>
)

功能

渲染等基础功能

  • 支持pdf渲染
  • 支持pdf文档缩放
  • 支持pdf文档翻页
  • 支持pdf文档搜索
  • 支持pdf文档全屏
  • 支持pdf文档缩略图
  • 加载进度条
  • ....

选中文字的功能

  • 支持选中文字后进行回调功能

鼠标悬浮后框选周边的文字

  • 支持鼠标悬浮后框选周边的文字
  • 生成图片提供下载、分享

高亮的联动和配置

  • 支持高亮的联动和配置

重要说明

M1相关无法本地启动的问题

pdfjs目前使用的node-canvas版本为有问题,但是在M1芯片的mac上,node-canvas无法正常启动,所以需要手动安装node-canvas,安装方法如下:

安装依赖

brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman

brew cleanup

rm -r node_modules/

npm install
0.0.53

2 years ago

0.0.54

2 years ago

0.0.55

2 years ago

0.0.56

2 years ago

0.0.52

2 years ago

0.0.51

2 years ago

0.0.50

2 years ago

0.0.49

3 years ago

0.0.48

3 years ago

0.0.47

3 years ago

0.0.46

3 years ago

0.0.45

3 years ago

0.0.44

3 years ago

0.0.43

3 years ago

0.0.42

3 years ago

0.0.41

3 years ago

0.0.40

3 years ago

0.0.39

3 years ago

0.0.38

3 years ago

0.0.37

3 years ago

0.0.36

3 years ago

0.0.35

3 years ago

0.0.34

3 years ago

0.0.33

3 years ago

0.0.32

3 years ago

0.0.31

3 years ago

0.0.30

3 years ago

0.0.29

3 years ago

0.0.28

3 years ago

0.0.27

3 years ago

0.0.26

3 years ago

0.0.25

3 years ago

0.0.24

3 years ago

0.0.23

3 years ago

0.0.20

3 years ago

0.0.19

3 years ago

0.0.18

3 years ago

0.0.17

3 years ago

0.0.16

3 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.1

3 years ago