# 包目录结构说明
# 包结构介绍
Foxit PDF SDK for Web 提供了如下的三种包:
- 无字体标准包: FoxitPDFSDKForWeb_8_XXX_NoFonts.zip (不包含字体资源的标准包)
- 标准包: FoxitPDFSDKForWeb_8_XXX.zip (包含字体的标准包)
- 完整包: FoxitPDFSDKForWeb_8_XXX_Full.zip (包含字体, 相对标准包增加了一些高级功能,比如:文档比较)
如果您已有字体资源或者只需使用在线字体,那么您可以选择无字体标准包。如果您不需要对字体库进行任何修改以及不介意包的大小,那么可以选择标准包。 如果您需要一些高级功能,比如文档比较功能,那么完整包是最合适的选择。
Package包含如下的文件夹和文件:
目录名 | 描述 |
---|---|
docs | 包含API手册和Foxit PDF SDK for Web的开发手册。 |
examples | 一系类demo和示例,用来说明如何充分使用Foxit PDF SDK for Web功能。 |
external | 字体资源(只有full package包才有)。 |
integrations | 包含将Foxit PDF SDK for Web集成到当前主流JavaScript框架的示例 (angular/react.js/vue.js框架的集成示例)。 |
lib | Foxit PDF SDK for Web核心库。 |
server | Web viewer中使用的一系列基于服务器的应用程序所需的http-server和Node.js脚本。 |
legal.txt | 法律和版权信息。 |
package.json | 项目描述文件。 |
"lib" 文件夹包括如下的文件:
目录名 | 描述 |
---|---|
jr-engine | 前端渲染引擎。 |
locales | 支持的国际化语言。不同语言的资源文件按标签放置在不同的目录下。 |
PDFViewCtrl | PDFViewCtrl库附加的plugin。 |
stamps | Stamp资源文件,图片文件和模板。 |
assets | 包含文档比较功能需要用到的模板资源文件,当前仅在完整包中包含此目录 |
uix-addons | UIExtension库附加的plugin。 |
adaptive.js | 响应式设计脚本用来自适应移动设备。 |
PDFViewCtrl.css | PDFViewCtrl viewer UI样式的CSS文件。 |
PDFViewCtrl.full.js | PDFViewCtrl viewer库的完整脚本文件。 |
PDFViewCtrl.js | 无第三方库的PDFViewCtrl viewer库的脚本文件。 |
PDFViewCtrl.polyfills.js | PDFViewCtrl所依赖的polyfill脚本文件,用于兼容不同的浏览器。 |
PDFViewCtrl.vendor.js | PDFViewCtrl所使用的第三方库 (列表见后文)。 |
preload-jr-worker.js | 用于并行加载JS引擎资源以提升viewer加载速度的worker脚本文件。 |
UIExtension.css | UI样式默认的CSS文件。 |
UIExtension.vw.css | 使用vmin unit的CSS文件。 |
UIExtension.full.js | UIExtension viewer库的完整脚本文件。 |
UIExtension.js | 无第三方库的UIExtension viewer库的脚本文件。 |
UIExtension.polyfills.js | UIExtension所依赖的polyfill脚本文件,用于兼容不同的浏览器。 |
UIExtension.vendor.js | UIExtension所使用的第三方库 (列表见后文)。 |
WebPDFJRWorker.js | Web Worker中运行的脚本,用来调用前端渲染引擎。 |
WebPDFSRWorker.js | Web Worker中运行的脚本,用来调用服务器端渲染引擎。 |
# Package.json
Foxit PDF SDK for Web提供了一个package.json文件,用来帮助开发人员快速部署和使用Web PDF,以及更轻松地将Web PDF集成到他们的项目中。package.json文件内容如下:
{
"name": "foxit-pdf-sdk-for-web",
"version": "9.0.0",
"description": "Foxit pdf sdk for web.",
"author": "Foxit Software Inc.",
"main": "./lib/UIExtension.full.js",
"types": "./lib/UIExtension.full.d.ts",
"typings": "./lib/UIExtension.full.d.ts",
"scripts": {
"start": "concurrently --kill-others \"npm run start-http-server\" \"npm run start-snapshot-server\"",
"start-snapshot-server": "node ./server/snapshot/src/index -p 3002",
"start-http-server": "node ./server/index"
},
"license": "Commercial",
"devDependencies": {
"boxen": "^4.1.0",
"chalk": "^2.4.1",
"concurrently": "^4.1.0",
"http-proxy-middleware": "^3.0.0",
"koa": "^2.7.0",
"koa-body": "^4.0.4",
"koa-body-parser": "^1.1.2",
"koa-router": "^7.4.0",
"koa2-connect": "^1.0.2",
"lru-cache": "^4.1.3",
"raw-body": "^2.3.3",
"require-dir": "^1.0.0",
"serve-handler": "^6.0.2",
"sockjs": "^0.3.21",
"koa-cors": "0.0.16",
"koa-serve-list": "^1.0.1",
"koa-static": "^5.0.0",
"ws": "^7.3.1"
},
"dependencies": {
"@types/hammerjs": "^2.0.36",
"@types/jquery": "^3.3.29",
"@types/i18next": "^13.0.0",
"@babel/runtime": "^7.17.9",
"@babel/runtime-corejs3": "^7.17.9",
"@csstools/normalize.css": "^10.1.0",
"art-template": "^4.13.0",
"bootstrap-datepicker": "^1.9.0",
"core-js": "^3.35.1",
"dayjs": "^1.11.1",
"dayjs-plugin-utc": "^0.1.2",
"dialog-polyfill": "^0.4.10",
"dom4": "^2.1.4",
"es6-promise": "^4.2.5",
"eventemitter3": "^3.1.0",
"flatpickr": "4.6.9",
"hammerjs": "^2.0.8",
"human-format": "^0.11.0",
"i18next": "^23.8.1",
"i18next-chained-backend": "^0.1.2",
"i18next-localstorage-backend": "^1.1.4",
"i18next-xhr-backend": "^1.5.1",
"jquery": "^3.3.1",
"jquery-contextmenu": "^2.7.1",
"jszip": "^3.7.1",
"lodash": "^4.17.21",
"moment": "^2.29.1",
"print-area": "^0.1.4",
"punycode": "^2.1.1",
"sortablejs": "~1.9.0",
"whatwg-fetch": "^3.0.0",
"xlsx": "^0.17.2",
"fast-printf": "^1.6.9"
},
"serve": {
"port": 8080,
"public": "/",
"proxy": {
"target": "http://127.0.0.1:3002",
"changeOrigin": true
}
},
"files": [
"lib",
"server",
"legal.txt",
"locales_changelog.txt",
"MigrationNode.txt",
"ReleaseNote.txt"
]
}
# Foxit PDF SDK for Web使用的第三方库
Foxit PDF SDK for Web提供了两种版本的JS文件:包含第三方库的完整版本的JS文件和不包含第三方库的常规的JS文件。如果您的工程已经使用了SDK中包含的第三方库,那么您不需要再安装该库。
- PDFViewCtrl.full.js 脚本包含:
文件名 | 描述 |
---|---|
PDFViewCtrl.full.js | PDFViewCtrl viewer库的完整脚本文件。 |
PDFViewCtrl.polyfills.js | PDFViewCtrl所依赖的polyfill脚本文件,用于兼容不同的浏览器。 |
PDFViewCtrl.vendor.js | PDFViewCtrl所使用的第三方库 (列表见后文)。 |
PDFViewCtrl.js | 无第三方库的PDFViewCtrl viewer库的脚本文件。 |
PDFViewCtrl.polyfills.js + PDFViewCtrl.vendor.js + PDFViewCtrl.js = PDFViewCtrl.full.js.
以下两种形式是等效的:
<script src="../FoxitPDFSDKForWeb/lib/PDFViewCtrl.full.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/ PDFViewCtrl.polyfills.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/PDFViewCtrl.vendor.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/PDFViewCtrl.js"></script>
PDFViewCtrl.vendor.js 包含的第三方库如下所示:
jquery i18next i18next-chained-backend i18next-localstorage-backend i18next-xhr-backend jquery-contextmenu dialog-polyfill hammerjs eventemitter3
- UIExtension.full.js脚本包含:
文件名 | 描述 |
---|---|
UIExtension.full.js | UIExtension viewer库的完整脚本文件。 |
UIExtension.polyfills.js | UIExtension所依赖的polyfill脚本文件,用于兼容不同的浏览器。 |
UIExtension.vendor.js | UIExtension所使用的第三方库 (列表见后文) |
UIExtension.js | 无第三方库的UIExtension viewer库的脚本文件。 |
(UIExtension.polyfills.js + UIExtension.vendor.js + UIExtension.js) = UIExtension.full.js.
以下两种形式是等效的:
<script src="../FoxitPDFSDKForWeb/lib/UIExtension.full.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/UIExtension.polyfills.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/UIExtension.vendor.js"></script>
<script src="../FoxitPDFSDKForWeb/lib/UIExtension.js"></script>
UIExtension.vendor.js 包含的第三方库如下所示:
jquery i18next i18next-chained-backend i18next-localstorage-backend i18next-xhr-backend dialog-polyfill hammerjs eventemitter3 spectrum-colorpicker file-saver
快速运行示例 →