# VuePdfViewer
**Repository Path**: songxh2/vue-pdf-viewer
## Basic Information
- **Project Name**: VuePdfViewer
- **Description**: mozila的pdfjs太庞大了,但目前vue3的实现库也太过简单,没有renderqueue渲染队列,没有EventBus消息总线,内存优化等等,前端性能堪忧,于是想起要开发个基于vue3的pdf插件,开干,慢慢来,一步步实现。
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2022-10-29
- **Last Updated**: 2023-11-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: vue3, pdf, Viewer
## README
#### 介绍
mozila的pdfjs太庞大了,但目前vue的实现库也太过简单,没有renderqueue渲染队列,没有EventBus消息总线,内存优化等等,前端性能堪忧,于是想起要开发个基于vue3的pdf插件,开干,慢慢来,一步步实现。
#### VuePdfViewer 开发路线图
1. 先整体移植pdfjs-web代码到vue3
2. 创建分支pdfjs-full-version,保留pdfjs原来基本所有功能;
3. master主干将精简原有pdfjs功能,保留查找/缩放/全屏/打印等功能,扩充显示部分页面等功能;
4. simple-pdf-viewer-dev 分支,保留查找/缩放/全屏/打印等功能,div包裹元素滚动,扩充显示部分页面等功能;
5. simple-pdf-viewer-windowscroll分支,保留查找/缩放/全屏/打印等功能,删除div包裹元素滚动,window滚动更新页面元素,扩充显示部分页面,控制条吸顶等功能;
#### 软件架构
项目组件仅用于Vue3项目
#### 安装教程
1. npm安装命令:npm install @songxh2/vue3-pdf-viewer --save
2. yarn安装命令:yarn add @songxh2/vue3-pdf-viewer
#### 使用说明
1. full 全功能组件(保留原L10n方式):
要求:public/index.html模板文件文件页头加入如下链接代码,及locale文件拷贝至public目录:
```html
```
```vue
```
2. simple 简单组件(已经改成i18n国际化):
```vue
```
3. simple no scroll 简单无滚动组件(已经改成i18n国际化):
```vue
页头文字.....
页头文字.....
页头文字.....
页头文字.....
```
#### 项目小问题技巧
1. 因打包需要相对地址,当vue.config.js配置为相对目录publicPath: './'时,npm run serve启动得web服务链接地址不对,解决办法时改回绝对路径publicPath: '/'
2. npm run package 打包lib时,改成"./",不然svg图片找不到位置
#### 项目地址
1. https://gitee.com/songxh2/vue-pdf-viewer
2. 项目有演示实例
#### npm包发布问题记录,可以不修改当前镜像源
1. 进入需要登录发布的项目目录: cd /vue-project
2. 登录本源命令:npm login --registry https://registry.npmjs.org
3. 发布包命令: npm publish --registry https://registry.npmjs.org --access=public
````#命令行
PS D:\work\VueProjects> npm login --registry https://registry.npmjs.org
npm notice Log in on https://registry.npmjs.org/
Username: username
Password:
Email: (this IS public) username@com.com
npm notice Please check your email for a one-time password (OTP)
Enter one-time password: 12345678
```