|
Foxit PDF SDK for HarmonyOS
3.0
|
Public Attributes | |
| readonly | lock = new VersionDiffUtils.AsyncLock() |
| minimumPressDuration = 300 | |
| translateX = 0 | |
| translateY = 0 | |
PDF视图控制器类,提供PDF文档渲染及交互功能
本类实现PDF文档的交互式渲染核心功能,涉及三种坐标系系统:
Foxit实现了内存溢出自动恢复机制,当发生OOM时SDK会尝试恢复到OOM前的最近阅读状态, 但用户对文档的修改/添加/删除等操作不会被恢复
| PDFViewCtrlModel.addNodePage | ( | pageIndex | ) |
添加前次操作的页面任务节点
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| PDFViewCtrlModel.cancelAllTask | ( | ) |
取消所有任务
| PDFViewCtrlModel.clearAllCacheFiles | ( | ) |
清除所有缓存文件
| PDFViewCtrlModel.clearCacheFile | ( | url | ) |
清除指定URL的缓存文件
| url | 需要清除缓存的远程地址 |
| PDFViewCtrlModel.closeDoc | ( | ) |
关闭当前文档
| PDFViewCtrlModel.constructor | ( | context | ) |
文档操作锁机制,用于在页面内容编辑或批注重置FoxitRDKNative.pdf.annots.Annot#ResetAppearanceStream时防止刷新冲突
| lockHandle | 需要执行的加锁操作(同步/异步函数) |
| completed | 操作完成后的回调函数(可选) |
| PDFViewCtrlModel.convertDisplayViewPtToPageViewPt | ( | displayViewPt | , |
| pageIndex | |||
| ) |
显示视图坐标(Display View Coordinate System)转页面视图坐标(Page View Coordinate System)
| displayViewPt | 显示视图坐标系点 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertDisplayViewRectToPageViewRect | ( | displayViewRectF | , |
| pageIndex | |||
| ) |
显示视图矩形(Display View Coordinate System)转页面视图矩形(Page View Coordinate System)
| displayViewRectF | 显示视图坐标系矩形 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPageViewPtToDisplayViewPt | ( | pageViewPt | , |
| pageIndex | |||
| ) |
页面视图坐标(Page View Coordinate System)转显示视图坐标(Display View Coordinate System)
| pageViewPt | 页面坐标点 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPageViewPtToPdfPt | ( | pageViewPt | , |
| pageIndex | |||
| ) |
页面视图坐标(Page View Coordinate System)转PDF坐标(PDF Coordinate System)
| pageViewPt | 页面视图坐标系点 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPageViewRectToDisplayViewRect | ( | pageViewRectF | , |
| pageIndex | |||
| ) |
页面视图矩形(Page View Coordinate System)转显示视图矩形(Display View Coordinate System)
| pageViewRectF | 页面视图坐标系矩形 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPageViewRectToPdfRect | ( | pageViewRectF | , |
| pageIndex | |||
| ) |
页面视图矩形(Page View Coordinate System)转PDF矩形(PDF Coordinate System)
| pageViewRectF | 页面视图坐标系矩形 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPdfPtToPageViewPt | ( | pdfPt | , |
| pageIndex | |||
| ) |
PDF坐标(PDF Coordinate System)转页面视图坐标(Page View Coordinate System)
| pdfPt | PDF坐标系点 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.convertPdfRectToPageViewRect | ( | pdfRectF | , |
| pageIndex | |||
| ) |
PDF矩形(PDF Coordinate System)转页面视图矩形(Page View Coordinate System)
| pdfRectF | PDF坐标系矩形 |
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| PDFViewCtrlModel.getBackgroundColor | ( | ) |
获取当前视图背景色
| PDFViewCtrlModel.getCachePages | ( | ) |
获取缓存的页码
| PDFViewCtrlModel.getColorMode | ( | ) |
获取当前色彩模式
| PDFViewCtrlModel.getCurrentPage | ( | ) |
获取当前页码索引
| PDFViewCtrlModel.getDisplayMatrix | ( | pageIndex | , |
| isVP | = true, |
||
| fromOrigin | = GeometryUtil.FGPointMake(0, 0) |
||
| ) |
获取指定页面的显示矩阵
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| isVP | 是否使用vp单位(默认true) |
| fromOrigin | 原点偏移量(默认(0,0)) |
| PDFViewCtrlModel.getDisplayViewHeight | ( | ) |
获取显示视图的高度
| PDFViewCtrlModel.getDisplayViewWidth | ( | ) |
获取显示视图的宽度
| PDFViewCtrlModel.getHeight | ( | ) |
获取PDF显示组件高度(单位:vp)
| PDFViewCtrlModel.getHScrollPos | ( | ) |
获取水平滚动位置
| PDFViewCtrlModel.getHScrollRange | ( | ) |
获取水平滚动范围
| PDFViewCtrlModel.getMappingModeBackgroundColor | ( | ) |
获取映射模式下的背景色
当前色彩模式需为FoxitRDKNative.common.Renderer.e_ColorModeMapping或 FoxitRDKNative.common.Renderer.e_ColorModeMappingGray
| PDFViewCtrlModel.getMappingModeForegroundColor | ( | ) |
获取映射模式前景色
当前色彩模式需为FoxitRDKNative.common.Renderer.e_ColorModeMapping或 FoxitRDKNative.common.Renderer.e_ColorModeMappingGray
| PDFViewCtrlModel.getPageIndex | ( | displayViewPt | ) |
| PDFViewCtrlModel.getPageLayoutMode | ( | ) |
获取当前页面布局模式
| PDFViewCtrlModel.getPageViewHeight | ( | pageIndex | ) |
获取指定页面的视图高度
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| PDFViewCtrlModel.getPageViewRealRect | ( | pageIndex | ) |
获取指定页面的实际位置(相对于父容器)
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| PDFViewCtrlModel.getPageViewRect | ( | pageIndex | ) |
获取指定页面相对于父容器的尺寸
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| PDFViewCtrlModel.getPageViewWidth | ( | pageIndex | ) |
获取指定页面的视图宽度
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| PDFViewCtrlModel.getReflowBackgroundColor | ( | ) |
获取重排模式下的背景色
| PDFViewCtrlModel.getReflowMode | ( | ) |
获取重排模式配置
| PDFViewCtrlModel.getUIExtensionsManager | ( | ) |
获取UI扩展管理器
| PDFViewCtrlModel.getVisiblePages | ( | ) |
获取当前可见页的索引数组
| PDFViewCtrlModel.getVScrollPos | ( | ) |
获取垂直滚动位置
| PDFViewCtrlModel.getVScrollRange | ( | ) |
获取垂直滚动范围
| PDFViewCtrlModel.getWidth | ( | ) |
获取PDF显示组件宽度 (单位:vp)
| PDFViewCtrlModel.getZoom | ( | ) |
获取当前缩放比例
| PDFViewCtrlModel.getZoomMode | ( | ) |
获取当前缩放模式
| PDFViewCtrlModel.gotoFirstPage | ( | ) |
跳转到文档首页
| PDFViewCtrlModel.gotoLastPage | ( | ) |
跳转到文档末页
| PDFViewCtrlModel.gotoNextPage | ( | ) |
跳转到下一页
| PDFViewCtrlModel.gotoNextView | ( | ) |
跳转到下一视图(前进)。
如果存在下一视图记录,则跳转到后续的页面及视图位置。
| PDFViewCtrlModel.gotoPage | ( | pageIndex | , |
| devOffsetX | , | ||
| devOffsetY | |||
| ) |
跳转到指定页面并在显示视图坐标系(Display View Coordinate System)中定位
新位置通过X/Y偏移量确定,以显示视图坐标系(Display View Coordinate System)左上角为基准点, 偏移量表示从页面视图坐标系(Page View Coordinate System)左上角到基准点的位移值
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| devOffsetX | 显示视图坐标系X轴偏移量 |
| devOffsetY | 显示视图坐标系Y轴偏移量 |
| PDFViewCtrlModel.gotoPageByPoint | ( | pageIndex | , |
| pdfPt | |||
| ) |
跳转到指定页面的PDF坐标(PDF Coordinate System)位置
| pageIndex | 页码索引(有效范围:0到总页数-1) |
| pdfPt | PDF坐标系(PDF Coordinate System)中的点位,使用FoxitRDKNative.common.fxcrt.PointF类型 |
| PDFViewCtrlModel.gotoPrevPage | ( | ) |
跳转到上一页
| PDFViewCtrlModel.gotoPrevView | ( | ) |
跳转到上一视图(后退)。
如果存在上一视图记录,则恢复到之前的页面及视图位置。
| PDFViewCtrlModel.hasNextView | ( | ) |
判断是否存在可前进的下一视图。
| PDFViewCtrlModel.hasPrevView | ( | ) |
判断是否存在可回退的上一视图。
| PDFViewCtrlModel.isContinuous | ( | ) |
| PDFViewCtrlModel.isDocumentOpened | ( | ) |
判断文档是否已打开
| PDFViewCtrlModel.isKeepZoomRatio | ( | ) |
获取非连续页面模式下翻页时的缩放保持状态
| PDFViewCtrlModel.isNightMode | ( | ) |
检测当前是否为夜间模式
| PDFViewCtrlModel.isRenderInvert | ( | ) |
获取当前是否启用渲染反色后处理。
| PDFViewCtrlModel.isTouchPageView | ( | point | ) |
| <void> PDFViewCtrlModel.openDoc | ( | filePath, | |
| password, | |||
| cb(errorCode); | |||
| ) |
打开本地PDF文档
| filePath | PDF文件路径 |
| password | 文档密码(加密文档必需,非加密传空字符串) |
| cb | 操作结果回调,接收错误码参数 从内存缓冲区打开PDF文档 |
| buffer | 包含PDF数据的ArrayBuffer对象 |
| password | 文档解密密码(非加密文档传空) |
| cb | 操作结果回调函数 |
| PDFViewCtrlModel.openDocFromUrl | ( | url | , |
| password | , | ||
| cacheOption | , | ||
| requestOptions< string, string > | , | ||
| cb(errorCode); | |||
| ) |
从URL打开PDF文档
| url | PDF文件远程地址 |
| password | 文档密码 |
| cacheOption | 缓存配置选项 |
| requestOptions | 网络请求参数 |
| cb | 操作结果回调 |
| PDFViewCtrlModel.openDocumentWithReader | ( | fileReader | , |
| password | , | ||
| cb(errorCode); | |||
| ) |
通过自定义读取器打开PDF文档
| fileReader | 实现FoxitRDKNative.common.file.IReaderCallback接口的读取器 |
| password | 文档密码 |
| cb | 操作结果回调 |
| PDFViewCtrlModel.refresh | ( | pageIndex | , |
| rect | = GeometryUtil.FGRectMakeZero() |
||
| ) |
刷新指定页面的特定矩形区域
| pageIndex | 页面索引(有效范围:0 到总页数-1) |
| rect | 页面视图坐标系(Page View Coordinate System)中的指定矩形(默认创建零值矩形) |
| async PDFViewCtrlModel.refreshLockAsync | ( | lockHandle();|Promise< void > | ) |
异步文档操作锁机制,用于在页面内容编辑或批注重置FoxitRDKNative.pdf.annots.Annot#ResetAppearanceStream时防止刷新冲突
| lockHandle | 需要执行的加锁操作(同步/异步函数) |
| PDFViewCtrlModel.saveDoc | ( | filePath | , |
| flag | , | ||
| cb(errorCode); | |||
| ) |
保存文档到本地路径
| filePath | 目标文件存储路径 |
| flag | 保存选项标志位, 参考FoxitRDKNative.pdf.PDFDoc.e_SaveFlagNormal |
| cb | 保存操作结果回调 |
| PDFViewCtrlModel.saveDocWithWriter | ( | fileWriter | , |
| flag | , | ||
| cb(errorCode); | |||
| ) |
通过自定义写入器保存文档
| fileWriter | 实现FoxitRDKNative.common.file.IWriterCallback接口的写入器 |
| flag | 保存选项标志位,参考FoxitRDKNative.pdf.PDFDoc.e_SaveFlagNormal |
| cb | 保存结果回调 |
| PDFViewCtrlModel.setColorMode | ( | colorMode | ) |
设置色彩渲染模式
| colorMode | 颜色模式,可选值: |
| PDFViewCtrlModel.setContinuous | ( | isContinuous | ) |
| PDFViewCtrlModel.setHScrollPos | ( | pos | ) |
设置水平滚动位置
| pos | 目标水平滚动位置(vp) 当数值超过有效范围时,将显示在可视区域末端 |
| PDFViewCtrlModel.setKeepZoomRatio | ( | keep | ) |
设置非连续页面模式下翻页时是否保持缩放比例
| keep | true表示翻页时保持当前缩放比例 |
| PDFViewCtrlModel.setKeepZoomRatioWhenOpenDoc | ( | keep | ) |
设置打开文档时是否保持上次缩放比例
| keep | true表示保持上次缩放比例,false则重置为默认值 |
| PDFViewCtrlModel.setMappingModeBackgroundColor | ( | mappingModeBackgroundColor | ) |
设置映射模式背景色
设置后需调用PDFViewCtrlModel.setColorMode生效
| mappingModeBackgroundColor | 背景色值(格式:0xAARRGGBB) |
| PDFViewCtrlModel.setMappingModeForegroundColor | ( | mappingModeForegroundColor | ) |
设置映射模式前景色
设置后需调用PDFViewCtrlModel.setColorMode生效
| mappingModeForegroundColor | 前景色值(格式:0xAARRGGBB) 设置视图背景色(格式:0xRRGGBB) |
| color | 背景色。Format: 0xRRGGBB. |
| PDFViewCtrlModel.setNightMode | ( | bNightMode | ) |
设置夜间模式
| bNightMode | true启用夜间模式,false关闭 |
| PDFViewCtrlModel.setPageLayoutMode | ( | lMode | ) |
设置页面布局模式
| lMode | 布局模式,参考PAGE_LAYOUT_MODE枚举值 |
| PDFViewCtrlModel.setReflowBackgroundColor | ( | color | ) |
| PDFViewCtrlModel.setReflowMode | ( | reflowMode | ) |
设置文档重排模式
| reflowMode | 重排模式组合值,参考FoxitRDKNative.pdf.ReflowPage.e_Normal起始的枚举值 默认值:FoxitRDKNative.pdf.ReflowPage.e_Normal|FoxitRDKNative.pdf.ReflowPage.e_WithImage |
| PDFViewCtrlModel.setRenderInvert | ( | invert | ) |
设置是否启用渲染反色后处理。
| invert | true 表示启用反色处理,false 表示关闭。 |
| PDFViewCtrlModel.setUIExtensionsManager | ( | manager | ) |
设置UI扩展管理器
| manager | 要设置的UI扩展管理器对象 |
| PDFViewCtrlModel.setVScrollPos | ( | pos | ) |
设置垂直滚动位置
| pos | 目标垂直滚动位置(vp) 当数值超过有效范围时,将显示在可视区域末端 |
| PDFViewCtrlModel.setZoom | ( | factor | , |
| devicePt | |||
| ) |
以指定点为缩放中心设置缩放比例
缩放范围限制可通过PDFViewCtrlModel.setMinZoomLimit和 PDFViewCtrlModel.setMaxZoomLimit调整
| devicePt | 设备坐标系中的中心点(可选) |
| factor | 缩放比例值(默认有效范围1.0~8.0) 1.0对应适合页面模式初始值 |
| PDFViewCtrlModel.setZoomMode | ( | zMode | ) |
设置缩放模式(默认值:PDF_ZOOM_MODE.FIT_WIDTH)
注意:设为自定义模式时页面将保持当前状态且不会触发页面变化
| zMode | 新缩放模式,参考PDF_ZOOM_MODE枚举值 |
| PDFViewCtrlModel.slideToNextScreen | ( | ) |
向下滚动一屏幕的距离,只有在连续页模式才有效果 isContinuous
| PDFViewCtrlModel.slideToPreviousScreen | ( | ) |
向上滚动一屏幕的距离,只有在连续页模式才有效果 isContinuous
| PDFViewCtrlModel.zoomToRect | ( | pageIndex | , |
| pageViewRect | , | ||
| fitMode | |||
| ) |
缩放到指定页面的特定区域
缩放范围限制可通过PDFViewCtrlModel.setMinZoomLimit和 PDFViewCtrlModel.setMaxZoomLimit调整
| pageIndex | 目标页面索引 |
| pageViewRect | 页面视图坐标系(Page View Coordinate System)中的区域矩形 |
| fitMode | 缩放适配模式,参考PDF_ZOOM_FIT_RECT_MODE枚举值 |
| readonly PDFViewCtrlModel.lock = new VersionDiffUtils.AsyncLock() |
下一个视图的历史栈(前进栈)
| PDFViewCtrlModel.minimumPressDuration = 300 |
长按事件最小触发时间间隔(单位:毫秒)
| PDFViewCtrlModel.translateX = 0 |
设置组件沿X轴的平移量
| PDFViewCtrlModel.translateY = 0 |
设置组件沿Y轴的平移量