@embedpdf-editor/chapter-snippet 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -4
- package/dist/embedpdf-chapter.d.ts +14 -3
- package/dist/embedpdf-chapter.js +73781 -55297
- package/dist/embedpdf-chapter.js.map +1 -1
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ pnpm add @embedpdf-editor/chapter-snippet
|
|
|
14
14
|
|
|
15
15
|
## Vite
|
|
16
16
|
|
|
17
|
-
`chapterSnippetViteResolve()` 用于 Vue2/snippet 场景:
|
|
17
|
+
`chapterSnippetViteResolve()` 用于 Vite + Vue2/snippet 场景:
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
20
|
// vite.config.ts
|
|
@@ -33,6 +33,22 @@ export default defineConfig({
|
|
|
33
33
|
| `server.headers` | 开发环境添加 COOP/COEP,满足 worker/wasm 常见要求 |
|
|
34
34
|
| `optimizeDeps.exclude` | 避免 Vite 二次预构建 snippet 和 PDFium 引擎 |
|
|
35
35
|
|
|
36
|
+
## Vue CLI / Webpack
|
|
37
|
+
|
|
38
|
+
**无需修改 `vue.config.js`。** 安装后直接:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
import ChapterEmbedPDF from '@embedpdf-editor/chapter-snippet';
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
发包构建会对 `dist/embedpdf-chapter.js` 做语法降级(去掉 `??` 等 ES2020 语法),Webpack / Vue CLI 默认可 parse。默认 `wasmUrl` 指向 jsDelivr 上的 `pdfium.wasm`,无需复制到 `public/`。
|
|
45
|
+
|
|
46
|
+
离线或内网部署时,可传 `wasmUrl: '/pdfium.wasm'`(自行把 `node_modules/@embedpdf-editor/chapter-snippet/dist/pdfium.wasm` 放到静态目录)。
|
|
47
|
+
|
|
48
|
+
`@embedpdf-editor/chapter-snippet/webpack` 为**可选**辅助(仅 monorepo Vue 2.6 解析、或自定义 devServer COOP/COEP),普通用户不必使用。
|
|
49
|
+
|
|
50
|
+
完整示例见 `examples/chapter-viewer-demo-vue2`。
|
|
51
|
+
|
|
36
52
|
## 快速开始
|
|
37
53
|
|
|
38
54
|
不需要把 `pdfium.wasm` 手动放到宿主项目的 `public/`。默认会从 `@embedpdf-editor/chapter-snippet/dist/pdfium.wasm` 加载。只有当你要走 CDN 或自定义静态域名时,才需要传 `wasmUrl`。
|
|
@@ -111,10 +127,10 @@ viewer?.addEventListener(CHAPTER_SNIPPET_EVENTS.ready, (event) => {
|
|
|
111
127
|
| `worker` | `true` | 是否启用 PDFium worker |
|
|
112
128
|
| `fallbackToDirectEngine` | `true` | 首章 worker 加载超时后自动降级到 direct engine |
|
|
113
129
|
| `workerOpenTimeoutMs` | `8000` | 首章加载超时时间 |
|
|
114
|
-
| `features` | - |
|
|
130
|
+
| `features` | - | 与 `options.features` **深度合并**;顶层同名字段优先。勿放进 `createChapterViewerEditorOptions()` |
|
|
115
131
|
| `className` / `viewportClassName` | - | 传给内部阅读器容器 |
|
|
116
132
|
|
|
117
|
-
旧版本的 `editorInput` 仍可使用,但新代码应改为 `options
|
|
133
|
+
旧版本的 `editorInput` 仍可使用,但新代码应改为 `options`,并把 `features` 写在 `options.features` 或顶层 `features`。
|
|
118
134
|
|
|
119
135
|
### `ChapterViewerOptions`(与 React / Vue3 一致)
|
|
120
136
|
|
|
@@ -137,7 +153,8 @@ viewer?.addEventListener(CHAPTER_SNIPPET_EVENTS.ready, (event) => {
|
|
|
137
153
|
| `markup` | `styles` 四类划线;`annotationMenu` 默认选中后在下方显示「删除」;`squiggly.offsetY` 默认 **4** |
|
|
138
154
|
| `bookmarks` | `marker` / `hover` 自定义图标 |
|
|
139
155
|
| `notes` | `marker.renderIcon`、`renderMenuActions`、`highlightColor` |
|
|
140
|
-
| `zoom` | `pageWidth`、`min` / `max` / `enabled` |
|
|
156
|
+
| `zoom` | `pageWidth`、`min` / `max` / `enabled`;实际上限不超过 `[data-chapter-scroll-viewport]` 宽度,resize 时自动 clamp |
|
|
157
|
+
| `scrollViewport` | `background`(默认 `#f1f5f9`),`[data-chapter-scroll-viewport]` 背景 |
|
|
141
158
|
| `selectionToolbar` | `hiddenBuiltinActions`、`extraActions`;扩展动作监听 `selectionExtraAction` 事件 |
|
|
142
159
|
|
|
143
160
|
```js
|
|
@@ -330,6 +330,8 @@ export declare type ChapterViewerConfig = {
|
|
|
330
330
|
marker?: NoteMarkerUiConfig;
|
|
331
331
|
};
|
|
332
332
|
zoom?: boolean | ChapterViewerZoomConfig;
|
|
333
|
+
/** 滚动视口(`[data-chapter-scroll-viewport]`)样式 */
|
|
334
|
+
scrollViewport?: ChapterViewerScrollViewportConfig;
|
|
333
335
|
/** 默认随划线/笔记开启;仅在有扩展按钮或需隐藏内置按钮时配置 */
|
|
334
336
|
selectionToolbar?: boolean | SelectionToolbarConfig;
|
|
335
337
|
};
|
|
@@ -359,6 +361,8 @@ export declare interface ChapterViewerFeaturesConfig {
|
|
|
359
361
|
selectionToolbar?: SelectionToolbarConfig;
|
|
360
362
|
/** 缩放 */
|
|
361
363
|
zoom?: ChapterViewerZoomConfig;
|
|
364
|
+
/** 滚动视口(`[data-chapter-scroll-viewport]`) */
|
|
365
|
+
scrollViewport?: ChapterViewerScrollViewportConfig;
|
|
362
366
|
}
|
|
363
367
|
|
|
364
368
|
/** 章节阅读器统一配置(推荐入口) */
|
|
@@ -380,6 +384,12 @@ export declare interface ChapterViewerOptions {
|
|
|
380
384
|
features?: ChapterViewerConfig;
|
|
381
385
|
}
|
|
382
386
|
|
|
387
|
+
/** `[data-chapter-scroll-viewport]` 滚动容器样式 */
|
|
388
|
+
declare interface ChapterViewerScrollViewportConfig {
|
|
389
|
+
/** 背景色,默认 {@link DEFAULT_CHAPTER_SCROLL_VIEWPORT_BACKGROUND} */
|
|
390
|
+
background?: string;
|
|
391
|
+
}
|
|
392
|
+
|
|
383
393
|
export declare type ChapterViewerSnippetConfig = {
|
|
384
394
|
/** PDFium wasm 地址;默认使用 chapter-snippet/dist/pdfium.wasm */
|
|
385
395
|
wasmUrl?: string;
|
|
@@ -393,8 +403,8 @@ export declare type ChapterViewerSnippetConfig = {
|
|
|
393
403
|
options?: ChapterViewerOptions;
|
|
394
404
|
/** @deprecated 请改用 options */
|
|
395
405
|
editorInput?: CreateChapterViewerEditorOptionsInput;
|
|
396
|
-
/**
|
|
397
|
-
features?:
|
|
406
|
+
/** 阅读器功能开关;与 `options.features` 深度合并,顶层字段优先 */
|
|
407
|
+
features?: ChapterViewerConfig;
|
|
398
408
|
className?: string;
|
|
399
409
|
viewportClassName?: string;
|
|
400
410
|
};
|
|
@@ -403,6 +413,7 @@ declare interface ChapterViewerZoomConfig {
|
|
|
403
413
|
/** 是否启用 Ctrl+滚轮 / 双指捏合等交互缩放,默认 true;为 false 时仍可用 pageWidth / initial 设置版面宽度 */
|
|
404
414
|
enabled?: boolean;
|
|
405
415
|
min?: number;
|
|
416
|
+
/** 配置上限;实际不会超过视口宽度(fit-width scale) */
|
|
406
417
|
max?: number;
|
|
407
418
|
/** 文档 scale 初始值;未设置且配置了 pageWidth 时由 pageWidth 按首页宽度推导 */
|
|
408
419
|
initial?: number;
|
|
@@ -425,7 +436,7 @@ export declare function createChapterViewerBundle(input: ChapterViewerOptions |
|
|
|
425
436
|
editorOptions: CreatePdfChapterEditorOptions;
|
|
426
437
|
};
|
|
427
438
|
|
|
428
|
-
/** 进阶用法:仅生成 editor 配置(不含 features
|
|
439
|
+
/** 进阶用法:仅生成 editor 配置(不含 features,需通过 snippet `features` 或 `options.features` 传入) */
|
|
429
440
|
export declare function createChapterViewerEditorOptions(input: ChapterViewerOptions | CreateChapterViewerEditorOptionsInput): Omit<CreatePdfChapterEditorOptions, 'features'>;
|
|
430
441
|
|
|
431
442
|
/** @deprecated 旧版嵌套 `callbacks` 写法,仍兼容 */
|