RCTDocumentManager.m 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. // Copyright © 2014-2025 PDF Technologies, Inc. All Rights Reserved.
  2. //
  3. // THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  4. // AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  5. // UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
  6. // This notice may not be removed from this file.
  7. //
  8. #import <React/RCTBridgeModule.h>
  9. @interface RCT_EXTERN_MODULE(CPDFViewManager, NSObject)
  10. RCT_EXTERN_METHOD(save:(NSInteger)tag
  11. withResolver:(RCTPromiseResolveBlock)resolve
  12. withRejecter:(RCTPromiseRejectBlock)reject)
  13. RCT_EXTERN_METHOD(setMargins:(NSInteger)tag
  14. withEdges:[Int]edges)
  15. RCT_EXTERN_METHOD(removeAllAnnotations:(NSInteger)tag
  16. withResolver:(RCTPromiseResolveBlock)resolve
  17. withRejecter:(RCTPromiseRejectBlock)reject)
  18. RCT_EXTERN_METHOD(importAnnotations:(NSInteger)tag
  19. withXfdfFile:(NSURL *)xfdfFile
  20. withResolver:(RCTPromiseResolveBlock)resolve
  21. withRejecter:(RCTPromiseRejectBlock)reject)
  22. RCT_EXTERN_METHOD(exportAnnotations:(NSInteger)tag
  23. withResolver:(RCTPromiseResolveBlock)resolve
  24. withRejecter:(RCTPromiseRejectBlock)reject)
  25. RCT_EXTERN_METHOD(setDisplayPageIndex:(NSInteger)tag
  26. withPageIndex:(NSInteger)pageIndex)
  27. RCT_EXTERN_METHOD(getCurrentPageIndex:(NSInteger)tag
  28. withResolver:(RCTPromiseResolveBlock)resolve
  29. withRejecter:(RCTPromiseRejectBlock)reject)
  30. RCT_EXTERN_METHOD(hasChange:(NSInteger)tag
  31. withResolver:(RCTPromiseResolveBlock)resolve
  32. withRejecter:(RCTPromiseRejectBlock)reject)
  33. RCT_EXTERN_METHOD(setScale:(NSInteger)tag
  34. withScaleValue:(nonnull NSNumber *) scale)
  35. RCT_EXTERN_METHOD(getScale:(NSInteger)tag
  36. withResolver:(RCTPromiseResolveBlock)resolve
  37. withRejecter:(RCTPromiseRejectBlock)reject)
  38. RCT_EXTERN_METHOD(setReadBackgroundColor:(NSInteger)tag
  39. withThemes:(NSDictionary) themes)
  40. RCT_EXTERN_METHOD(getReadBackgroundColor:(NSInteger)tag
  41. withResolver:(RCTPromiseResolveBlock)resolve
  42. withRejecter:(RCTPromiseRejectBlock)reject)
  43. RCT_EXTERN_METHOD(setFormFieldHighlight:(NSInteger)tag
  44. withFormFieldHighlight:(BOOL) formFieldHighlight)
  45. RCT_EXTERN_METHOD(isFormFieldHighlight:(NSInteger)tag
  46. withResolver:(RCTPromiseResolveBlock)resolve
  47. withRejecter:(RCTPromiseRejectBlock)reject)
  48. RCT_EXTERN_METHOD(setLinkHighlight:(NSInteger)tag
  49. withLinkHighlight:(BOOL) linkHighlight)
  50. RCT_EXTERN_METHOD(isLinkHighlight:(NSInteger)tag
  51. withResolver:(RCTPromiseResolveBlock)resolve
  52. withRejecter:(RCTPromiseRejectBlock)reject)
  53. RCT_EXTERN_METHOD(setVerticalMode:(NSInteger)tag
  54. withVerticalMode:(BOOL) isVerticalMode)
  55. RCT_EXTERN_METHOD(isVerticalMode:(NSInteger)tag
  56. withResolver:(RCTPromiseResolveBlock)resolve
  57. withRejecter:(RCTPromiseRejectBlock)reject)
  58. RCT_EXTERN_METHOD(setContinueMode:(NSInteger)tag
  59. withContiueMode:(BOOL) isContinueMode)
  60. RCT_EXTERN_METHOD(isContinueMode:(NSInteger)tag
  61. withResolver:(RCTPromiseResolveBlock)resolve
  62. withRejecter:(RCTPromiseRejectBlock)reject)
  63. RCT_EXTERN_METHOD(setDoublePageMode:(NSInteger)tag
  64. withDoublePageMode:(BOOL) isDoublePageMode)
  65. RCT_EXTERN_METHOD(isDoublePageMode:(NSInteger)tag
  66. withResolver:(RCTPromiseResolveBlock)resolve
  67. withRejecter:(RCTPromiseRejectBlock)reject)
  68. RCT_EXTERN_METHOD(setCoverPageMode:(NSInteger)tag
  69. withCoverPageMode:(BOOL) isCoverPageMode)
  70. RCT_EXTERN_METHOD(isCoverPageMode:(NSInteger)tag
  71. withResolver:(RCTPromiseResolveBlock)resolve
  72. withRejecter:(RCTPromiseRejectBlock)reject)
  73. RCT_EXTERN_METHOD(setCropMode:(NSInteger)tag
  74. withCropMode:(BOOL) isCropMode)
  75. RCT_EXTERN_METHOD(isCropMode:(NSInteger)tag
  76. withResolver:(RCTPromiseResolveBlock)resolve
  77. withRejecter:(RCTPromiseRejectBlock)reject)
  78. // TODO: 设置当前预览的模式
  79. // viewMode: viewer, annotations, contentEditor, forms, signatures
  80. RCT_EXTERN_METHOD(setPreviewMode:(NSInteger *)tag
  81. withViewMode:(NSString) viewMode)
  82. // TODO: 获取当前的预览模式
  83. // 返回值: viewer, annotations, contentEditor, forms, signatures
  84. RCT_EXTERN_METHOD(getPreviewMode:(NSInteger *)tag
  85. withResolver:(RCTPromiseResolveBlock)resolve
  86. withRejecter:(RCTPromiseRejectBlock)reject)
  87. // TODO: 显示缩略图列表弹窗
  88. // editMode: true: 进入编辑模式, false:不进入编辑模式
  89. RCT_EXTERN_METHOD(showThumbnailView:(NSInteger *)tag
  90. withEditMode:(BOOL) editMode)
  91. // TODO: 显示BOTA弹窗界面
  92. RCT_EXTERN_METHOD(showBotaView:(NSInteger *)tag)
  93. // TODO: 显示添加水印弹窗界面
  94. RCT_EXTERN_METHOD(showAddWatermarkView:(NSInteger *)tag)
  95. // TODO: 显示安全设置界面
  96. RCT_EXTERN_METHOD(showSecurityView:(NSInteger *)tag)
  97. // TODO: 显示预览设置界面
  98. RCT_EXTERN_METHOD(showDisplaySettingView:(NSInteger *)tag)
  99. // TODO: 进入截取模式
  100. RCT_EXTERN_METHOD(enterSnipMode:(NSInteger *)tag)
  101. // TODO: 退出截取模式
  102. RCT_EXTERN_METHOD(exitSnipMode:(NSInteger *)tag)
  103. // TODO: 打开文档
  104. // document: 文档的路径
  105. // password: 文档密码
  106. // 返回值: true | false 表示打开成功或失败
  107. RCT_EXTERN_METHOD(open:(NSInteger *)tag
  108. withDocument(NSURL *) document
  109. withPassword(NSString *) password
  110. withResolver:(RCTPromiseResolveBlock)resolve
  111. withRejecter:(RCTPromiseRejectBlock)reject)
  112. RCT_EXTERN_METHOD(getFileName:(NSInteger *) tag
  113. withResolver:(RCTPromiseResolveBlock)resolve
  114. withRejecter:(RCTPromiseRejectBlock)reject)
  115. RCT_EXTERN_METHOD(isEncrypted:(NSInteger *) tag
  116. withResolver:(RCTPromiseResolveBlock)resolve
  117. withRejecter:(RCTPromiseRejectBlock)reject)
  118. RCT_EXTERN_METHOD(isImageDoc:(NSInteger *) tag
  119. withResolver:(RCTPromiseResolveBlock)resolve
  120. withRejecter:(RCTPromiseRejectBlock)reject)
  121. RCT_EXTERN_METHOD(getPermissions:(NSInteger *) tag
  122. withResolver:(RCTPromiseResolveBlock)resolve
  123. withRejecter:(RCTPromiseRejectBlock)reject)
  124. RCT_EXTERN_METHOD(getPageCount:(NSInteger *) tag
  125. withResolver:(RCTPromiseResolveBlock)resolve
  126. withRejecter:(RCTPromiseRejectBlock)reject)
  127. RCT_EXTERN_METHOD(checkOwnerUnlocked:(NSInteger *) tag
  128. withResolver:(RCTPromiseResolveBlock)resolve
  129. withRejecter:(RCTPromiseRejectBlock)reject)
  130. RCT_EXTERN_METHOD(checkOwnerPassword:(NSInteger *) tag
  131. withPassword:(NSString *) password
  132. withResolver:(RCTPromiseResolveBlock)resolve
  133. withRejecter:(RCTPromiseRejectBlock)reject)
  134. //TODO: 移除当前文档密码
  135. //移除执行增量保存
  136. //返回值:true | false
  137. RCT_EXTERN_METHOD(removePassword:(NSInteger *) tag
  138. withResolver:(RCTPromiseResolveBlock)resolve
  139. withRejecter:(RCTPromiseRejectBlock)reject)
  140. // TODO: 设置密码, 增量保存到当前文档
  141. // withInfo : NSDictionary 数据
  142. // user_password : String : 用户密码,可以为空
  143. // owner_password : String : 所有者密码,可以为空
  144. // allows_printing: Bool : 是否允许打印
  145. // allows_copying : Bool : 是否允许复制
  146. // encrypt_algo : String : 加密方式 : rc4, aes128, aes256, noEncryptAlgo
  147. // 返回值:true | false
  148. RCT_EXTERN_METHOD(setPassword:(NSInteger *) tag
  149. withInfo:(NSDictionary) info
  150. withResolver:(RCTPromiseResolveBlock)resolve
  151. withRejecter:(RCTPromiseRejectBlock)reject)
  152. RCT_EXTERN_METHOD(getEncryptAlgo:(NSInteger *) tag
  153. withResolver:(RCTPromiseResolveBlock)resolve
  154. withRejecter:(RCTPromiseRejectBlock)reject)
  155. + (BOOL)requiresMainQueueSetup
  156. {
  157. return NO;
  158. }
  159. @end