@officesdk/editor-sdk-core 0.0.0-10 → 0.0.0-12

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.
Files changed (89) hide show
  1. package/cjs/diagram/index.js +16 -1
  2. package/cjs/diagram/sdk.js +1 -1
  3. package/cjs/docs/index.js +21 -0
  4. package/cjs/docs/info.js +3 -0
  5. package/cjs/docs/range.js +7 -0
  6. package/cjs/docs/sdk.js +28 -0
  7. package/cjs/docs/selection.js +3 -0
  8. package/cjs/docx/context-menu.js +3 -0
  9. package/cjs/docx/index.js +16 -1
  10. package/cjs/docx/info.js +1 -1
  11. package/cjs/docx/menu.js +1 -1
  12. package/cjs/docx/sdk.js +1 -1
  13. package/cjs/docx/selection.js +1 -1
  14. package/cjs/docx/theme.js +1 -1
  15. package/cjs/docx/window.js +1 -1
  16. package/cjs/pdf/index.js +16 -1
  17. package/cjs/presentation/index.js +16 -1
  18. package/cjs/presentation/sdk.js +1 -1
  19. package/cjs/presentation/toolbar.js +3 -0
  20. package/cjs/shared/attachment.js +3 -0
  21. package/cjs/shared/content.js +1 -1
  22. package/cjs/shared/context-menu.js +3 -0
  23. package/cjs/shared/editor.js +1 -1
  24. package/cjs/shared/export.js +3 -0
  25. package/cjs/shared/file-picker.js +3 -0
  26. package/cjs/shared/index.js +5 -2
  27. package/cjs/shared/menu.js +1 -1
  28. package/cjs/shared/toolbar.js +1 -1
  29. package/cjs/shared/uploader.js +22 -0
  30. package/cjs/shared/user.js +1 -1
  31. package/cjs/sheet/index.js +16 -1
  32. package/cjs/sheet/sdk.js +1 -1
  33. package/cjs/table/content.js +3 -0
  34. package/cjs/table/index.js +23 -0
  35. package/cjs/table/resource.js +3 -0
  36. package/cjs/table/sdk.js +11 -0
  37. package/cjs/table/selection.js +21 -0
  38. package/cjs/table/table.js +3 -0
  39. package/esm/diagram/index.js +2 -1
  40. package/esm/diagram/sdk.js +1 -1
  41. package/esm/docs/index.js +3 -0
  42. package/esm/docs/info.js +2 -0
  43. package/esm/docs/range.js +6 -0
  44. package/esm/docs/sdk.js +25 -0
  45. package/esm/docs/selection.js +2 -0
  46. package/esm/docx/context-menu.js +2 -0
  47. package/esm/docx/index.js +2 -1
  48. package/esm/docx/info.js +1 -1
  49. package/esm/docx/menu.js +1 -1
  50. package/esm/docx/sdk.js +1 -1
  51. package/esm/docx/selection.js +1 -1
  52. package/esm/docx/theme.js +1 -1
  53. package/esm/docx/window.js +1 -1
  54. package/esm/pdf/index.js +2 -1
  55. package/esm/presentation/index.js +2 -1
  56. package/esm/presentation/sdk.js +1 -1
  57. package/esm/presentation/toolbar.js +2 -0
  58. package/esm/shared/attachment.js +2 -0
  59. package/esm/shared/content.js +1 -1
  60. package/esm/shared/context-menu.js +2 -0
  61. package/esm/shared/editor.js +1 -1
  62. package/esm/shared/export.js +2 -0
  63. package/esm/shared/file-picker.js +2 -0
  64. package/esm/shared/index.js +2 -1
  65. package/esm/shared/menu.js +1 -1
  66. package/esm/shared/toolbar.js +1 -1
  67. package/esm/shared/uploader.js +19 -0
  68. package/esm/shared/user.js +1 -1
  69. package/esm/sheet/index.js +2 -1
  70. package/esm/sheet/sdk.js +1 -1
  71. package/esm/table/content.js +2 -0
  72. package/esm/table/index.js +4 -0
  73. package/esm/table/resource.js +2 -0
  74. package/esm/table/sdk.js +8 -0
  75. package/esm/table/selection.js +18 -0
  76. package/esm/table/table.js +2 -0
  77. package/package.json +72 -7
  78. package/types/diagram.d.ts +1454 -0
  79. package/types/docs.d.ts +1581 -0
  80. package/{docx.d.ts → types/docx.d.ts} +535 -114
  81. package/types/pdf.d.ts +1663 -0
  82. package/{presentation.d.ts → types/presentation.d.ts} +488 -61
  83. package/{shared.d.ts → types/shared.d.ts} +341 -18
  84. package/{sheet.d.ts → types/sheet.d.ts} +448 -63
  85. package/types/table.d.ts +1704 -0
  86. package/cjs/index.js +0 -16
  87. package/diagram.d.ts +0 -358
  88. package/esm/index.js +0 -7
  89. package/pdf.d.ts +0 -760
package/pdf.d.ts DELETED
@@ -1,760 +0,0 @@
1
- /**
2
- * 抽象 Pdf 接口
3
- */
4
- export declare abstract class AbstractedPdfSDK {
5
- protected options: PdfSDKOptions;
6
- constructor(options: PdfSDKOptions);
7
- /**
8
- * 初始化 Pdf 、加载插件等操作。
9
- */
10
- abstract init(): Promise<void>;
11
- /**
12
- * 销毁 Pdf
13
- */
14
- abstract destroy(): Promise<void>;
15
- /**
16
- * 将 Pdf 挂载到指定的根节点上,并渲染,
17
- * mount 应该在 init 之后调用。
18
- * @param root
19
- */
20
- abstract mount(root: HTMLElement): Promise<void>;
21
- /**
22
- * 从根节点卸载 pdf ,对应 `mount` 操作
23
- */
24
- abstract unmount(): Promise<void>;
25
- /**
26
- * pdf 页面操作接口
27
- */
28
- abstract get pages(): PdfPages;
29
- /**
30
- * pdf 选区接口
31
- */
32
- abstract get selection(): PdfSelection;
33
- /**
34
- * pdf 目录接口
35
- */
36
- abstract get outline(): PdfOutline;
37
- }
38
-
39
- /**
40
- * 编辑器内部资源请求配置
41
- */
42
- declare interface EditorAssetsOptions {
43
- /**
44
- * 通用资源请求代理配置,
45
- * 用于套件内部资源请求时代理请求
46
- */
47
- proxy: HTTPProxy;
48
- /**
49
- * 资源文件 URL 转换和解析
50
- */
51
- resolver: EditorAssetsResolver;
52
- /**
53
- * 图片处理器
54
- */
55
- imageProcessing: EditorAssetsOssImageProcessing;
56
- }
57
-
58
- /**
59
- * 基于对象存储的图片处理抽象
60
- */
61
- declare interface EditorAssetsOssImageProcessing {
62
- /**
63
- * 压缩图片的方法
64
- * @param imageUrl 图片的 URL
65
- * @param compressOptions 压缩配置,例如质量、最大宽度和最大高度
66
- * @returns 压缩后的图片 URL
67
- */
68
- compress: (imageUrl: string, compressOptions?: {
69
- quality?: number;
70
- maxWidth?: number;
71
- maxHeight?: number;
72
- }) => Promise<string>;
73
- /**
74
- * 裁切图片的方法
75
- * @param imageUrl 图片的 URL
76
- * @param cropOptions 裁切配置,例如宽度、高度和起始点
77
- * @returns 裁切后的图片 URL
78
- */
79
- crop: (imageUrl: string, cropOptions: {
80
- x?: number;
81
- y?: number;
82
- w: number;
83
- h: number;
84
- g?: EditorImageCropPoint;
85
- }) => Promise<string>;
86
- }
87
-
88
- declare interface EditorAssetsResolver {
89
- /**
90
- * 将资源文件 ID 转换为 URL 的方法
91
- * @param assetId 资源文件 ID
92
- * @returns 转换后的资源 URL ,如果无法转换则返回 null
93
- */
94
- resolveUrl: (assetId: string) => Promise<string | null>;
95
- /**
96
- * 从 URL 中解析资源文件 ID 的方法
97
- * @param url 资源 URL
98
- * @returns 解析出的资源文件 ID
99
- */
100
- parseId: (url: string) => Promise<string | null>;
101
- /**
102
- * 检查资源文件 ID 对应的文件是否准备就绪,
103
- * 在部分环境中,资源文件需要异步导入,在编辑器加载的时候可能还未准备就绪
104
- * @param assetId 资源文件 ID
105
- * @returns
106
- */
107
- checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
108
- }
109
-
110
- /**
111
- * 品牌相关设置,
112
- * 用于在套件中展示品牌外露信息
113
- */
114
- declare interface EditorBrandOptions {
115
- /**
116
- * 需要显示在品牌展示位的内容,按数组顺序显示
117
- */
118
- content: Array<{
119
- type: 'image';
120
- src: string;
121
- } | {
122
- type: 'text';
123
- content: string;
124
- color?: string;
125
- }>;
126
- /**
127
- * 品牌展示位的布局信息
128
- */
129
- layout: {
130
- width: string;
131
- height: string;
132
- };
133
- }
134
-
135
- /**
136
- * i18n 相关设置
137
- */
138
- declare interface EditorI18nOptions {
139
- /**
140
- * 语言,默认使用浏览器当前环境中的语言
141
- */
142
- language?: string;
143
- /**
144
- * 文本方向,默认根据语言自动适配
145
- */
146
- direction?: 'ltr' | 'rtl';
147
- }
148
-
149
- declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
150
-
151
- /**
152
- * 链接配置,抽象打开链接等操作
153
- */
154
- declare interface EditorLinkOptions {
155
- /**
156
- * 打开链接,如果取消了打开链接操作,返回 false
157
- * @param url
158
- * @param target
159
- * @returns
160
- */
161
- open: (url: string, target: string) => Promise<boolean>;
162
- }
163
-
164
- /**
165
- * 菜单栏自定义按钮配置
166
- */
167
- declare type EditorMenuCustomButton = {
168
- /**
169
- * 按钮名称
170
- */
171
- name: string;
172
- /**
173
- * 链接
174
- */
175
- type: 'link';
176
- /**
177
- * 按钮文本
178
- */
179
- text: string;
180
- /**
181
- * 链接地址
182
- */
183
- url: string;
184
- } | {
185
- /**
186
- * 按钮名称
187
- */
188
- name: string;
189
- /**
190
- * 按钮,点击后触发 callback 回调
191
- */
192
- type: 'button';
193
- /**
194
- * 按钮文本
195
- */
196
- label: string;
197
- /**
198
- * 按钮图标,可以是 base64 的图片信息,也可以是图片 url
199
- */
200
- icon?: string;
201
- /**
202
- * 按钮点击事件
203
- */
204
- callback: () => void;
205
- };
206
-
207
- /**
208
- * 菜单栏二级以下的菜单入口
209
- */
210
- declare interface EditorMenuEntryButton {
211
- type: 'entry';
212
- /**
213
- * 菜单名称
214
- */
215
- name: string;
216
- /**
217
- * 菜单图标
218
- */
219
- icon?: string;
220
- }
221
-
222
- /**
223
- * 菜单栏一级菜单配置,此处用于定义一级菜单的操作入口,
224
- * 一级菜单在鼠标悬停时展示二级列表
225
- */
226
- declare interface EditorMenuEntryConfig<TName extends string> {
227
- /**
228
- * 一级菜单名称
229
- */
230
- name: string;
231
- /**
232
- * 二级菜单定义,定一个二维数组,用于定义二级菜单的结构,
233
- * 将第一层数组中的所有按钮放到一个区域内用分隔符隔开,
234
- * 第二层数组为按钮的定义,可以是功能按钮也可以是一个下拉入口。
235
- */
236
- children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton>[];
237
- }
238
-
239
- /**
240
- * 菜单栏功能按钮配置
241
- */
242
- declare type EditorMenuFeatureButton<TName extends string> = {
243
- /**
244
- * 隐藏按钮,用作在需要隐藏菜单栏时定义
245
- */
246
- type: 'hidden';
247
- /**
248
- * 按钮名称
249
- */
250
- name: TName;
251
- } | {
252
- type: 'button';
253
- /**
254
- * 按钮名称
255
- */
256
- name: TName;
257
- /**
258
- * 按钮标签(显示文本)
259
- */
260
- label: string;
261
- /**
262
- * 按钮图标,可以是 base64 的图片信息,也可以是图片 url
263
- */
264
- icon?: string;
265
- };
266
-
267
- /**
268
- * 菜单栏按钮配置
269
- */
270
- declare type EditorMenuFeatureButtonConfig<TName extends string> = Record<TName, EditorMenuFeatureButton<TName>>;
271
-
272
- /**
273
- * 菜单栏相关配置,目前菜单栏不是所有套件都支持,
274
- * 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
275
- */
276
- declare interface EditorMenuOptions<TName extends string> {
277
- /**
278
- * 菜单栏是否显示
279
- */
280
- visible?: boolean;
281
- /**
282
- * 是否禁用菜单栏所有功能
283
- */
284
- disabled?: boolean;
285
- /**
286
- * 菜单栏一级菜单配置
287
- */
288
- entries?: EditorMenuEntryConfig<TName>[];
289
- /**
290
- * 菜单栏功能按钮配置
291
- */
292
- features?: Partial<EditorMenuFeatureButtonConfig<TName>>;
293
- /**
294
- * 自定义按钮配置
295
- */
296
- custom?: EditorMenuCustomButton[];
297
- }
298
-
299
- /**
300
- * 大纲目录接口
301
- */
302
- declare interface EditorOutline<Content = unknown> {
303
- /**
304
- * 设置大纲目录是否可见
305
- * @param visible 是否可见
306
- */
307
- setVisible: (visible: boolean) => void;
308
- /**
309
- * 获取目录信息
310
- * @returns 目录信息
311
- */
312
- getContent: () => Promise<EditorOutlineItem<Content>[]>;
313
- /**
314
- * 添加目录信息改变时的监听器
315
- * @param listener 监听器
316
- * @returns 取消监听器的函数
317
- */
318
- addChangedListener: (listener: (content: EditorOutlineItem<Content>[]) => void) => () => void;
319
- /**
320
- * 跳转到指定条目对应的正文位置
321
- * @param id 条目id
322
- * @returns 跳转是否成功
323
- */
324
- goto: (id: string) => Promise<boolean>;
325
- }
326
-
327
- /**
328
- * 大纲目录项条目
329
- */
330
- declare interface EditorOutlineItem<Content = unknown> {
331
- /**
332
- * 目录项 ID
333
- */
334
- id: string;
335
- /**
336
- * 目录项层级
337
- */
338
- level: number;
339
- /**
340
- * 目录项内容
341
- */
342
- content: Content;
343
- }
344
-
345
- /**
346
- * 大纲目录初始化参数,
347
- * 用于配置大纲目录的行为和外观。
348
- */
349
- declare interface EditorOutlineOptions {
350
- /**
351
- * 初始化编辑器时是否显示大纲目录,
352
- * 默认为 false。
353
- */
354
- visible?: boolean;
355
- }
356
-
357
- /**
358
- * 编辑器打印设置
359
- */
360
- declare interface EditorPrintOptions {
361
- /**
362
- * 部分套件如果绕过了编辑器预设的打印接口,直接通过拉起了浏览器的打印页面,这时打印页面无法获取到编辑器的内容,
363
- * 这种情况下就会 fallback 到这个 options 上,显示一个提示信息。
364
- */
365
- fallback?: {
366
- message: string;
367
- };
368
- /**
369
- * 是否禁用打印功能
370
- */
371
- disabled?: boolean;
372
- }
373
-
374
- /**
375
- * 操作当前编辑器的用户信息
376
- */
377
- declare interface EditorUserOptions {
378
- /**
379
- * 用户 ID,用于标识用户
380
- */
381
- uid: string;
382
- /**
383
- * 用户名
384
- */
385
- name: string;
386
- /**
387
- * 用户头像
388
- */
389
- avatar?: string;
390
- }
391
-
392
- /**
393
- * 编辑器外部水印信息
394
- */
395
- declare interface EditorWatermarkOptions {
396
- /**
397
- * 获取用作初始化使用的默认水印
398
- */
399
- getWatermark: () => MaybePromiseValue<EditorWatermarkResource | null>;
400
- /**
401
- * 是否必须,如果为 true,编辑器将在初始化时强制渲染水印,
402
- * 水印配置信息加载失败将导致编辑器初始化失败
403
- */
404
- required?: boolean;
405
- }
406
-
407
- declare type EditorWatermarkResource = {
408
- type: 'data-url';
409
- url: string;
410
- } | {
411
- type: 'object-url';
412
- url: string;
413
- };
414
-
415
- /**
416
- * 请求、响应头
417
- */
418
- declare type HTTPHeaders = Record<string, string | number | boolean | undefined>;
419
-
420
- /**
421
- * 请求方法
422
- */
423
- declare type HTTPMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH';
424
-
425
- /**
426
- * HTTP 代理,用于抽象 HTTP 请求,
427
- * 将请求代理编辑器外部
428
- */
429
- declare interface HTTPProxy {
430
- /**
431
- * 发送请求,如果需要做请求、响应拦截,需要在 proxy.interceptors 中实现,
432
- * 套件内使用 proxy 发送请求的方式应该为类似如下方式:
433
- * ```ts
434
- * const raw = await proxy.request(proxy.interceptors?.request?.intercept(requestConfig) ?? requestConfig);
435
- * const response = proxy.interceptors?.response?.intercept(raw) ?? raw;
436
- * ```
437
- *
438
- * 套件内如果需要通过其他方式发送请求,比如通过浏览器的 Image API 加载,可以使用 proxy.interceptors?.request?.intercept(requestConfig) 处理请求配置
439
- * @param config
440
- * @returns
441
- */
442
- request: <D = unknown, T = unknown>(config: HTTPRequestConfig<D>) => Promise<HTTPResponse<T>>;
443
- /**
444
- * 请求、响应拦截器,
445
- *
446
- */
447
- interceptors?: {
448
- request?: {
449
- /**
450
- * 请求拦截器,传入请求配置,返回处理后的请求配置
451
- * @param requestConfig 请求配置
452
- * @returns
453
- */
454
- intercept: <D = unknown>(requestConfig: HTTPRequestConfig<D>) => HTTPRequestConfig<D>;
455
- };
456
- response?: {
457
- /**
458
- * 响应拦截器,传入响应,返回处理后的响应
459
- * @param response
460
- * @returns
461
- */
462
- intercept: <T = unknown>(response: HTTPResponse<T>) => HTTPResponse<T>;
463
- };
464
- };
465
- /**
466
- * 创建一个新的 HTTP 代理,用于为不同请求场景创建不同的代理
467
- * @param id
468
- * @returns
469
- */
470
- create: (id: string) => Promise<HTTPProxy>;
471
- }
472
-
473
- /**
474
- * 请求配置
475
- */
476
- declare interface HTTPRequestConfig<Data = unknown> {
477
- /**
478
- * 请求地址
479
- */
480
- url: string;
481
- /**
482
- * 请求方法
483
- */
484
- method?: HTTPMethod;
485
- /**
486
- * 请求携带数据,主要是 POST、PUT、PATCH 等方法的请求数据
487
- */
488
- data?: Data;
489
- /**
490
- * 期望的响应数据类型
491
- */
492
- responseType?: HTTPResponseType;
493
- /**
494
- * 请求头
495
- */
496
- headers?: HTTPHeaders;
497
- }
498
-
499
- /**
500
- * 响应数据
501
- */
502
- declare interface HTTPResponse<Data = unknown> {
503
- /**
504
- * 响应数据 body
505
- */
506
- data: Data;
507
- /**
508
- * 响应状态码
509
- */
510
- status: number;
511
- /**
512
- * 响应头
513
- */
514
- headers: HTTPHeaders;
515
- }
516
-
517
- /**
518
- * 请求返回类型
519
- */
520
- declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
521
-
522
- declare type MaybePromiseValue<T> = T | Promise<T>;
523
-
524
- /**
525
- * pdf 工具栏一级菜单
526
- */
527
- export declare type PdfMenuEntryConfig = EditorMenuEntryConfig<PdfMenuFeatureButtonName>;
528
-
529
- /**
530
- * 传统文档工具栏功能按钮
531
- */
532
- export declare type PdfMenuFeatureButtonConfig = EditorMenuFeatureButtonConfig<PdfMenuFeatureButtonName>;
533
-
534
- /**
535
- * pdf 工具栏内置功能按钮
536
- */
537
- export declare type PdfMenuFeatureButtonName = 'selectAll';
538
-
539
- export declare type PdfMenuOptions = EditorMenuOptions<PdfMenuFeatureButtonName>;
540
-
541
- /**
542
- * pdf 目录大纲项接口
543
- */
544
- export declare type PdfOutline = EditorOutline<{
545
- text: string;
546
- }>;
547
-
548
- /**
549
- * pdf 目录大纲项信息,用于描述 pdf 中的目录项信息。
550
- */
551
- export declare type PdfOutlineItem = EditorOutlineItem<{
552
- text: string;
553
- }>;
554
-
555
- export declare type PdfOutlineOptions = EditorOutlineOptions;
556
-
557
- /**
558
- * pdf 页面实例,
559
- * 可以通过实例对对应页面进行操作。
560
- */
561
- export declare interface PdfPage {
562
- /**
563
- * 获取当前页码
564
- */
565
- readonly pageNumber: number;
566
- /**
567
- * 获取当前页面的大小
568
- * @returns
569
- */
570
- getPageSize: () => {
571
- width: number;
572
- height: number;
573
- };
574
- }
575
-
576
- /**
577
- * pdf 页面集合操作接口,
578
- * 该接口和 PdfPage 负责不同的功能,
579
- * PdfPage 是一个页面的抽象,而 PdfPages 是对整个 pdf 文件中所有页面的操作。
580
- */
581
- export declare interface PdfPages {
582
- /**
583
- * 获取当前页码
584
- * @returns
585
- */
586
- getCurrentPageNumber: () => number;
587
- /**
588
- * 设置当前页码并跳转至对应页面
589
- * @param page
590
- */
591
- setCurrentPage: (page: number) => void;
592
- /**
593
- * 获取总页数
594
- * @returns
595
- */
596
- getPagesCount: () => number;
597
- /**
598
- * 获取指定页面
599
- */
600
- getPage: (page: number) => Promise<PdfPage | null>;
601
- }
602
-
603
- /**
604
- * 区域(Range)
605
- * 区域对象,表示文件中的一个连续区域,每个 Range 对象包含起始字符位置和终止字符位置。
606
- */
607
- /**
608
- * Pdf 区域对象,
609
- * 用于表示 Pdf 中的一个连续区域,
610
- * 每个选区值包含了起始位置和结束位置信息。
611
- */
612
- export declare interface PdfRange {
613
- /**
614
- * 区域的开始位置。
615
- */
616
- readonly start: string;
617
- /**
618
- * 区域的结束位置。
619
- */
620
- readonly end: string;
621
- /**
622
- * 获取该区域对应的纯文本信息。
623
- * @returns
624
- */
625
- getText: () => string;
626
- /**
627
- * 将区域中的内容以 HTML 格式返回。
628
- * @returns
629
- */
630
- getHtml: () => string;
631
- /**
632
- * 获取选区在当前屏幕上的位置信息
633
- * @returns
634
- */
635
- getBounding: () => PdfRangeBounding | null;
636
- }
637
-
638
- /**
639
- * 记录选区在屏幕上的矩形位置信息,
640
- * 包含整个选区包围盒的四个边界值(top, right, bottom, left),
641
- * 以及第一行开始和最后一行结束的横向坐标。
642
- * 这些信息是选区中所有 ClientRects 的集合范围。
643
- */
644
- export declare interface PdfRangeBounding {
645
- /**
646
- * 区域的上边界值,
647
- * 表示所有选区中最上方的 Y 坐标。
648
- */
649
- top: number;
650
- /**
651
- * 区域的右边界值,
652
- * 表示所有选区中最右侧的 X 坐标。
653
- */
654
- right: number;
655
- /**
656
- * 区域的下边界值,
657
- * 表示所有选区中最下方的 Y 坐标。
658
- */
659
- bottom: number;
660
- /**
661
- * 区域的左边界值,
662
- * 表示所有选区中最左侧的 X 坐标。
663
- */
664
- left: number;
665
- /**
666
- * 第一行选区的起始 X 坐标。
667
- */
668
- start: number;
669
- /**
670
- * 最后一行选区的结束 X 坐标。
671
- */
672
- end: number;
673
- }
674
-
675
- export declare interface PdfRangeValue {
676
- start: string;
677
- end: string;
678
- }
679
-
680
- /**
681
- * Pdf 初始化参数
682
- */
683
- export declare interface PdfSDKOptions {
684
- /**
685
- * Pdf 初始化内容,可以是 string 或者 ArrayBuffer,
686
- * 也可以通过异步 Promise 加载
687
- */
688
- content: MaybePromiseValue<string | ArrayBuffer>;
689
- /**
690
- * 当前操作 Pdf 的用户信息
691
- */
692
- user?: EditorUserOptions;
693
- /**
694
- * i18n 相关设置
695
- */
696
- i18n?: EditorI18nOptions;
697
- /**
698
- * 品牌相关设置
699
- */
700
- brand?: EditorBrandOptions;
701
- /**
702
- * Pdf 内部资源请求配置
703
- */
704
- assets?: EditorAssetsOptions;
705
- /**
706
- * Pdf 内部超链接设置
707
- */
708
- link?: EditorLinkOptions;
709
- /**
710
- * 初始化水印配置
711
- */
712
- watermark?: EditorWatermarkOptions;
713
- /**
714
- * Pdf 打印设置
715
- */
716
- print?: EditorPrintOptions;
717
- /**
718
- * Pdf 大纲目录设置
719
- */
720
- outline?: PdfOutlineOptions;
721
- /**
722
- * Pdf 菜单栏设置
723
- */
724
- menu?: PdfMenuOptions;
725
- }
726
-
727
- /**
728
- * 选区(Selection)
729
- * 表示窗口或窗格中的当前选定内容。
730
- */
731
- export declare interface PdfSelection {
732
- /**
733
- * 获取选区的区域范围,
734
- * 如果没有指定范围,则返回当前选区的范围。
735
- * 如果指定了范围,则返回指定范围的选区。
736
- * 如果选区不存在,则返回 null。
737
- * @returns
738
- */
739
- getRange: (value?: PdfRangeValue) => PdfRange | null;
740
- /**
741
- * 设置选区的区域范围,
742
- * 设置后,选区会自动选中指定范围。
743
- * 如果设置为 null,则清空选区。
744
- * @param bounds
745
- */
746
- setRange: (vale: PdfRangeValue | null) => void;
747
- /**
748
- * 添加选区变化监听器,当选区发生变化时,会触发回调。
749
- * @param listener
750
- * @returns
751
- */
752
- addRangeListener: (listener: (value: PdfRangeValue | null) => void) => void;
753
- /**
754
- * 获取 pdf 全部选区范围。
755
- * @returns
756
- */
757
- getWholeRange: () => PdfRange;
758
- }
759
-
760
- export { }