1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- //
- // RCTDocumentManager.swift
- // react-native-compdfkit-pdf
- //
- // Copyright © 2014-2024 PDF Technologies, Inc. All Rights Reserved.
- //
- // THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
- // AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
- // UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
- // This notice may not be removed from this file.
- //
- import UIKit
- import ComPDFKit
- @objc(CPDFViewManager)
- class RCTDocumentManager: NSObject, RCTBridgeModule {
- static func moduleName() -> String! {
- return "RCTDocumentManager"
- }
-
- internal var bridge: RCTBridge!
-
- @objc func readerView() -> RCTCPDFReaderView {
- self.bridge.module(for: RCTCPDFReaderView.self) as! RCTCPDFReaderView
- }
-
- @objc(save: withResolver: withRejecter:)
- func save(tag: Int, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
- DispatchQueue.main.async {
- let reader = self.readerView()
- reader.saveDocument(forCPDFViewTag: tag) { success in
- if success {
- resolve(success)
- } else {
- reject("save_failed", "Failed to save document", nil);
- }
- }
-
- }
- }
-
- func setMargins(tag : Int, left : Int, top : Int, right : Int, bottom : Int) -> Void {
- // TODO: 设置阅读区域边距
- // 无返回值
- }
-
- func removeAllAnnotations(tag : Int, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock){
- // TODO: 删除当前文档所有注释, 返回true、false
- }
-
- func importAnnotations(tag : Int, xfdfFile : String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
- // TODO: 导入注释, 返回:true、false
- resolve(true)
- }
-
- func exportAnnotations(tag : Int, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock){
- // TODO: 导出注释,返回:xfdf文件路径
- resolve("xxxx.xfdf")
- }
-
- func setDisplayPageIndex(tag : Int, pageIndex : Int) -> Void {
- // TODO: 跳转到指定页码, 无返回值
- }
-
- func getCurrentPageIndex(tag : Int,resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
- // TODO: 返回当前页码
- }
-
- func hasChange(tag : Int, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock){
- // TODO: 返回当前展示的文档是否存在修改, 返回:true、false
- }
-
- }
|