0.0.56 • Published 1 year ago

opdf v0.0.56

Weekly downloads
-
License
-
Repository
-
Last release
1 year 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

1 year ago

0.0.54

1 year ago

0.0.55

1 year ago

0.0.56

1 year ago

0.0.52

1 year ago

0.0.51

1 year ago

0.0.50

1 year ago

0.0.49

1 year ago

0.0.48

1 year ago

0.0.47

1 year ago

0.0.46

1 year ago

0.0.45

1 year ago

0.0.44

1 year ago

0.0.43

1 year ago

0.0.42

1 year ago

0.0.41

1 year ago

0.0.40

1 year ago

0.0.39

1 year ago

0.0.38

1 year ago

0.0.37

1 year ago

0.0.36

1 year ago

0.0.35

1 year ago

0.0.34

1 year ago

0.0.33

1 year ago

0.0.32

1 year ago

0.0.31

1 year ago

0.0.30

1 year ago

0.0.29

1 year ago

0.0.28

1 year ago

0.0.27

1 year ago

0.0.26

1 year ago

0.0.25

1 year ago

0.0.24

1 year ago

0.0.23

1 year ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.18

1 year ago

0.0.17

1 year ago

0.0.16

1 year ago

0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.1

1 year ago