@grapecity-software/gcdocs.pdfviewer 7.1.0

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 (582) hide show
  1. package/CHANGELOG.md +2886 -0
  2. package/README.md +390 -0
  3. package/docs/.nojekyll +1 -0
  4. package/docs/assets/custom.css +19 -0
  5. package/docs/assets/highlight.css +134 -0
  6. package/docs/assets/main.js +54 -0
  7. package/docs/assets/search.js +1 -0
  8. package/docs/assets/style.css +1224 -0
  9. package/docs/assets/widgets.png +0 -0
  10. package/docs/assets/widgets@2x.png +0 -0
  11. package/docs/classes/AnnotationBase.html +349 -0
  12. package/docs/classes/ButtonWidget.html +512 -0
  13. package/docs/classes/ChoiceWidget.html +487 -0
  14. package/docs/classes/CircleAnnotation.html +425 -0
  15. package/docs/classes/DsPdfViewer.html +4095 -0
  16. package/docs/classes/FileAttachmentAnnotation.html +422 -0
  17. package/docs/classes/FreeTextAnnotation.html +405 -0
  18. package/docs/classes/GcPdfSearcher.html +362 -0
  19. package/docs/classes/GcPdfViewer.html +3923 -0
  20. package/docs/classes/HighlightAnnotation.html +390 -0
  21. package/docs/classes/InkAnnotation.html +400 -0
  22. package/docs/classes/LineAnnotation.html +422 -0
  23. package/docs/classes/LinkAnnotation.html +390 -0
  24. package/docs/classes/MarkupAnnotation.html +407 -0
  25. package/docs/classes/PolyLineAnnotation.html +406 -0
  26. package/docs/classes/PolygonAnnotation.html +406 -0
  27. package/docs/classes/PopupAnnotation.html +393 -0
  28. package/docs/classes/RedactAnnotation.html +439 -0
  29. package/docs/classes/SignatureAnnotation.html +398 -0
  30. package/docs/classes/SoundAnnotation.html +438 -0
  31. package/docs/classes/SquareAnnotation.html +397 -0
  32. package/docs/classes/SquigglyAnnotation.html +390 -0
  33. package/docs/classes/StampAnnotation.html +400 -0
  34. package/docs/classes/StrikeOutAnnotation.html +390 -0
  35. package/docs/classes/TextAnnotation.html +404 -0
  36. package/docs/classes/TextWidget.html +465 -0
  37. package/docs/classes/UnderlineAnnotation.html +390 -0
  38. package/docs/classes/ViewerOptions.html +1243 -0
  39. package/docs/classes/WidgetAnnotation.html +454 -0
  40. package/docs/enums/AnnotationTypeCode.html +196 -0
  41. package/docs/enums/ModificationType.html +86 -0
  42. package/docs/enums/SharedAccessMode.html +79 -0
  43. package/docs/enums/TextAlignmentType.html +66 -0
  44. package/docs/index.html +222 -0
  45. package/docs/interfaces/IGCEventBus.html +106 -0
  46. package/docs/types/AnnotationMarkedStateType.html +126 -0
  47. package/docs/types/AnnotationReviewStateType.html +126 -0
  48. package/docs/types/AnnotationStateModel.html +126 -0
  49. package/docs/types/AnnotationTypeName.html +126 -0
  50. package/docs/types/BusEventName.html +126 -0
  51. package/docs/types/DocumentListItem.html +146 -0
  52. package/docs/types/FieldAppearanceRenderingType.html +130 -0
  53. package/docs/types/FormFieldMapping.html +126 -0
  54. package/docs/types/FormFillerSettings.html +257 -0
  55. package/docs/types/GcProps.html +237 -0
  56. package/docs/types/InputFieldMapping.html +175 -0
  57. package/docs/types/JsCancelEventArgs.html +137 -0
  58. package/docs/types/JsEventArgs.html +133 -0
  59. package/docs/types/JsExecutionConfig.html +165 -0
  60. package/docs/types/KeyboardShortcutDefinition.html +149 -0
  61. package/docs/types/KeyboardShortcutTool.html +126 -0
  62. package/docs/types/LineEndStyle.html +126 -0
  63. package/docs/types/LinkDestinationType.html +126 -0
  64. package/docs/types/LinkType.html +126 -0
  65. package/docs/types/LogLevel.html +128 -0
  66. package/docs/types/ModificationsState.html +145 -0
  67. package/docs/types/NamedAction.html +127 -0
  68. package/docs/types/OpenAction.html +148 -0
  69. package/docs/types/OpenParameters.html +126 -0
  70. package/docs/types/OptionalContentConfig.html +195 -0
  71. package/docs/types/OptionalContentGroup.html +194 -0
  72. package/docs/types/PageLayout.html +126 -0
  73. package/docs/types/PageMode.html +126 -0
  74. package/docs/types/PageModification.html +137 -0
  75. package/docs/types/PageStructureChange.html +139 -0
  76. package/docs/types/PageViewport.html +221 -0
  77. package/docs/types/PdfOrganizerSettings.html +147 -0
  78. package/docs/types/ReplyToolSettings.html +196 -0
  79. package/docs/types/RotationInit.html +155 -0
  80. package/docs/types/RulerLine.html +146 -0
  81. package/docs/types/SaveSettings.html +191 -0
  82. package/docs/types/ScrollPageIntoViewOptions.html +126 -0
  83. package/docs/types/SharedDocumentInfo.html +139 -0
  84. package/docs/types/SignToolSettings.html +437 -0
  85. package/docs/types/SignatureInfo.html +158 -0
  86. package/docs/types/SignatureInformation.html +145 -0
  87. package/docs/types/StampCategory.html +159 -0
  88. package/docs/types/StructTreeContent.html +144 -0
  89. package/docs/types/StructTreeNode.html +141 -0
  90. package/docs/types/StructureChanges.html +142 -0
  91. package/docs/types/SupportApiSettings.html +199 -0
  92. package/docs/types/TextMarkupContextMenuSettings.html +139 -0
  93. package/docs/types/ToolbarButtonKey.html +126 -0
  94. package/docs/types/UndoChangeName.html +126 -0
  95. package/docs/types/UserAccess.html +133 -0
  96. package/docs/types/ViewerFeatureName.html +128 -0
  97. package/docs/types/ViewerPreferences.html +178 -0
  98. package/docs/types/WidgetFieldTypeName.html +129 -0
  99. package/docs.html +19 -0
  100. package/gcpdfviewer.js +2 -0
  101. package/gcpdfviewer.worker.js +2 -0
  102. package/index.html +43 -0
  103. package/localization/en-pdf-viewer.json +1587 -0
  104. package/localization/en-viewer-base.json +73 -0
  105. package/localization/localization_example.html +55 -0
  106. package/package.json +27 -0
  107. package/resources/bcmaps/78-EUC-H.bin +0 -0
  108. package/resources/bcmaps/78-EUC-V.bin +0 -0
  109. package/resources/bcmaps/78-H.bin +0 -0
  110. package/resources/bcmaps/78-RKSJ-H.bin +0 -0
  111. package/resources/bcmaps/78-RKSJ-V.bin +0 -0
  112. package/resources/bcmaps/78-V.bin +0 -0
  113. package/resources/bcmaps/78ms-RKSJ-H.bin +0 -0
  114. package/resources/bcmaps/78ms-RKSJ-V.bin +0 -0
  115. package/resources/bcmaps/83pv-RKSJ-H.bin +0 -0
  116. package/resources/bcmaps/90ms-RKSJ-H.bin +0 -0
  117. package/resources/bcmaps/90ms-RKSJ-V.bin +0 -0
  118. package/resources/bcmaps/90msp-RKSJ-H.bin +0 -0
  119. package/resources/bcmaps/90msp-RKSJ-V.bin +0 -0
  120. package/resources/bcmaps/90pv-RKSJ-H.bin +0 -0
  121. package/resources/bcmaps/90pv-RKSJ-V.bin +0 -0
  122. package/resources/bcmaps/Add-H.bin +0 -0
  123. package/resources/bcmaps/Add-RKSJ-H.bin +0 -0
  124. package/resources/bcmaps/Add-RKSJ-V.bin +0 -0
  125. package/resources/bcmaps/Add-V.bin +0 -0
  126. package/resources/bcmaps/Adobe-CNS1-0.bin +0 -0
  127. package/resources/bcmaps/Adobe-CNS1-1.bin +0 -0
  128. package/resources/bcmaps/Adobe-CNS1-2.bin +0 -0
  129. package/resources/bcmaps/Adobe-CNS1-3.bin +0 -0
  130. package/resources/bcmaps/Adobe-CNS1-4.bin +0 -0
  131. package/resources/bcmaps/Adobe-CNS1-5.bin +0 -0
  132. package/resources/bcmaps/Adobe-CNS1-6.bin +0 -0
  133. package/resources/bcmaps/Adobe-CNS1-UCS2.bin +0 -0
  134. package/resources/bcmaps/Adobe-GB1-0.bin +0 -0
  135. package/resources/bcmaps/Adobe-GB1-1.bin +0 -0
  136. package/resources/bcmaps/Adobe-GB1-2.bin +0 -0
  137. package/resources/bcmaps/Adobe-GB1-3.bin +0 -0
  138. package/resources/bcmaps/Adobe-GB1-4.bin +0 -0
  139. package/resources/bcmaps/Adobe-GB1-5.bin +0 -0
  140. package/resources/bcmaps/Adobe-GB1-UCS2.bin +0 -0
  141. package/resources/bcmaps/Adobe-Japan1-0.bin +0 -0
  142. package/resources/bcmaps/Adobe-Japan1-1.bin +0 -0
  143. package/resources/bcmaps/Adobe-Japan1-2.bin +0 -0
  144. package/resources/bcmaps/Adobe-Japan1-3.bin +0 -0
  145. package/resources/bcmaps/Adobe-Japan1-4.bin +0 -0
  146. package/resources/bcmaps/Adobe-Japan1-5.bin +0 -0
  147. package/resources/bcmaps/Adobe-Japan1-6.bin +0 -0
  148. package/resources/bcmaps/Adobe-Japan1-UCS2.bin +0 -0
  149. package/resources/bcmaps/Adobe-Korea1-0.bin +0 -0
  150. package/resources/bcmaps/Adobe-Korea1-1.bin +0 -0
  151. package/resources/bcmaps/Adobe-Korea1-2.bin +0 -0
  152. package/resources/bcmaps/Adobe-Korea1-UCS2.bin +0 -0
  153. package/resources/bcmaps/B5-H.bin +0 -0
  154. package/resources/bcmaps/B5-V.bin +0 -0
  155. package/resources/bcmaps/B5pc-H.bin +0 -0
  156. package/resources/bcmaps/B5pc-V.bin +0 -0
  157. package/resources/bcmaps/CNS-EUC-H.bin +0 -0
  158. package/resources/bcmaps/CNS-EUC-V.bin +0 -0
  159. package/resources/bcmaps/CNS1-H.bin +0 -0
  160. package/resources/bcmaps/CNS1-V.bin +0 -0
  161. package/resources/bcmaps/CNS2-H.bin +0 -0
  162. package/resources/bcmaps/CNS2-V.bin +3 -0
  163. package/resources/bcmaps/ETHK-B5-H.bin +0 -0
  164. package/resources/bcmaps/ETHK-B5-V.bin +0 -0
  165. package/resources/bcmaps/ETen-B5-H.bin +0 -0
  166. package/resources/bcmaps/ETen-B5-V.bin +0 -0
  167. package/resources/bcmaps/ETenms-B5-H.bin +3 -0
  168. package/resources/bcmaps/ETenms-B5-V.bin +0 -0
  169. package/resources/bcmaps/EUC-H.bin +0 -0
  170. package/resources/bcmaps/EUC-V.bin +0 -0
  171. package/resources/bcmaps/Ext-H.bin +0 -0
  172. package/resources/bcmaps/Ext-RKSJ-H.bin +0 -0
  173. package/resources/bcmaps/Ext-RKSJ-V.bin +0 -0
  174. package/resources/bcmaps/Ext-V.bin +0 -0
  175. package/resources/bcmaps/GB-EUC-H.bin +0 -0
  176. package/resources/bcmaps/GB-EUC-V.bin +0 -0
  177. package/resources/bcmaps/GB-H.bin +4 -0
  178. package/resources/bcmaps/GB-V.bin +0 -0
  179. package/resources/bcmaps/GBK-EUC-H.bin +0 -0
  180. package/resources/bcmaps/GBK-EUC-V.bin +0 -0
  181. package/resources/bcmaps/GBK2K-H.bin +0 -0
  182. package/resources/bcmaps/GBK2K-V.bin +0 -0
  183. package/resources/bcmaps/GBKp-EUC-H.bin +0 -0
  184. package/resources/bcmaps/GBKp-EUC-V.bin +0 -0
  185. package/resources/bcmaps/GBT-EUC-H.bin +0 -0
  186. package/resources/bcmaps/GBT-EUC-V.bin +0 -0
  187. package/resources/bcmaps/GBT-H.bin +0 -0
  188. package/resources/bcmaps/GBT-V.bin +0 -0
  189. package/resources/bcmaps/GBTpc-EUC-H.bin +0 -0
  190. package/resources/bcmaps/GBTpc-EUC-V.bin +0 -0
  191. package/resources/bcmaps/GBpc-EUC-H.bin +0 -0
  192. package/resources/bcmaps/GBpc-EUC-V.bin +0 -0
  193. package/resources/bcmaps/H.bin +0 -0
  194. package/resources/bcmaps/HKdla-B5-H.bin +0 -0
  195. package/resources/bcmaps/HKdla-B5-V.bin +0 -0
  196. package/resources/bcmaps/HKdlb-B5-H.bin +0 -0
  197. package/resources/bcmaps/HKdlb-B5-V.bin +0 -0
  198. package/resources/bcmaps/HKgccs-B5-H.bin +0 -0
  199. package/resources/bcmaps/HKgccs-B5-V.bin +0 -0
  200. package/resources/bcmaps/HKm314-B5-H.bin +0 -0
  201. package/resources/bcmaps/HKm314-B5-V.bin +0 -0
  202. package/resources/bcmaps/HKm471-B5-H.bin +0 -0
  203. package/resources/bcmaps/HKm471-B5-V.bin +0 -0
  204. package/resources/bcmaps/HKscs-B5-H.bin +0 -0
  205. package/resources/bcmaps/HKscs-B5-V.bin +0 -0
  206. package/resources/bcmaps/Hankaku.bin +0 -0
  207. package/resources/bcmaps/Hiragana.bin +0 -0
  208. package/resources/bcmaps/KSC-EUC-H.bin +0 -0
  209. package/resources/bcmaps/KSC-EUC-V.bin +0 -0
  210. package/resources/bcmaps/KSC-H.bin +0 -0
  211. package/resources/bcmaps/KSC-Johab-H.bin +0 -0
  212. package/resources/bcmaps/KSC-Johab-V.bin +0 -0
  213. package/resources/bcmaps/KSC-V.bin +0 -0
  214. package/resources/bcmaps/KSCms-UHC-H.bin +0 -0
  215. package/resources/bcmaps/KSCms-UHC-HW-H.bin +0 -0
  216. package/resources/bcmaps/KSCms-UHC-HW-V.bin +0 -0
  217. package/resources/bcmaps/KSCms-UHC-V.bin +0 -0
  218. package/resources/bcmaps/KSCpc-EUC-H.bin +0 -0
  219. package/resources/bcmaps/KSCpc-EUC-V.bin +0 -0
  220. package/resources/bcmaps/Katakana.bin +0 -0
  221. package/resources/bcmaps/LICENSE +36 -0
  222. package/resources/bcmaps/NWP-H.bin +0 -0
  223. package/resources/bcmaps/NWP-V.bin +0 -0
  224. package/resources/bcmaps/RKSJ-H.bin +0 -0
  225. package/resources/bcmaps/RKSJ-V.bin +0 -0
  226. package/resources/bcmaps/Roman.bin +0 -0
  227. package/resources/bcmaps/UniCNS-UCS2-H.bin +0 -0
  228. package/resources/bcmaps/UniCNS-UCS2-V.bin +0 -0
  229. package/resources/bcmaps/UniCNS-UTF16-H.bin +0 -0
  230. package/resources/bcmaps/UniCNS-UTF16-V.bin +0 -0
  231. package/resources/bcmaps/UniCNS-UTF32-H.bin +0 -0
  232. package/resources/bcmaps/UniCNS-UTF32-V.bin +0 -0
  233. package/resources/bcmaps/UniCNS-UTF8-H.bin +0 -0
  234. package/resources/bcmaps/UniCNS-UTF8-V.bin +0 -0
  235. package/resources/bcmaps/UniGB-UCS2-H.bin +0 -0
  236. package/resources/bcmaps/UniGB-UCS2-V.bin +0 -0
  237. package/resources/bcmaps/UniGB-UTF16-H.bin +0 -0
  238. package/resources/bcmaps/UniGB-UTF16-V.bin +0 -0
  239. package/resources/bcmaps/UniGB-UTF32-H.bin +0 -0
  240. package/resources/bcmaps/UniGB-UTF32-V.bin +0 -0
  241. package/resources/bcmaps/UniGB-UTF8-H.bin +0 -0
  242. package/resources/bcmaps/UniGB-UTF8-V.bin +0 -0
  243. package/resources/bcmaps/UniJIS-UCS2-H.bin +0 -0
  244. package/resources/bcmaps/UniJIS-UCS2-HW-H.bin +0 -0
  245. package/resources/bcmaps/UniJIS-UCS2-HW-V.bin +0 -0
  246. package/resources/bcmaps/UniJIS-UCS2-V.bin +0 -0
  247. package/resources/bcmaps/UniJIS-UTF16-H.bin +0 -0
  248. package/resources/bcmaps/UniJIS-UTF16-V.bin +0 -0
  249. package/resources/bcmaps/UniJIS-UTF32-H.bin +0 -0
  250. package/resources/bcmaps/UniJIS-UTF32-V.bin +0 -0
  251. package/resources/bcmaps/UniJIS-UTF8-H.bin +0 -0
  252. package/resources/bcmaps/UniJIS-UTF8-V.bin +0 -0
  253. package/resources/bcmaps/UniJIS2004-UTF16-H.bin +0 -0
  254. package/resources/bcmaps/UniJIS2004-UTF16-V.bin +0 -0
  255. package/resources/bcmaps/UniJIS2004-UTF32-H.bin +0 -0
  256. package/resources/bcmaps/UniJIS2004-UTF32-V.bin +0 -0
  257. package/resources/bcmaps/UniJIS2004-UTF8-H.bin +0 -0
  258. package/resources/bcmaps/UniJIS2004-UTF8-V.bin +0 -0
  259. package/resources/bcmaps/UniJISPro-UCS2-HW-V.bin +0 -0
  260. package/resources/bcmaps/UniJISPro-UCS2-V.bin +0 -0
  261. package/resources/bcmaps/UniJISPro-UTF8-V.bin +0 -0
  262. package/resources/bcmaps/UniJISX0213-UTF32-H.bin +0 -0
  263. package/resources/bcmaps/UniJISX0213-UTF32-V.bin +0 -0
  264. package/resources/bcmaps/UniJISX02132004-UTF32-H.bin +0 -0
  265. package/resources/bcmaps/UniJISX02132004-UTF32-V.bin +0 -0
  266. package/resources/bcmaps/UniKS-UCS2-H.bin +0 -0
  267. package/resources/bcmaps/UniKS-UCS2-V.bin +0 -0
  268. package/resources/bcmaps/UniKS-UTF16-H.bin +0 -0
  269. package/resources/bcmaps/UniKS-UTF16-V.bin +0 -0
  270. package/resources/bcmaps/UniKS-UTF32-H.bin +0 -0
  271. package/resources/bcmaps/UniKS-UTF32-V.bin +0 -0
  272. package/resources/bcmaps/UniKS-UTF8-H.bin +0 -0
  273. package/resources/bcmaps/UniKS-UTF8-V.bin +0 -0
  274. package/resources/bcmaps/V.bin +0 -0
  275. package/resources/bcmaps/WP-Symbol.bin +0 -0
  276. package/resources/standard_fonts/FoxitDingbats.pfb +0 -0
  277. package/resources/standard_fonts/FoxitFixed.pfb +0 -0
  278. package/resources/standard_fonts/FoxitFixedBold.pfb +0 -0
  279. package/resources/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  280. package/resources/standard_fonts/FoxitFixedItalic.pfb +0 -0
  281. package/resources/standard_fonts/FoxitSans.pfb +0 -0
  282. package/resources/standard_fonts/FoxitSansBold.pfb +0 -0
  283. package/resources/standard_fonts/FoxitSansBoldItalic.pfb +0 -0
  284. package/resources/standard_fonts/FoxitSansItalic.pfb +0 -0
  285. package/resources/standard_fonts/FoxitSerif.pfb +0 -0
  286. package/resources/standard_fonts/FoxitSerifBold.pfb +0 -0
  287. package/resources/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  288. package/resources/standard_fonts/FoxitSerifItalic.pfb +0 -0
  289. package/resources/standard_fonts/FoxitSymbol.pfb +0 -0
  290. package/resources/standard_fonts/LICENSE_FOXIT +27 -0
  291. package/resources/standard_fonts/LICENSE_LIBERATION +102 -0
  292. package/resources/standard_fonts/LiberationSans-Bold.ttf +0 -0
  293. package/resources/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  294. package/resources/standard_fonts/LiberationSans-Italic.ttf +0 -0
  295. package/resources/standard_fonts/LiberationSans-Regular.ttf +0 -0
  296. package/resources/standard_fonts/README.md +11 -0
  297. package/themes/dark-yellow.css +1 -0
  298. package/themes/dark-yellow.jscss +7 -0
  299. package/themes/dark.css +1 -0
  300. package/themes/dark.jscss +7 -0
  301. package/themes/gc-blue.css +1 -0
  302. package/themes/gc-blue.jscss +7 -0
  303. package/themes/light-blue.css +1 -0
  304. package/themes/light-blue.jscss +7 -0
  305. package/themes/light.css +1 -0
  306. package/themes/light.jscss +7 -0
  307. package/themes/viewer.css +1 -0
  308. package/themes/viewer.jscss +7 -0
  309. package/typings/AcroForm/AcroForm.d.ts +3 -0
  310. package/typings/AcroForm/index.d.ts +4 -0
  311. package/typings/AcroForm/state.d.ts +4 -0
  312. package/typings/AcroForm/types.d.ts +15 -0
  313. package/typings/Annotations/AnnotationPropertyDescriptors.d.ts +88 -0
  314. package/typings/Annotations/AnnotationState.d.ts +5 -0
  315. package/typings/Annotations/AnnotationTypes.d.ts +353 -0
  316. package/typings/Annotations/Annotations.d.ts +151 -0
  317. package/typings/Annotations/Editors/CalloutLineEditor.d.ts +19 -0
  318. package/typings/Annotations/Editors/CancelableEditorBase.d.ts +34 -0
  319. package/typings/Annotations/Editors/ChoiceOptionsEditor.d.ts +21 -0
  320. package/typings/Annotations/Editors/ColorEditor/ColorEditor.d.ts +13 -0
  321. package/typings/Annotations/Editors/ColorEditor/Localization.d.ts +2 -0
  322. package/typings/Annotations/Editors/ColorEditor/StandardPalette.d.ts +3 -0
  323. package/typings/Annotations/Editors/ColorEditor/types.d.ts +21 -0
  324. package/typings/Annotations/Editors/FileEditor.d.ts +42 -0
  325. package/typings/Annotations/Editors/FloatEditor.d.ts +43 -0
  326. package/typings/Annotations/Editors/ImageFileEditor.d.ts +37 -0
  327. package/typings/Annotations/Editors/JsCodeAreaEditor.d.ts +18 -0
  328. package/typings/Annotations/Editors/KeyValuePairEditor.d.ts +20 -0
  329. package/typings/Annotations/Editors/LinkAnnotationHelper.d.ts +18 -0
  330. package/typings/Annotations/Editors/LinkDestTypeEditor.d.ts +18 -0
  331. package/typings/Annotations/Editors/MediaFileEditor.d.ts +7 -0
  332. package/typings/Annotations/Editors/MediaPosterFileEditor.d.ts +9 -0
  333. package/typings/Annotations/Editors/NullableIntEditor.d.ts +39 -0
  334. package/typings/Annotations/Editors/ParentIdEditor.d.ts +22 -0
  335. package/typings/Annotations/Editors/PlaceholderEditorStub.d.ts +15 -0
  336. package/typings/Annotations/Editors/PreserveStampSizeAspectToggle.d.ts +15 -0
  337. package/typings/Annotations/Editors/SelectFileHelper.d.ts +24 -0
  338. package/typings/Annotations/Editors/SoundFileEditor.d.ts +41 -0
  339. package/typings/Annotations/Editors/TextAreaEditor.d.ts +23 -0
  340. package/typings/Annotations/Elements/CheckBoxElement.d.ts +2 -0
  341. package/typings/Annotations/Elements/RadioButtonElement.d.ts +2 -0
  342. package/typings/Annotations/RichMediaAnnotation.d.ts +41 -0
  343. package/typings/Annotations/index.d.ts +4 -0
  344. package/typings/Annotations/state.d.ts +4 -0
  345. package/typings/Annotations/types.d.ts +63 -0
  346. package/typings/Articles/Articles.d.ts +19 -0
  347. package/typings/Articles/index.d.ts +4 -0
  348. package/typings/Articles/state.d.ts +4 -0
  349. package/typings/Articles/types.d.ts +24 -0
  350. package/typings/Attachments/Attachments.d.ts +17 -0
  351. package/typings/Attachments/index.d.ts +3 -0
  352. package/typings/Attachments/state.d.ts +4 -0
  353. package/typings/Attachments/types.d.ts +7 -0
  354. package/typings/Contents/Contents.d.ts +13 -0
  355. package/typings/Contents/index.d.ts +4 -0
  356. package/typings/Contents/state.d.ts +4 -0
  357. package/typings/Contents/types.d.ts +16 -0
  358. package/typings/ContextMenu/ContextMenuProvider.d.ts +48 -0
  359. package/typings/ContextMenu/DropdownMenu.d.ts +121 -0
  360. package/typings/ContextMenu/GcDocumentContextMenu.d.ts +80 -0
  361. package/typings/ContextMenu/Positioner.d.ts +58 -0
  362. package/typings/ContextMenu/constants.d.ts +22 -0
  363. package/typings/ContextMenu/essentials.d.ts +41 -0
  364. package/typings/ContextMenu/types.d.ts +2 -0
  365. package/typings/Core/ExternalPdfManager.d.ts +24 -0
  366. package/typings/Core/GcPdfViewerDataLoader.d.ts +24 -0
  367. package/typings/DataStorage/DataStorage.d.ts +20 -0
  368. package/typings/Dialogs/ConfirmationDialog.d.ts +17 -0
  369. package/typings/Dialogs/ProgressDialog.d.ts +37 -0
  370. package/typings/Dialogs/Types.d.ts +22 -0
  371. package/typings/DocumentListPanel.d.ts +39 -0
  372. package/typings/DsPdfViewer.d.ts +5 -0
  373. package/typings/FloatingBar/FloatingBar.d.ts +20 -0
  374. package/typings/FloatingBar/types.d.ts +7 -0
  375. package/typings/FloatingSearchBar/FloatingSearchBar.d.ts +42 -0
  376. package/typings/FloatingSearchBar/types.d.ts +3 -0
  377. package/typings/FormFiller/Controls/CheckBoxControl.d.ts +7 -0
  378. package/typings/FormFiller/Controls/ChoiceControl.d.ts +11 -0
  379. package/typings/FormFiller/Controls/CombTextControl.d.ts +7 -0
  380. package/typings/FormFiller/Controls/ControlBase.d.ts +32 -0
  381. package/typings/FormFiller/Controls/DateTimeControl.d.ts +7 -0
  382. package/typings/FormFiller/Controls/DateTimeHelper.d.ts +18 -0
  383. package/typings/FormFiller/Controls/EmailControl.d.ts +7 -0
  384. package/typings/FormFiller/Controls/PasswordControl.d.ts +7 -0
  385. package/typings/FormFiller/Controls/RadioControl.d.ts +7 -0
  386. package/typings/FormFiller/Controls/SearchControl.d.ts +7 -0
  387. package/typings/FormFiller/Controls/TelControl.d.ts +7 -0
  388. package/typings/FormFiller/Controls/TextControl.d.ts +7 -0
  389. package/typings/FormFiller/Controls/UrlControl.d.ts +7 -0
  390. package/typings/FormFiller/FieldRow.d.ts +27 -0
  391. package/typings/FormFiller/FormFiller.d.ts +32 -0
  392. package/typings/FormFiller/FormFillerDialog.d.ts +28 -0
  393. package/typings/FormFiller/Validator.d.ts +9 -0
  394. package/typings/FormFiller/types.d.ts +48 -0
  395. package/typings/GcPdfDocument.d.ts +65 -0
  396. package/typings/GcPdfDocumentView.d.ts +22 -0
  397. package/typings/GcPdfViewer.d.ts +464 -0
  398. package/typings/GcPdfViewerStateStorage.d.ts +24 -0
  399. package/typings/Keyboard/KeyboardWorker.d.ts +52 -0
  400. package/typings/Keyboard/ShortcutsConfig.d.ts +10 -0
  401. package/typings/Layers/Layers.d.ts +17 -0
  402. package/typings/Layers/index.d.ts +1 -0
  403. package/typings/Layers/state.d.ts +0 -0
  404. package/typings/Layers/types.d.ts +8 -0
  405. package/typings/LeftSidebar.d.ts +33 -0
  406. package/typings/Models/EventArgs.d.ts +38 -0
  407. package/typings/Models/GcMeasurementTypes.d.ts +29 -0
  408. package/typings/Models/PluginTypes.d.ts +23 -0
  409. package/typings/Models/ViewerTypes.d.ts +279 -0
  410. package/typings/Password/GcPdfPasswordDialog.d.ts +31 -0
  411. package/typings/PdfDocumentViewer/PdfDocumentViewer.d.ts +11 -0
  412. package/typings/PdfOrganizer/PdfOrganizerDialog.d.ts +83 -0
  413. package/typings/PdfOrganizer/types.d.ts +17 -0
  414. package/typings/Polyfills/ArrayPolyfills.d.ts +1 -0
  415. package/typings/Polyfills/CanvasToBlob.d.ts +0 -0
  416. package/typings/Polyfills/closest.d.ts +0 -0
  417. package/typings/Print/GcPdfPrintProgress.d.ts +17 -0
  418. package/typings/Print/GcPdfPrintService.d.ts +7 -0
  419. package/typings/Properties/DocumentInformation.d.ts +22 -0
  420. package/typings/Properties/PropertiesDialog.d.ts +39 -0
  421. package/typings/ReplyTool/AuthorLabel.d.ts +8 -0
  422. package/typings/ReplyTool/ReplyTool.d.ts +90 -0
  423. package/typings/ReplyTool/types.d.ts +25 -0
  424. package/typings/RightSidebar/GcRightSidebar.d.ts +42 -0
  425. package/typings/RightSidebar/types.d.ts +2 -0
  426. package/typings/Search/GcPdfSearcher.d.ts +98 -0
  427. package/typings/Search/IPdfSearcher.d.ts +5 -0
  428. package/typings/Search/SearchPanel.d.ts +16 -0
  429. package/typings/Search/SearchPanelBase.d.ts +35 -0
  430. package/typings/Search/SearchUtils.d.ts +24 -0
  431. package/typings/Search/SearchWorker.d.ts +37 -0
  432. package/typings/Search/TextSelectionBoundsTester.d.ts +10 -0
  433. package/typings/Search/api.d.ts +12 -0
  434. package/typings/Search/index.d.ts +5 -0
  435. package/typings/Search/types.d.ts +135 -0
  436. package/typings/Security/DocumentSecuritySummary.d.ts +19 -0
  437. package/typings/SharedDocuments/ShareDialog.d.ts +55 -0
  438. package/typings/SharedDocuments/SharedChangeIndicator.d.ts +5 -0
  439. package/typings/SharedDocuments/SharedDocumentsPanel.d.ts +26 -0
  440. package/typings/SharedDocuments/types.d.ts +73 -0
  441. package/typings/SignTool/CanvasRuler.d.ts +21 -0
  442. package/typings/SignTool/DrawTool.d.ts +41 -0
  443. package/typings/SignTool/ImageTool.d.ts +51 -0
  444. package/typings/SignTool/SignToolDialog.d.ts +97 -0
  445. package/typings/SignTool/SignToolStorage.d.ts +17 -0
  446. package/typings/SignTool/SignaturePad/SignaturePad.d.ts +76 -0
  447. package/typings/SignTool/SignaturePad/throttle.d.ts +1 -0
  448. package/typings/SignTool/SignaturePad/types.d.ts +30 -0
  449. package/typings/SignTool/TypeTool.d.ts +52 -0
  450. package/typings/SignTool/types.d.ts +62 -0
  451. package/typings/StructureTree/StructureTree.d.ts +31 -0
  452. package/typings/StructureTree/index.d.ts +1 -0
  453. package/typings/StructureTree/state.d.ts +0 -0
  454. package/typings/StructureTree/types.d.ts +7 -0
  455. package/typings/Styles/StaticIcons.d.ts +1 -0
  456. package/typings/Styles/pdfSvgIcons.d.ts +155 -0
  457. package/typings/SupportApi/Connection/ClientMessage.d.ts +61 -0
  458. package/typings/SupportApi/Connection/Message.d.ts +3 -0
  459. package/typings/SupportApi/Connection/PersistentConnection.d.ts +33 -0
  460. package/typings/SupportApi/Connection/ServerMessage.d.ts +25 -0
  461. package/typings/SupportApi/DocumentOptions.d.ts +14 -0
  462. package/typings/SupportApi/ISupportApi.d.ts +44 -0
  463. package/typings/SupportApi/ISupportApiBase.d.ts +30 -0
  464. package/typings/SupportApi/LocalDocumentModification.d.ts +23 -0
  465. package/typings/SupportApi/RenderParams.d.ts +7 -0
  466. package/typings/SupportApi/SignatureInfo.d.ts +0 -0
  467. package/typings/SupportApi/SupportApiImpl.d.ts +88 -0
  468. package/typings/SupportApi/Wasm/IWasmModule.d.ts +22 -0
  469. package/typings/SupportApi/Wasm/WasmModule.d.ts +2 -0
  470. package/typings/SupportApi/Wasm/WasmSupportApi.d.ts +38 -0
  471. package/typings/SupportApi/types.d.ts +43 -0
  472. package/typings/Thumbnails/GcRangedThumbsPane.d.ts +17 -0
  473. package/typings/Thumbnails/GcThumbView.d.ts +50 -0
  474. package/typings/Thumbnails/GcThumbnailViewer.d.ts +46 -0
  475. package/typings/Thumbnails/Thumbnails.d.ts +18 -0
  476. package/typings/Thumbnails/index.d.ts +1 -0
  477. package/typings/Toolbar/PdfToolbarLayout.d.ts +9 -0
  478. package/typings/Toolbar/SecondToolbar/SecondToolbar.d.ts +25 -0
  479. package/typings/Toolbar/SecondToolbar/SecondToolbarControl.d.ts +31 -0
  480. package/typings/Toolbar/SecondToolbar/SecondToolbarRenderer.d.ts +5 -0
  481. package/typings/Toolbar/SecondToolbar/types.d.ts +9 -0
  482. package/typings/Toolbar/ToolbarItems.d.ts +71 -0
  483. package/typings/Toolbar/controls/AddStampDropdown.d.ts +61 -0
  484. package/typings/Toolbar/controls/Zoom.d.ts +42 -0
  485. package/typings/Utils/AnnotationsSvgFactory.d.ts +34 -0
  486. package/typings/Utils/AudioOscilloscopeVisualizer.d.ts +23 -0
  487. package/typings/Utils/AudioUtils.d.ts +12 -0
  488. package/typings/Utils/BackgroundUtilsWorker.d.ts +6 -0
  489. package/typings/Utils/BrowserUtils.d.ts +20 -0
  490. package/typings/Utils/ColorUtils.d.ts +7 -0
  491. package/typings/Utils/CombFieldBehavior.d.ts +58 -0
  492. package/typings/Utils/DomUtils.d.ts +21 -0
  493. package/typings/Utils/DownloadUtil.d.ts +2 -0
  494. package/typings/Utils/DrawingPanel.d.ts +11 -0
  495. package/typings/Utils/DropFileAreaHelper.d.ts +25 -0
  496. package/typings/Utils/EditableComboBoxBehavior.d.ts +17 -0
  497. package/typings/Utils/EncodingUtils.d.ts +9 -0
  498. package/typings/Utils/Exceptions.d.ts +5 -0
  499. package/typings/Utils/GcEditableTextBehavior.d.ts +48 -0
  500. package/typings/Utils/GcMeasurement.d.ts +37 -0
  501. package/typings/Utils/GestureEventsDispatcher.d.ts +40 -0
  502. package/typings/Utils/MathUtils.d.ts +17 -0
  503. package/typings/Utils/MeasurementUtils.d.ts +4 -0
  504. package/typings/Utils/PromiseUtils.d.ts +24 -0
  505. package/typings/Utils/ResizableDialogBehavior.d.ts +1 -0
  506. package/typings/Utils/RichMediaAnnotationPlayer.d.ts +60 -0
  507. package/typings/Utils/ScrollUtils.d.ts +20 -0
  508. package/typings/Utils/SearchUtils.d.ts +20 -0
  509. package/typings/Utils/SelectionRangeUtils.d.ts +2 -0
  510. package/typings/Utils/SharedRef.d.ts +17 -0
  511. package/typings/Utils/StampImagesAwaiter.d.ts +15 -0
  512. package/typings/Utils/SupportApiUtils.d.ts +4 -0
  513. package/typings/Utils/TooltipPopup.d.ts +6 -0
  514. package/typings/Utils/UrlUtils.d.ts +17 -0
  515. package/typings/Utils/ViewerUtils.d.ts +68 -0
  516. package/typings/Utils/index.d.ts +1 -0
  517. package/typings/ViewerOptions.d.ts +316 -0
  518. package/typings/XFA/XfaApiImpl.d.ts +19 -0
  519. package/typings/XFA/XfaForm.d.ts +7 -0
  520. package/typings/XFA/XfaNode.d.ts +5 -0
  521. package/typings/httpClient.d.ts +15 -0
  522. package/typings/index.d.ts +10 -0
  523. package/typings/plugin.d.ts +646 -0
  524. package/typings/vendor/i18next.d.ts +1022 -0
  525. package/typings/vendor/js-viewer-core/api/PluginModel.d.ts +246 -0
  526. package/typings/vendor/js-viewer-core/api/ReportViewerCmd.d.ts +72 -0
  527. package/typings/vendor/js-viewer-core/api/index.d.ts +3 -0
  528. package/typings/vendor/js-viewer-core/components/DocumentViewer/ContinuousView.d.ts +37 -0
  529. package/typings/vendor/js-viewer-core/components/DocumentViewer/Page.d.ts +17 -0
  530. package/typings/vendor/js-viewer-core/components/DocumentViewer/SinglePageView.d.ts +30 -0
  531. package/typings/vendor/js-viewer-core/components/DocumentViewer/View.d.ts +15 -0
  532. package/typings/vendor/js-viewer-core/components/DocumentViewer/Zoomer.d.ts +12 -0
  533. package/typings/vendor/js-viewer-core/components/DocumentViewer/index.d.ts +3 -0
  534. package/typings/vendor/js-viewer-core/components/DocumentViewer/moveTool.d.ts +4 -0
  535. package/typings/vendor/js-viewer-core/components/DocumentViewer/state.d.ts +7 -0
  536. package/typings/vendor/js-viewer-core/components/DocumentViewer/types.d.ts +214 -0
  537. package/typings/vendor/js-viewer-core/components/DocumentViewer/zoomUtils.d.ts +26 -0
  538. package/typings/vendor/js-viewer-core/components/ErrorPanel/ErrorView.d.ts +26 -0
  539. package/typings/vendor/js-viewer-core/components/ErrorPanel/View.d.ts +22 -0
  540. package/typings/vendor/js-viewer-core/components/ErrorPanel/index.d.ts +3 -0
  541. package/typings/vendor/js-viewer-core/components/ErrorPanel/state.d.ts +4 -0
  542. package/typings/vendor/js-viewer-core/components/ErrorPanel/types.d.ts +21 -0
  543. package/typings/vendor/js-viewer-core/components/NotificationManager/NotificationManager.d.ts +19 -0
  544. package/typings/vendor/js-viewer-core/components/NotificationManager/index.d.ts +1 -0
  545. package/typings/vendor/js-viewer-core/components/PanelManager/MenuView.d.ts +32 -0
  546. package/typings/vendor/js-viewer-core/components/PanelManager/SideBarView.d.ts +39 -0
  547. package/typings/vendor/js-viewer-core/components/PanelManager/TopBottomPanelView.d.ts +9 -0
  548. package/typings/vendor/js-viewer-core/components/PanelManager/index.d.ts +5 -0
  549. package/typings/vendor/js-viewer-core/components/PanelManager/state.d.ts +13 -0
  550. package/typings/vendor/js-viewer-core/components/PanelManager/types.d.ts +47 -0
  551. package/typings/vendor/js-viewer-core/components/ProgressDialog/View.d.ts +19 -0
  552. package/typings/vendor/js-viewer-core/components/ProgressDialog/index.d.ts +3 -0
  553. package/typings/vendor/js-viewer-core/components/ProgressDialog/state.d.ts +4 -0
  554. package/typings/vendor/js-viewer-core/components/ProgressDialog/types.d.ts +26 -0
  555. package/typings/vendor/js-viewer-core/components/ThumbnailsPanel/ThumbnailsPanel.d.ts +4 -0
  556. package/typings/vendor/js-viewer-core/components/ThumbnailsPanel/index.d.ts +4 -0
  557. package/typings/vendor/js-viewer-core/components/ThumbnailsPanel/state.d.ts +6 -0
  558. package/typings/vendor/js-viewer-core/components/ThumbnailsPanel/types.d.ts +37 -0
  559. package/typings/vendor/js-viewer-core/components/Toolbar/Toolbar.d.ts +97 -0
  560. package/typings/vendor/js-viewer-core/components/Toolbar/controls/Zoom.d.ts +23 -0
  561. package/typings/vendor/js-viewer-core/components/Toolbar/index.d.ts +1 -0
  562. package/typings/vendor/js-viewer-core/components/index.d.ts +8 -0
  563. package/typings/vendor/js-viewer-core/components/utils.d.ts +6 -0
  564. package/typings/vendor/js-viewer-core/control/CancellationToken.d.ts +36 -0
  565. package/typings/vendor/js-viewer-core/control/EventFan.d.ts +35 -0
  566. package/typings/vendor/js-viewer-core/control/ReactStateBinder.d.ts +24 -0
  567. package/typings/vendor/js-viewer-core/control/ReportViewer.d.ts +227 -0
  568. package/typings/vendor/js-viewer-core/control/SessionState.d.ts +61 -0
  569. package/typings/vendor/js-viewer-core/control/Store.d.ts +37 -0
  570. package/typings/vendor/js-viewer-core/control/Toolbar.d.ts +53 -0
  571. package/typings/vendor/js-viewer-core/control/ViewerState.d.ts +67 -0
  572. package/typings/vendor/js-viewer-core/control/historyStore.d.ts +0 -0
  573. package/typings/vendor/js-viewer-core/control/index.d.ts +7 -0
  574. package/typings/vendor/js-viewer-core/features/search/SearchPanel.d.ts +21 -0
  575. package/typings/vendor/js-viewer-core/features/search/api.d.ts +18 -0
  576. package/typings/vendor/js-viewer-core/features/search/index.d.ts +8 -0
  577. package/typings/vendor/js-viewer-core/features/search/types.d.ts +117 -0
  578. package/typings/vendor/js-viewer-core/index.d.ts +6 -0
  579. package/typings/vendor/js-viewer-core/styles/svgIcons.d.ts +30 -0
  580. package/typings/vendor/react/global.d.ts +151 -0
  581. package/typings/vendor/react/react-dom.d.ts +100 -0
  582. package/typings/vendor/react/react.d.ts +3152 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,2886 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [7.1.0] - 04-Apr-2024
8
+ ### Fixed
9
+ - Cannot submit comment by pressing the Enter kay on the 'Done' button. (DOC-6109)
10
+ - Issues with loading large files. (DOC-6080, DOC-6082)
11
+ - Edit mode is not deactivated when switching the viewer layout from annotation editor while the second toolbar is open. (DOC-6074)
12
+ - Searching for a text also highlights the space before the found text. (DOC-6142)
13
+ ### Changed
14
+ - Enhanced the behavior and appearance of the context menu, added the ability to add a note to selected text. (DOC-6100)
15
+ - Removed text markup menu that automatically popped up on text selection. The main context menu includes that menu as a submenu.
16
+ - Added the `showContextMenuOnSelection` option controlling the context menu behavior when text is selected.\
17
+ The option has the following values:
18
+ * "Auto": Automatically determines whether to show the context menu based on the device type.
19
+ * "On": Always shows the context menu when text is selected.
20
+ * "Off": Never shows the context menu when text is selected.\
21
+ The default value is "Auto". On systems with mice, "Auto" behaves like "Off".
22
+ On small devices (phones, tablets) without mice, "Auto" behaves like "On".
23
+ - [Reply Tool] Updated context menu texts. (DOC-6014)
24
+ ### Added
25
+ - Added support for rich media annotations (play embedded audio/video, modify rich media annotations). (DOC-5979)
26
+ - Reply Tool Improvements:
27
+ * Added the ability to delete a comment item using the Delete key. Enabled navigation through comment items using the TAB and Arrow keys.
28
+ * Added the ability to resize the right sidebar element.
29
+ * The Reply Tool now activates automatically when a markup annotation or text comment is added via the context menu, focusing on the new comment in the list.
30
+ ```javascript
31
+ // Use autoExpandOnCommentAdd option to revert to previous behavior:
32
+ var viewer = new DsPdfViewer("#root", { replyTool: { autoExpandOnCommentAdd: false } });
33
+ ```
34
+ * The color for ReplyTool icons has been removed.
35
+ ```javascript
36
+ // Use useColoredIcons option to revert to previous behavior:
37
+ var viewer = new DsPdfViewer("#root", { replyTool: { useColoredIcons: true } });
38
+ ```
39
+ - Split ISupportApi into base and multi-user parts, added the ability to specify a custom implementation for SupportApi that conforms to the ISupportApiBase interface. (DOC-5440)
40
+ ```javascript
41
+ // Example
42
+ var viewer = new DsPdfViewer("#root", {
43
+ supportApi: {
44
+ implementation: new CustomSupportApi()
45
+ }
46
+ });
47
+ ```
48
+
49
+ ## [7.0.4] - 20-Mar-2024
50
+ ### Fixed
51
+ - Incorrect appearance of a rotated stamp annotation. (DOC-6059)
52
+ - After calling dispose() method, viewer reserved keys still do not work correctly. (DOC-6060)
53
+ - Ellipsis is displayed in the floating search bar's settings when the system language is not English and the language option is not specified. (DOC-6067)
54
+
55
+ ## [7.0.3] - 19-Feb-2024
56
+ ### Added
57
+ - Added new option 'printResolution' (DOC-5995).\
58
+ The 'printResolution' option allows you to specify the resolution (in dots per inch - DPI) for printing purposes.
59
+ When rendering and preparing a PDF documents for printing, this option determines the quality and detail of the
60
+ generated images used in the printing process. A higher DPI value generally results in crisper and more detailed
61
+ printed output but may also lead to larger memory usage and slower preview performance. The default value is 150 DPI.
62
+ ```javascript
63
+ // Example: set the print resolution to 300 DPI:
64
+ var viewer = new DsPdfViewer("#root", {
65
+ printResolution: 300
66
+ });
67
+ ```
68
+ ### Fixed
69
+ - In single page view mode, ItemArea for search results is NaN on Page 2. (DOC-6017)
70
+ - The search settings dialog is not closed after closing the floating search bar. (DOC-6021)
71
+ - Auto-sized font appears larger than the required font size in some PDFs. (DOC-6029)
72
+ - Unable to input "c" and "x" characters in CombTextField. (DOC-6035)
73
+
74
+ ## [7.0.2] - 25-Jan-2024
75
+ ### Fixed
76
+ - Floating text search window display issues in some locales. (DOC-5996)
77
+ - Incorrect display of some fonts. (DOC-5983)
78
+ - Searched text is not visible in the viewport. (DOC-5965)
79
+ - [SupportApi] Resources are not released when the viewer is disposed. (DOC-5733)
80
+ - Concurrency issue in the addAnnotation() method. (DOC-6010)
81
+ - [Search API] SearchResult.ItemArea is empty. (DOC-6000)
82
+
83
+ ## [7.0.1] - 04-Jan-2024
84
+ ### Added
85
+ - Added standardFontDataUrl option: the URL where the standard font files are located. Include the trailing slash. (DOC-5959)
86
+ ```javascript
87
+ // Example with relative URL:
88
+ var viewer = new DsPdfViewer("#root", { standardFontDataUrl: "resources/standard_fonts/" });
89
+ // Example with absolute URL:
90
+ var viewer = new DsPdfViewer("#root", { standardFontDataUrl: "http://localhost:8080/resources/standard_fonts/" });
91
+ ```
92
+ - Added Chinese localization. (DOC-5856)
93
+ ```javascript
94
+ // Example:
95
+ var viewer = new DsPdfViewer("#root", { language: "cn" });
96
+ ```
97
+ ### Changed
98
+ - JPN localization updated. (DOC-5948)
99
+ - License messages updated. (DOC-5951, DOC-5953)
100
+ ### Fixed
101
+ - ComboBox: the first available option value displayed when field is empty. (DOC-5954)
102
+ - Console warnings about missing standard font files. (DOC-5969)
103
+ - Extra pages are added to the PDF in print preview when the HTML page contains elements with static positioning. (DOC-5895)
104
+ - Some incorrectly formed annotations are not shown. (DOC-5986)
105
+
106
+ ## [7.0.0] - 07-Dec-2023
107
+ ### Added
108
+ - Added DsPdfViewer class and "@mescius/dspdfviewer" package. Functionally DsPdfViewer is identical to GcPdfViewer. (DOC-5735)
109
+ - Added floating text search bar. (DOC-5406)
110
+ - Added localization resources and a localization example to the pdf viewer build.
111
+ - Added new option useFloatingSearchBar - enable a floating search bar instead of the sidebar search panel. Default value is true.
112
+ ```javascript
113
+ // To revert to using sidebar search panel instead of the floating search bar:
114
+ var viewer = new DsPdfViewer("#root", { useFloatingSearchBar: false });
115
+ ```
116
+ ### Changed
117
+ - Some tooltips updated.
118
+
119
+ ## [4.2.5] - 22-Nov-2023
120
+ ### Fixed
121
+ - Cannot resize annotations and form fields in some PDFs. (DOC-5396)
122
+ - [Ionic Framework] Error "PDF Viewer Factory is not ready." occurs for Ionic Modal. (DOC-5826)
123
+ - [Search Panel] Text highlighting disappears when clicking on a document. (DOC-5838)
124
+ - [Editor] Problem when moving a stamp annotation to another page using the context menu. (DOC-5844)
125
+ ### Changed
126
+ - [Editor] Improved the floating bar containing the caret/hand options (added close button, reduced size).
127
+ - Enhanced the default HTML template index.html (added a description for SupportApi settings).
128
+ ### Added
129
+ - Localizable string resources and example for localization are now included in the package.
130
+
131
+ ## [4.2.4] - 27-Oct-2023
132
+ ### Fixed
133
+ - When a stamp annotation is moved to another page, the resulting position is incorrect. (DOC-5728)
134
+ - The annotation position is changed on saving changes after locking the annotations. (DOC-5732)
135
+ - [demos] Viewer API is not visible correctly with Window Dark Mode. (DOC-5721)
136
+
137
+ ## [4.2.3] - 28-Sep-2023
138
+ ### Fixed
139
+ - Clicking on a link in a PDF opens a blank page. (DOC-5709)
140
+ - [Windows Touch] Zooming by hand does not work. (DOC-5633)
141
+
142
+ ## [4.2.2] - 13-Sep-2023
143
+ ### Changed
144
+ - Localization resources updated. (DOC-5651)
145
+ ### Fixed
146
+ - [Regression] "Cannot find type definition" error when compiling a typescript enabled app. (DOC-5688)
147
+ - [Regression] Issues with displaying info messages from the viewer. (DOC-5690)
148
+ - Comments added by Adobe Acrobat Reader are not shown correctly when the renderInteractiveForms option is false. (DOC-5693)
149
+ - Annotations with AnnotationFlags.NoView are displayed. (DOC-5697)
150
+
151
+ ## [4.2.1] - 17-Aug-2023
152
+ ### Fixed
153
+ - [Editor] After saving a free text annotation with a custom font, the font in the saved PDF is incorrect. (DOC-5642)
154
+ ### Changed
155
+ - Localization resources updated. (DOC-5651)
156
+ ### Added
157
+ - [Editor] Ability to use custom fonts in saved PDFs, see CHANGELOG.​md shipped with GrapeCity.Documents.Pdf.ViewerSupportApi for details. (DOC-5652)
158
+ - [Editor] Auto-adjusting font size of text boxes: if the font size is zero, it will be automatically adjusted to fit the content of the text box. (DOC-5558)
159
+
160
+ ## [4.2.0] - 01-Aug-2023
161
+ ### Fixed
162
+ - Content of some password-protected PDF documents is not displayed. (DOC-5623)
163
+ - The name of a document list item changed from lower to upper case. (DOC-5602)
164
+ - [iOS Desktop] PDF text cannot be selected on zooming the document. (DOC-5432)
165
+ - Miscellaneous UI improvements. (ARF-4244, DOC-5608, DOC-5638)
166
+ ### Added
167
+ - Added the ability to use an async function as a "beforeFormSubmit" handler. (DOC-5589)
168
+ ```javascript
169
+ // Example:
170
+ viewer.options.handlers = {
171
+ beforeFormSubmit: async function(args) {
172
+ // Wait 5 seconds before submit:
173
+ await new Promise(resolve => setTimeout(resolve, 5000));
174
+ args.cancel = true;
175
+ alert("5 seconds passed. Submit canceled.");
176
+ }
177
+ };
178
+ ```
179
+ - [Document List Panel] Added the ability to specify html content for document list items. (DOC-5367)
180
+ - [Collaboration] Added new methods: getSharedDocuments, openSharedDocumentByName, openSharedDocumentByIndex. (DOC-5457)
181
+ ```javascript
182
+ // Example 1: get the list of shared documents available to the current user:
183
+ var sharedDocuments = await viewer.getSharedDocuments();
184
+ // Example 2: open the first available shared document named "example.pdf":
185
+ viewer.openSharedDocumentByName("example.pdf");
186
+ // Example 3: open the second shared document in the list:
187
+ viewer.openSharedDocumentByIndex(1);
188
+ ```
189
+
190
+ ## [4.1.5] - 14-Jul-2023
191
+ ### Fixed
192
+ - Image cache not functioning correctly when navigating from the first page. (DOC-5564)
193
+ - A signature with an appearance stream is not visible. (DOC-5547, DOC-5578)
194
+ - [iOS] [iOS Desktop mode] [Android] Pinch zoom in on a link redirects the page. (DOC-5560)
195
+ - [Editor] Free text annotation's text changes after repaint. (DOC-5573)
196
+ - Multiline text cannot be entered in free text & sticky note annotations. (DOC-5468)\
197
+ (Note that note that Adobe Acrobat does not support line breaks for plain text in text annotations.
198
+ If line breaks are detected during editing, we automatically set the rich text flag for the text annotation.)
199
+ - When several lines of text are selected to create a markup annotation, a separate annotation is created for each line. (DOC-5503)
200
+ - Incorrect display on the second page when viewing a specific PDF. (DOC-5496)
201
+ - Incorrect handling of rich text when text markup is entered in a text annotation. (DOC-5551)
202
+ - Incorrect field names on calling the viewer.submitForm() method. (DOC-5553)
203
+ - [Editor] Content missing when opening a PDF on an IOS devices. (DOC-5407)
204
+ - [iOS] Incorrect context menu position when context menu is triggered by keyboard. (DOC-5555)
205
+ - [iOS] [Android] Pinch zoom in on a link is redirecting the page. (DOC-5560)
206
+ ### Changed
207
+ - Improved the behavior of free text annotations. (DOC-5368)
208
+
209
+ ## [4.1.4] - 20-Jun-2023
210
+ ### Fixed
211
+ - Improved handling of JavaScript code associated with widget events. (DOC-5475)
212
+ - [Windows Touchpad] In PDF Organizer, cannot dragged pages using the touchpad. (DOC-5465)
213
+
214
+ ## [4.1.3] - 31-May-2023
215
+ ### Fixed
216
+ - A typing error is thrown when adding stamps in code in an Angular app. (DOC-5433)
217
+
218
+ ## [4.1.2] - 08-May-2023
219
+ ### Added
220
+ - [Form editor] Added tooltip support for all fields, added "Field tooltip" property editor. (DOC-5384)
221
+ - Added addStamp method. (DOC-5376)
222
+ ```javascript
223
+ // Example: add graphical signature to the PDF using external image:
224
+ function addStampFromUrl(imageUrl, viewer) {
225
+ fetch(imageUrl)
226
+ .then(response => response.blob())
227
+ .then(blob => blob.arrayBuffer())
228
+ .then(arrayBuffer => {
229
+ const fileId = new Date().getTime() + ".png";
230
+ const fileName = fileId;
231
+ const pageIndex = 0;
232
+ const imageData = new Uint8Array(arrayBuffer);
233
+ const rect = [0, 0, 200, 200];
234
+ viewer.storage.setItem(fileId, imageData);
235
+ viewer.addStamp(
236
+ imageData,
237
+ {
238
+ fileId,
239
+ fileName,
240
+ pageIndex,
241
+ rect,
242
+ select: false,
243
+ subject: "",
244
+ rotate: 0,
245
+ convertToContent: false
246
+ });
247
+ });
248
+ }
249
+ addStampFromUrl("http://example.com/image.png", viewer);
250
+ ```
251
+ - Added jsExecutionConfig option: optional execution configuration for JavaScript actions.
252
+ ```javascript
253
+ // Example 1: adjust jsCode before execution:
254
+ viewer.options.jsExecutionConfig = {
255
+ before: function(args) {
256
+ args.jsCode = args.jsCode.replace("app.alert", "app.showMessage");
257
+ }
258
+ }
259
+ // Example 2: cancel JS execution:
260
+ viewer.options.jsExecutionConfig = {
261
+ before: function(args) {
262
+ args.cancel = true;
263
+ }
264
+ }
265
+ // Example 3: execute long operation before JS execution and repaint visible pages after JS execution:
266
+ viewer.options.jsExecutionConfig = {
267
+ before: function() {
268
+ // Returned promise will be awaited before further JS execution.
269
+ return new Promise(function(resolve) {
270
+ setTimeout(resolve, 1000);
271
+ });
272
+ },
273
+ after: function() {
274
+ viewer.repaint();
275
+ }
276
+ }
277
+ ```
278
+ ### Changed
279
+ - [Editor] Updated property labels for field widgets: property "Name" renamed to "Field name", property "Value" renamed to "Field value", property "Export Value" renamed to "Choice value".
280
+ ### Fixed
281
+ - The second toolbar position is not updated in some cases. (DOC-5377)
282
+ - [iOS] When a signature is drawn by Apple Pencil, a lens is sometimes displayed. (DOC-5370)
283
+ - [iOS] Locking all fields does not lock some properties. (DOC-5299)
284
+ - [iOS] Several issues when using the PDF Organizer. (DOC-5344, DOC-5345)
285
+ - Stamp annotations in some PDFs incorrectly appear rotated. (DOC-5383)
286
+ - Cannot copy a layer name from the Layers panel. (DOC-5385)
287
+ - Cannot load a stamp generated from an image. (DOC-5379)
288
+ - JavaScript actions' sequence is incorrect for focus/blur events. (DOC-5389)
289
+ - Localization issues. (DOC-5359)
290
+ - [Editor] Incorrect popup annotation orientation is some cases. (DOC-5386)
291
+
292
+ ## [4.1.1] - 17-Apr-2023
293
+ ### Fixed
294
+ - [Regression] [Editor] 'Support API server version 6.1.0 is out of date' warning incorrectly shows when the viewer is connected to SupportApi v6.1.0. (DOC-5374)
295
+
296
+ ## [4.1.0] - 03-Apr-2023
297
+ ### Added
298
+ - PDF Organizer: new feature that allows users to rearrange, duplicate or remove pages of a PDF, or merge PDFs. (DOC-3914, DOC-3915, DOC-3916)\
299
+ To open the PDF Organizer dialog, in the top toolbar click 'Page Tools', and in the secondary toolbar click 'PDF Organizer'.
300
+ - Respect PDF's initial view settings (hide toolbars or menus, open with specific page layout, etc). (DOC-4667)
301
+ - Added ignoreInitialView option: set this option to true to ignore initial view settings specified in PDFs.
302
+ ```javascript
303
+ // Example:
304
+ viewer.options.ignoreInitialView = true;
305
+ ```
306
+ - Added support for zoom-dependent optional content (layers). (DOC-3970, DOC-4108)
307
+ - Added the ability to specify a custom progress message during save action.
308
+ ```javascript
309
+ // Example: use your own progress title and message:
310
+ viewer.save("sample.pdf", { pages: "[angle:90]0,1-5", progressTitle: "Rotating", progressMessage: "Rotating first page..." }, reload: true);
311
+ ```
312
+ - Added new method resolvePageIndex(): resolves the page index using PDF page reference. (DOC-5214)
313
+ ```javascript
314
+ // Example:
315
+ const openAction = (await viewer.viewerPreferences).openAction;
316
+ if(openAction && openAction.dest) {
317
+ const pageRef = openAction.dest[0];
318
+ const targetPageIndex = await viewer.resolvePageIndex(pageRef);
319
+ }
320
+ ```
321
+ - Added holdToPan action: press and hold the spacebar to temporarily enable the pan tool.
322
+ ```javascript
323
+ // Example 1: disable holdToPan when space is pressed:
324
+ viewer.options.shortcuts["32"] = () => {};
325
+ // Example 2: bind P to holdToPan action, keep Ctrl+P bound to print action:
326
+ viewer.options.shortcuts["P"] = [{ ctrl: true, tool: "print" }, { tool: "holdToPan" }];
327
+ ```
328
+ ### Changed
329
+ - 'Layers' and 'StructureTree' panels added to the default sidebar layout, 'Articles' panel removed.
330
+ The default set of sidebar panels is now as follows: 'Thumbnails', 'Search', 'Outline', 'Layers', 'StructureTree', 'Attachments'.
331
+ ```javascript
332
+ // Example: restore the old default layout:
333
+ var viewer = new GcPdfViewer("#root");
334
+ viewer.addArticlesPanel();
335
+ viewer.addThumbnailsPanel();
336
+ viewer.addSearchPanel();
337
+ viewer.addOutlinePanel();
338
+ viewer.addAttachmentsPanel();
339
+ ```
340
+ - [Editor] The printable flag is now set to true for all new annotations.
341
+ - Returning model type for the viewer.viewerPreferences property changed: all property names are now camelCased, new properties added: openAction, pageMode, pageLayout.
342
+ - Reduced the heights of dialogs' title bars. (DOC-5313)
343
+ - [Editor] Text annotation (sticky note) properties display improved. (DOC-3241)
344
+
345
+ ## [4.0.7] - 07-Apr-2023
346
+ ### Changed
347
+ - hideAnnotationPopups option improved: the option now allows specifying annotation types that won't show popups. (DOC-5283)\
348
+ Possible values are:
349
+ ['Text', 'Link', 'Line', 'Square', 'Circle', 'Polygon', 'PolyLine', 'Ink', 'Popup', 'FileAttachment', 'Sound', 'Redact', 'Stamp'] or true or 'All' (true and 'All' have the same behavior).
350
+ ```javascript
351
+ // Example 1: hide popups for all annotations:
352
+ var viewer = new GcPdfViewer("#root", { hideAnnotationPopups: true });
353
+ // Example 2: hide popups for Redact, Circle and Square annotations:
354
+ var viewer = new GcPdfViewer("#root", { hideAnnotationPopups: ["Redact", "Circle", "Square"] });
355
+ ```
356
+ - The save() method now allows specifying a range(s) of pages to save, changing page order or duplicating pages. (DOC-3916)
357
+ ```javascript
358
+ // Example 1: save specified pages only:
359
+ await viewer.save("test.pdf", { pages: "0, 3, 5-7" });
360
+ // Example 2: duplicate and save the first page:
361
+ await viewer.save("test.pdf", { pages: "0, 0" });
362
+ // Example 3: split PDF into two documents:
363
+ await viewer.save("test_part1.pdf", { pages: "0-3" });
364
+ await viewer.save("test_part2.pdf", { pages: "4-8" });
365
+ // Example 4: change page order:
366
+ await viewer.save("test_changed_order.pdf", { pages: "3, 2, 1, 0" });
367
+ ```
368
+ - The saveAsImages() method now allows specifying the zoom factor.
369
+ ```javascript
370
+ // Example:
371
+ viewer.saveAsImages("sample.pdf", { zoomFactor: 1.5 });
372
+ ```
373
+ ### Fixed
374
+ - [Editor] In a PDF with different page sizes the 'move to next page' option may not work correctly. (DOC-5217)
375
+ - [Editor] A locked stamp annotation can still be edited in GcPdfViewer. (DOC-5216)
376
+ - [Editor] Cannot undo changes if the editor layout is not activated. (DOC-5315)
377
+ - [Editor] A popup annotation may move unexpectedly. (DOC-5318)
378
+ - Cannot navigate between pages using PageUp/PageDown keys in single page view. (DOC-5335)
379
+ - The list of layers is not shown correctly in some cases. (DOC-5338)
380
+
381
+ ## [4.0.6] - 23-Mar-2023
382
+ ### Fixed
383
+ - [Editor] Move to next page does not work correctly with different page sizes. (DOC-5217)
384
+ - [Editor] The zoom value changes after finishing a drawing with the OK button. (DOC-5184)
385
+ - [Regression] Form fields that should be hidden by a checkbox are still visible after unchecking the checkbox. (DOC-5242)
386
+
387
+ ## [4.0.5] - 27-Feb-2023
388
+ ### Fixed
389
+ - In some cases the signer's name is not shown correctly in the viewer. (DOC-5145)
390
+ - signatureValue returns incorrect JP text for certain PDFs. (DOC-5136)
391
+ - [Demos] Downloaded sample cannot be run correctly. (DOC-5149)
392
+ - [Editor] Annotations cannot be placed correctly in specific PDFs. (DOC-5125)
393
+ - [Editor] Ink annotations' position are incorrect when zooming in/out. (DOC-5139)
394
+ - [Editor] A checkbox is not checked when setting its fieldValue same as the export value. (DOC-5151)
395
+ - [Editor] Line coordinates are incorrect when adding a line annotation in a specific PDF. (DOC-5144)
396
+ - [Editor] A 'Drag and drop error' message shows when trying to input a property value in some cases. (DOC-5169)
397
+ - [Editor] In some scenarios, a checkbox that is checked by code does not show as checked. (DOC-5152)
398
+ - [Editor] A checkbox's shown value is not synchronized with its state. (DOC-5113)
399
+ - [Editor] For checkboxes with the same name, the checked state shows incorrectly by Acrobat in some cases. (DOC-5155)
400
+
401
+ ## [4.0.4] - 06-Feb-2023
402
+ ### Added
403
+ - [Demos] Added new sample "Prevent editing a signed PDF".
404
+ ### Fixed
405
+ - Filling and saving a signed form invalidates the signature. (DOC-5090)
406
+ - Localization of digital signature verification. (DOC-5075)
407
+
408
+ ## [4.0.3] - 20-Jan-2023
409
+ ### Added
410
+ - [Editor] Added property editors for line annotation coordinates.
411
+ ### Fixed
412
+ - [Editor] Modifying 'End Y‘ of a line coordinates causes the 'Start Y' to change. (DOC-5040)
413
+ - [Editor] In some cases the size of a checkbox becomes incorrect. (DOC-5042)
414
+ - Checkbox widgets with the same name did not work correctly. (DOC-4874)
415
+ - Ink highlight is not visible in the viewer. (DOC-5048)
416
+ - Cannot redefine Ctrl+P keyboard shortcut. (DOC-5021)
417
+ - UpdateAnnotation event is not triggered on switching radio buttons. (DOC-5020)
418
+ - When a Japanese text is assigned to a ButtonAppearance.Caption, the text is garbled in the generated PDF. (DOC-5028)
419
+ - Japanese texts are garbled in the article panel. (DOC-5038)
420
+ - PDF content can be printed using native browser menu even when Print is disabled by the disableFeatures option. (DOC-5035)
421
+ - disableFeatures.Print does not hide the Print context menu item. (DOC-5029)
422
+ - [Editor] Several issues with Ink, Polyline and Polygon annotations and callout lines. (DOC-5014)
423
+ - [Editor] Line annotation in the saved PDF is not shown in Acrobat. (DOC-5014)
424
+ - [iOS] Unable to toggle checkbox state on touch devices. (DOC-5010)
425
+
426
+ ## [4.0.1] - 27-Dec-2022
427
+ ### Added
428
+ - Added the ability to override addAnnotation/updateAnnotation method parameters:
429
+ ```javascript
430
+ // Example:
431
+ const pageIndex = 0;
432
+ // Using overridden methods without pageIndex parameter:
433
+ annotation.pageIndex = pageIndex;
434
+ await viewer.addAnnotation(annotation);
435
+ await viewer.updateAnnotation(annotation);
436
+ // Using methods with pageIndex parameter:
437
+ await viewer.addAnnotation(pageIndex, annotation);
438
+ await viewer.updateAnnotation(pageIndex, annotation);
439
+ ```
440
+ - Added the ability to save PDFs using incremental update or linearized mode. (DOC-4913)
441
+ ```javascript
442
+ // Example: save document using IncrementalUpdate mode.
443
+ viewer.save("test.pdf", { saveMode: "IncrementalUpdate" });
444
+ ```
445
+ ```javascript
446
+ // Example: save document using Linearized mode.
447
+ viewer.save("test.pdf", {saveMode: "Linearized"});
448
+ ```
449
+ - Added the ability to load an updated PDF document into the viewer without downloading it to the local system.
450
+ ```javascript
451
+ // Example: Save document and load the saved document into the viewer:
452
+ await viewer.save("test.pdf", { reload: true });
453
+ ```
454
+ - Added electronic signature API. (DOC-4951)
455
+ ```javascript
456
+ // Example: Save document with signature:
457
+ viewer.save("test.pdf", { sign: { signatureField: "field1", signerName: "John Doe" } } );
458
+ ```
459
+ Example of server side signing:
460
+ ```csharp
461
+ // Example: electronically sign PDFs with a .PFX certificate:
462
+ public void Configuration(IAppBuilder app) {
463
+ GcPdfViewerController.Settings.Sign += _OnSign;
464
+ // ...
465
+ }
466
+ private void _OnSign(object sender, SignEventArgs e)
467
+ {
468
+ var signatureProperties = e.SignatureProperties;
469
+ X509Certificate2 certificate = new X509Certificate2(System.IO.File.ReadAllBytes("certificate.pfx"), "password",
470
+ X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
471
+ signatureProperties.SignatureBuilder = new Pkcs7SignatureBuilder()
472
+ {
473
+ CertificateChain = new X509Certificate2[] { certificate },
474
+ HashAlgorithm = Security.OID.HashAlgorithms.SHA512,
475
+ Format = Pkcs7SignatureBuilder.SignatureFormat.adbe_pkcs7_detached
476
+ };
477
+ }
478
+ ```
479
+ - Added signature checking API. (DOC-4962)
480
+ ```javascript
481
+ // Example: check whether the current document is signed and show information about the signature:
482
+ var viewer = GcPdfViewer.findControl("#root");
483
+ const signatureInfo = await viewer.getSignatureInfo();
484
+ if(signatureInfo.signed) {
485
+ const signatureValue = signatureInfo.signedByFields[0].signatureValue;
486
+ const signerName = signatureValue.name;
487
+ const location = signatureValue.location;
488
+ const signDate = viewer.pdfStringToDate(signatureValue.modificationDate);
489
+ alert("The document was signed using digital signature. Signed by: " + signerName + ", location: " + location + ", sign date: " + signDate.toString());
490
+ } else {
491
+ alert("The document is not signed.");
492
+ }
493
+ ```
494
+ - [demos] Added new sample "Sign document using digital signature".
495
+ ### Changed
496
+ - Default page view margins changed (added left/right margins).
497
+ - Japanese localization resources updated.
498
+ - Removed border highlight for article thread beads.\
499
+ ```javascript
500
+ // The following code can be used to revert to the previous article thread beads style:
501
+ GcPdfViewer.findControl("#root").addViewAreaStyle(".gc-thread-bead { box-shadow: rgba(255, 232, 0, 0.27) 1px 1px 1px 1px;}");
502
+ ```
503
+ ### Fixed
504
+ - Support multiple quadrilateral regions for text markup annotations. (DOC-5008)
505
+ - Incorrect position when a stamp is pasted with zoom different from 100%. (DOC-5006)
506
+ - Incorrect highlight when document contains highlight annotations with multiple areas. (DOC-5003)
507
+ - Setting to disable the undo/redo operation using keyboard Ctrl+z/y. (DOC-4932 / DOC-4901)
508
+ - Polyline changed after saving current document. (DOC-4942)
509
+ - Ink annotation's position changed after save then load if the border width was set. (DOC-4941)
510
+ - The size of resizing rectangle around sound annotation changed after invoke setAnnotationBounds(). (DOC-4937)
511
+ - Cannot invoke signature tool "afterAdd" event if the tool's location was not set to "BottomRight". (DOC-4948)
512
+ - Checkboxes with the same name are checked together. (DOC-4874)
513
+ - AutoScroll in Single Page View. (DOC-4959)
514
+ - Some annotations are not added correctly. (DOC-4943)
515
+ - On performing the Undo operation, only the image gets deleted from the stamp Annotation. (DOC-4686)
516
+ - Cannot add annotation to the second page of a specific file. (DOC-4935)
517
+ - Incorrect selection rectangle position when the page is zoomed to a specific value. (DOC-5001)
518
+ - The toolbar button overlaps zoom input. (DOC-5002)
519
+
520
+ ## [4.0.0] - 06-Dec-2022
521
+ ### Added
522
+ - [Editor] Added support (toolbar items and context menu) for text markup annotations (highlight, underline, strikeout and squiggly). (DOC-4471)
523
+ ```javascript
524
+ // To disable showing text markup context menu:
525
+ var viewer = new GcPdfViewer(selector, {
526
+ textMarkupContextMenu: false
527
+ });
528
+ // To disable showing the markup color selector:
529
+ var viewer = new GcPdfViewer(selector, {
530
+ textMarkupContextMenu: { colors: [] }
531
+ });
532
+ // To change text markup context menu colors to "Red" and "Black":
533
+ var viewer = new GcPdfViewer(selector, {
534
+ textMarkupContextMenu: { colors: [{value: "#ff0000", displayName: "Red"}, {value: "#000000", displayName: "Black"}] }
535
+ });
536
+ ```
537
+ - [Editor] Added the ability to resize line annotations. (DOC-4705)
538
+ - [Editor] [Graphical Signature] Added the ability to position a signature and drag it between pages using the mouse. (DOC-4732, DOC-4740)\
539
+ If the signTool.location option is not specified, the signature tool will now allow the user to drag the signature to the desired location, possibly on a different page.
540
+ - Added API documentation for the disableFeatures option. (DOC-3298, DOC-4747)
541
+ - Added "Ear" icon for sound annotations.
542
+ - Added a "Save current document as images" button to the toolbar. (DOC-4774)
543
+ ### Changed
544
+ - Text, sound and file attachment icons updated to look like Acrobat Reader icons.
545
+ - The file and sound annotations are no longer resizable. The resulting annotation size now depends on the selected icon type. (DOC-2373)
546
+ - The layout of the "Text" quick editing tools has been updated to include buttons for the new text markup annotations.
547
+ ### Fixed
548
+ - Annotation borders appear different in GcPdfViewer and Acrobat. (DOC-4804)
549
+ - Line annotation is not visible in some cases. (DOC-4769)
550
+ - [Editor] Incorrect icon is shown when adding several text annotations. (DOC-4856)
551
+ - [Editor] When converting annotations to content, some annotation icons are incorrect. (DOC-2373)
552
+ - [Editor] Once a stamp annotation is rotated, the image cannot be resized. (DOC-4671)
553
+ - [Editor] Can not add a stamp annotation to a rotated document. (DOC-4776)
554
+ - [Editor] After rotating an annotation it cannot be resized. (DOC-4664)
555
+ - [Editor] Error "operation is not valid due to the current state of the object" occurs when attaching a stamp to a PDF. (DOC-4860)
556
+
557
+ ## [3.2.5] - 08-Dec-2022
558
+ ### Fixed
559
+ - Cannot override the default undo key Ctrl Z. (DOC-4901, DOC-4932)
560
+ - Exception is thrown when deleting a page in the form Editor. (DOC-4930)
561
+ - The open file dialog is not shown when adding sound or file attachment annotation. (DOC-4925)
562
+ - Annotations' properties change after saving the document. (DOC-4924, DOC-4942, DOC-4941)
563
+
564
+ ## [3.2.4] - 04-Nov-2022
565
+ ### Added
566
+ - [Editor] [Graphical Signature] Added the ability to position a signature and drag it between pages using the mouse. (DOC-4732, DOC-4740)
567
+ If the signTool.location option is not specified, the signature tool will now allow the user to drag the signature to the desired location, possibly on a different page. (DOC-4732, DOC-4740)
568
+ ```javascript
569
+ // To keep the old behavior:
570
+ // Variant 1:
571
+ var viewer = new GcPdfViewer("#root", {
572
+ signTool: {
573
+ location: "BottomRight"
574
+ }
575
+ });
576
+ // Variant 2:
577
+ viewer.options.signTool = { location: "BottomRight" };
578
+ ```
579
+ - [Editor] Added the ability to drag stamps between pages. (DOC-4724, DOC-4733)
580
+ - [API request] Added undoState property: contains the current state of the undo store. (DOC-4687)\
581
+ Note that this property is read-only, do not programmatically change the elements of the collection.
582
+ Use the Undo API to modify the undoState.\
583
+ Available Undo API properties: hasUndoChanges, hasRedoChanges, undoIndex, undoCount\
584
+ Available Undo API methods: undoChanges(), redoChanges()
585
+ ```javascript
586
+ // Example:
587
+ viewer.eventBus.on("undostorechanged", function() {
588
+ console.log("Undo State changed", viewer.undoState);
589
+ });
590
+ // Or:
591
+ viewer.eventBus.on("documentchanged", function() {
592
+ console.log("Document changed", viewer.undoState);
593
+ });
594
+ ```
595
+ ### Changed:
596
+ - [Graphical Signature] The default Graphical Signature tool behavior has changed. (DOC-4732)\
597
+ When the signTool.location option is not specified, the Graphical Signature will allow the user to move it to the desired location with the mouse.
598
+ ### Fixed
599
+ - [Forms] Cannot reset all fields' values using a push button. (DOC-4685)
600
+ - [Editor] PDF is saved incorrectly if it contains intersecting annotations and redacts
601
+ (this fix also requires GrapeCity.Documents.Pdf.ViewerSupportApi v5.2.0.804 or later). (DOC-4722, DOC-4720)
602
+ - [Editor] Cannot cancel adding a stamp annotation using the ESC key. (DOC-4731)
603
+
604
+ ## [4.0.0-alpha1] - 21-Oct-2022
605
+ ### Added
606
+ - Added support for new annotations: Highlight, Underline, Squiggly, StrikeOut.
607
+ - Added the ability to save the PDF's pages as images. (DOC-4577)
608
+ Added the saveAsImages method - saves the pages of the current PDF document as PNG images,
609
+ zips the result images, and downloads the result zip archive.
610
+ ```javascript
611
+ // Example:
612
+ viewer.saveAsImages('test.zip');
613
+ ```
614
+ - Added new "Save as images" toolbar button, the button key is "save-images". (DOC-4577)
615
+ The new button is available on "annotation editor" and "form editor" toolbar.
616
+ - Added undoState property, contains current state of the undo store. (DOC-4687)
617
+
618
+ ## [3.2.3] - 11-Oct-2022
619
+ ### Fixed
620
+ - [SupportApi for WebForms] An error occurs when trying to share a document using the WebForms version
621
+ of the SupportApi service. (DOC-4668)
622
+ - [Windows Touch] The pan tool does not work correctly. (DOC-4644)
623
+ - [Editor] The stamp annotation gets added as attachment when the attachment is added to the PDF. (DOC-4649)
624
+ - [Editor] The sign annotation gets rotated for rotated page. (DOC-4663)
625
+ - [Editor] The line annotation is not visible when the line is drawn at 0 or 90 degree. (DOC-4659)
626
+ - [Editor] [Regression] "Add Signature" dialog layout is incorrect when dialogLocation is set to "Right". (DOC-4513)
627
+ - [Editor] All properties of the annotation should be reset if the cancel flag is set to true in the onBeforeUpdateAnnotation event. (DOC-4139)
628
+ - [Editor] The cursor does not change to "cross-hair" style when activating the editor tool from the toolbar for the first time. (DOC-2977)
629
+ - The alignment property does not work with fields in JS actions. (DOC-4636)
630
+ - [iOS] It is hard to select native checkbox on iOS. (DOC-4517)
631
+ ### Added
632
+ - Added the ability to change SVG icons used by the viewer using the customIcons option.
633
+ ```javascript
634
+ // Example:
635
+ var viewer = new GcPdfViewer("#root", {
636
+ customIcons: {
637
+ 'open': '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M9.516 14.016q1.875 0 3.188-1.313t1.313-3.188-1.313-3.188-3.188-1.313-3.188 1.313-1.313 3.188 1.313 3.188 3.188 1.313zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281q-1.781 1.547-4.219 1.547-2.719 0-4.617-1.875t-1.898-4.594 1.898-4.617 4.617-1.898 4.594 1.898 1.875 4.617q0 0.984-0.469 2.227t-1.078 1.992l0.281 0.281h0.797z"></path></svg>',
638
+ 'search': '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M9.516 14.016q1.875 0 3.188-1.313t1.313-3.188-1.313-3.188-3.188-1.313-3.188 1.313-1.313 3.188 1.313 3.188 3.188 1.313zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281q-1.781 1.547-4.219 1.547-2.719 0-4.617-1.875t-1.898-4.594 1.898-4.617 4.617-1.898 4.594 1.898 1.875 4.617q0 0.984-0.469 2.227t-1.078 1.992l0.281 0.281h0.797z"></path></svg>'
639
+ }
640
+ });
641
+ ```
642
+
643
+ ## [3.2.2] - 16-Sep-2022
644
+ ### Fixed
645
+ - [Editor] The default dash style is not used when editing an annotation with a dashed border. (DOC-4630)
646
+ - Text in a certain PDF is not rendered correctly. (DOC-4614, DOC-4616, DOC-4609)
647
+ - Text in some PDF documents cannot be selected. (DOC-4615)
648
+ - Text becomes invisible when a PDF document contains invalid path operators. (DOC-4617)
649
+ - [Android] [iOS] Zooming using fingers gesture is not smooth. (DOC-4550)
650
+ ### Added
651
+ - Method getPageLocation: returns the position of the page view relative to the browser window. (DOC-4602)
652
+ - Added the ability to set the selected image for the Stamp button. (DOC-4601)
653
+ ```javascript
654
+ // Example:
655
+ var viewer = new GcPdfViewer("#root", {
656
+ stamp: {
657
+ stampCategories: false,
658
+ selectedImageUrl: "https://example.com/download?file=images/image.jpg"
659
+ }
660
+ });
661
+ ```
662
+
663
+ ## [3.2.1] - 22-Aug-2022
664
+ ### Fixed
665
+ - [Editor] toolbarLayout.stickyBehavior interferes with adding stamp annotations. (DOC-4549)
666
+ - [Editor] Incorrect stamp annotations behavior when the Hide Annotations/Form fields option is enabled. (DOC-4532)
667
+ - Thumbnail navigation issue when two or more mice are connected to the system. (DOC-4553)
668
+ - [Regression] Stamp annotations are rendered incorrectly in some cases. (DOC-4554)
669
+ ### Changed
670
+ - The sidebar's pin button tooltip now updates according to the state of the pin.
671
+ - Minor css update for zoom input (font size reduced by 1px).
672
+ - Japanese localization resources updated.
673
+
674
+ ## [3.2.0] - 05-Aug-2022
675
+ ### Fixed
676
+ - [Form Filler] Date fields do not work correctly in form filler dialog. (DOC-4497)
677
+ - [iOS] The print preview is empty. (DOC-4515)
678
+ - [Windows Touch] Reply tool button does not respond to touch. (DOC-4508)
679
+ - [Windows Touch] Thumbnail pane does not work correctly. (DOC-4516)
680
+ - [iOS Desktop mode] Custom input types display is incorrect. (DOC-4504)
681
+ - [iOS Desktop mode] Read-only fields still show the dropdown menu. (DOC-4505)
682
+ - [Editor] "Draw polygon annotation" button can be pressed after canceling a draw operation, but does not work. (DOC-4499)
683
+ ### Changed
684
+ - Save and download buttons' tooltips updated. (DOC-4511)
685
+ ### Added
686
+ - Added the ability to change current user name from the UI. (DOC-4498)
687
+ - Added the ability to change the minimum/maximum zoom factor using the zoomOptions option.
688
+ ```javascript
689
+ // Example:
690
+ var viewer = new GcImageViewer("#root", {
691
+ zoomOptions: {
692
+ minZoom: 0.05,
693
+ maxZoom: 5,
694
+ dropdownZoomFactorValues: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.5, 2, 3, 5]
695
+ }
696
+ });
697
+ ```
698
+
699
+ ## [3.1.6] - 14-Jul-2022
700
+ ### Fixed
701
+ - [Regression] Some annotations are not visible in the viewer. (DOC-4430)
702
+ - The validateForm() method skips List Box fields. (DOC-4377)
703
+ - The getRenderedAnnotationBounds() method returns incorrect result if the document is rotated. (DOC-4276)
704
+ - [Android] Zoom is slow and not smooth on Android devices. (DOC-4253)
705
+ - [Android] Comb-Text displays incorrectly. (DOC-4146)
706
+ - [Editor] The OK button does not work after drawing a horizontal or a vertical line with Ink annotation. (DOC-4278)
707
+ - [Editor] The hasChanges property is true after saving the modified document. (DOC-4348)
708
+ - [Print] PDF is not printed correctly when PDF have both portrait and landscape pages. (DOC-4418)
709
+ - Line annotations with 0 width show in Acrobat but are invisible in GcPdfViewer. (DOC-4428)
710
+
711
+ ## [3.2.0-alpha1] - 24-Jun-2022
712
+ ### Fixed
713
+ - The contents in zoom textbox should be automatically selected when user mouse clicks on the zoom textbox. (DOC-4303)
714
+ - [Editor] hasChanges property is true even after saving the modified document. (DOC-4348)
715
+ - The validateForm method skips listbox field. (DOC-4377)
716
+
717
+ ## [3.2.0-alpha0] - 16-May-2022
718
+ ### Changed
719
+ - PDF.js engine updated. (DOC-3870)
720
+ - Request to make Zoom textbox editable. (DOC-1205)
721
+ * Press Enter to apply the new value after editing.
722
+ * Press ESC to reset the edited value.
723
+ * You can use the up/down arrow keys to increase/decrease the input value.
724
+ ### Fixed
725
+ - PDF rendering problem #14462 (https://github.com/mozilla/pdf.js/issues/14462)
726
+
727
+ ## [3.1.5] - 09-Jun-2022
728
+ ### Fixed
729
+ - [Editor] Modified value of a Combobox cannot be saved if it is custom (requires SupportApi v5.1.0.793 or later). (DOC-4280)
730
+ - [Editor] When the orientation of a CombTextField is changed, borders between combs are not displayed correctly. (DOC-4322)
731
+ ### Added
732
+ - [Structure tree panel] Structure tree UI enhancements. Highlight the clicked text content. (DOC-3918)
733
+
734
+ ## [3.1.4] - 18-May-2022
735
+ ### Changed
736
+ - Documentation files updated.
737
+
738
+ ## [3.1.3] - 29-Apr-2022
739
+ ### Fixed
740
+ - [Regression] A checkbox with an attached JavaScript automatically unchecks when checked. (DOC-4244)
741
+ - [Editor] Cannot draw horizontal or vertical lines using ink annotation tool. (DOC-4245)
742
+ - [Editor] Undo works incorrectly when undoing rotating a stamp. (DOC-4237)
743
+ - [Editor] Incorrect appearance of stamp annotations after rotation. (DOC-4208, DOC-4225, DOC-4227)
744
+ - In some scenarios moving the mouse resizes the left panel. (DOC-4238)
745
+ ### Changed
746
+ - Updated Japanese localization strings.
747
+ ### Added
748
+ - Added resize handles to panels. (DOC-3171)
749
+
750
+ ## [3.1.2] - 12-Apr-2022
751
+ ### Fixed
752
+ - [Editor] Annotations and fields are added in incorrect orientation when the document is rotated. (DOC-3260)
753
+ - [Android] Zooming using pinch does not work. (DOC-3424)
754
+ - [Collaboration] Sharing a multi-page PDF is not working correctly. (DOC-4143)
755
+ - [Collaboration] The file name is incorrect in the "Manage Access" dialog. (DOC-4144)
756
+ - [JavaScript actions] Viewer properties are undefined in JavaScript actions. (DOC-4154)
757
+ - In some cases the visibility state of layers is incorrect after saving a PDF. (DOC-4067)
758
+ ### Changed
759
+ - Do not show the version mismatch warning if the connected SupporApi has version 0.0.0.0 (was built from sources).
760
+ ### Added
761
+ - New method invalidate: ensures that all visual child elements of the viewer are properly updated for layout.
762
+ - New property requiredSupportApiVersion: gets the required version of SupportApi that is compatible with the current version of GcPdfViewer.
763
+ - New property supportApiVersion: gets the connected version of SupportApi, if available.
764
+ - New property gcPdfVersion: gets the version of GcPdf library used by the connected SupportApi, if available.
765
+ - [Editor] Ability to rotate stamp and free text annotations using rotation handles.
766
+ Pressing the Shift key snaps the rotation angle to a multiple of 90 degrees. (DOC-4058)
767
+ - [XFA forms] Added support for print, submit, reset, JavaScript actions, links. (DOC-3869)
768
+ - [Editor] Ability to persist the visibility state of optional content groups (layers) when saving the PDF. (DOC-3652)
769
+ - [Editor] Ability to change a widget's content orientation using the orientation property. (DOC-3260)
770
+ - [Editor] Sticky behavior for toolbar buttons: a button remains pressed after the editing operation is complete. (DOC-3913)\
771
+ Added stickyBehavior setting to toolbarLayout: an array with button keys that will have sticky behavior.
772
+ Note that only annotation and form editor toolbar buttons can be made sticky.\
773
+ The complete list of buttons that can be made sticky: 'edit-sign-tool', 'edit-text', 'edit-free-text', 'edit-ink', 'edit-square', 'edit-circle', 'edit-line', 'edit-polyline', 'edit-polygon', 'edit-stamp', 'edit-file-attachment',
774
+ 'edit-sound', 'edit-link', 'edit-redact', 'edit-widget-tx-field', 'edit-widget-tx-password',
775
+ 'edit-widget-tx-text-area', 'edit-widget-btn-checkbox', 'edit-widget-btn-radio',
776
+ 'edit-widget-btn-push', 'edit-widget-ch-combo', 'edit-widget-ch-list-box', 'edit-widget-tx-comb',
777
+ 'edit-widget-btn-submit', 'edit-widget-btn-reset', 'edit-erase-field'
778
+ ```javascript
779
+ // Example: make square, circle, line and redact buttons sticky:
780
+ viewer.toolbarLayout.stickyBehavior = ["edit-square", "edit-circle", "edit-line", "edit-redact"];
781
+ ```
782
+ - Option fieldsAppearance: added the ability to specify button fields render type. (DOC-3537)
783
+ ```javascript
784
+ // Example 1: Use platform-native styling for push buttons.
785
+ var viewer = new GcPdfViewer("#root", { fieldsAppearance: { pushButton: "Web" } });
786
+ // Example 2: Use predefined appearance stream for push buttons:
787
+ var viewer = new GcPdfViewer("#root", { fieldsAppearance: { pushButton: "Predefined" } });
788
+ ```
789
+ - Ability to programmatically hide the left sidebar. (DOC-3981)
790
+ ```javascript
791
+ // Hide sidebar:
792
+ viewer.toggleSidebar(false);
793
+ // Alternative variant:
794
+ viewer.leftSidebar.hide();
795
+ ```
796
+ - Ability to programmatically hide or show the toolbar. (DOC-3981)
797
+ ```javascript
798
+ // Example:
799
+ viewer.toggleToolbar(false);
800
+ ```
801
+ - Option hideAnnotationPopups: use this option to hide all annotation popups. (DOC-3981)
802
+ ```javascript
803
+ // Example:
804
+ var viewer = new GcPdfViewer("#root", { hideAnnotationPopups: true });
805
+ ```
806
+ - Ability to close the currently loaded document. (DOC-3981)
807
+ ```javascript
808
+ // Example:
809
+ await viewer.close();
810
+ ```
811
+ - New events: onBeforeAddAnnotation, onAfterAddAnnotation, onBeforeUpdateAnnotation, onAfterUpdateAnnotation,
812
+ onBeforeRemoveAnnotation, onAfterRemoveAnnotation. (DOC-3981)
813
+ ```javascript
814
+ // Example:
815
+ viewer.onBeforeAddAnnotation.register(function(args) { console.log(args); });
816
+ ```
817
+ Events BeforeAddAnnotation, BeforeUpdateAnnotation and BeforeRemoveAnnotation are cancelable.
818
+ ```javascript
819
+ // Examples of canceling events:
820
+ viewer.getEvent("BeforeAddAnnotation").register(function(args) { args.cancel = true; });
821
+ viewer.getEvent("BeforeUpdateAnnotation").register(function(args) {
822
+ args.cancel = true;
823
+ viewer.repaint();
824
+ });
825
+ ```
826
+ - Ability to listen to and trigger custom events. (DOC-3981)
827
+ ```javascript
828
+ // Example: listen to CustomEvent:
829
+ viewer.getEvent("CustomEvent").register(function(args) {
830
+ console.log(args);
831
+ });
832
+ // Example: trigger CustomEvent:
833
+ viewer.triggerEvent("CustomEvent", { arg1: 1, arg2: 2});
834
+ ```
835
+
836
+ ## [3.0.22] - 06-Apr-2022
837
+ ### Fixed
838
+ - [Editor] Arrow keys move annotations incorrectly when the document is rotated. (DOC-4129)
839
+ - [Editor] Stamp annotation disappears from page after printing the document. (DOC-4127)
840
+
841
+ ## [3.0.21] - 22-Mar-2022
842
+ ### Fixed
843
+ - [Regression] [Form Editor] Unable to move form fields using the arrow keys. (DOC-4115)
844
+ - [Form Editor] Text cursor moves when an annotation is moved using the arrow keys. (DOC-4123)
845
+ - [Regression] Missing "token" parameter when requesting a stamp image using GET method. (DOC-4080)
846
+ - In some cases the visibility state of layers is incorrect after loading or saving a PDF. (DOC-4068)
847
+
848
+ ## [3.0.20] - 03-Mar-2022
849
+ ### Fixed
850
+ - When renderInteractiveForms is false, checkbox values are not displayed. (DOC-4022)
851
+ - Highlight on the search text disappears when the document is zoomed in or out. (DOC-4028)
852
+ - [Editor] Custom image stamps are gone when the viewer is closed and recreated. (DOC-4023)
853
+
854
+ ## [3.0.19] - 25-Jan-2022
855
+ ### Added
856
+ - Added the ability to specify authentication or other HTTP headers in the open() method. (DOC-3998)
857
+ ```javascript
858
+ // Example: specify basic access authentication and custom headers:
859
+ viewer.open("http://example.com//pdfs/GetPdf?file=HelloWorld.pdf", {
860
+ headers: {
861
+ "Authorization": "Basic " + btoa(unescape(encodeURIComponent("USERNAME:PASSWORD"))),
862
+ "CustomHeader": "Custom header value"
863
+ }
864
+ });
865
+ ```
866
+ - Added the ability to specify authentication or other HTTP headers in SupportApi requests. (DOC-3998)
867
+ ```javascript
868
+ // Example: specify basic access authentication and custom headers:
869
+ const viewer = new GcPdfViewer("#viewer", {
870
+ supportApi: {
871
+ apiUrl: "192.168.0.1/support-api",
872
+ requestInit: {
873
+ headers: {
874
+ "Authorization": "Basic " + btoa(unescape(encodeURIComponent("USERNAME:PASSWORD"))),
875
+ "CustomHeader": "Custom header value"
876
+ }
877
+ }
878
+ }
879
+ });
880
+ ```
881
+ ### Fixed
882
+ - [Editor] Text added in the free text annotation editor disappears on resizing the annotation. (DOC-3988)
883
+
884
+ ## [3.0.18] - 24-Jan-2022
885
+ ### Fixed
886
+ - Undo history should be cleared by the close() method. (DOC-3989)
887
+
888
+ ## [3.0.17] - 21-Jan-2022
889
+ ### Added
890
+ - [Form Editor] "Editable" property added to combo boxes. (DOC-3947)
891
+ - [Form Editor] New values added to "Tab order" property: "Annotations" and "Widgets". (DOC-3668)
892
+ - Added ability to close the current document. (DOC-3981)
893
+ ```javascript
894
+ // Usage example:
895
+ await viewer.close();
896
+ ```
897
+ ### Fixed
898
+ - Incorrect tab cycle for an editable combo box. (DOC-3967)
899
+ - Tab order differs from Adobe Acrobat Reader in some cases. (DOC-3668)
900
+ - [Form Editor] Cannot reset the "Tab order" property to "Not specified". (DOC-3968)
901
+ - [Editor] The Backspace key does not work in the free text annotation editor. (DOC-3983)
902
+ - [Editor] If a new page is inserted and the document is saved, the tab order of following pages is incorrect. (DOC-3985)
903
+
904
+ ## [3.0.13] - 22-Dec-2021
905
+ ### Added
906
+ - Added support for editable combo boxes. (DOC-3947)
907
+ - [XFA forms] Added the ability to select/copy text content. (DOC-3917)
908
+ - [Editor] Remember last used editor values. (DOC-3925)\
909
+ New settings added to the "editorDefaults" option: "rememberLastValues" and "lastValueKeys".
910
+ If "rememberLastValues" is set to true or undefined, the last used property values will be used as default values for new annotations.
911
+ "lastValueKeys" specifies which properties will be remembered.
912
+ ```javascript
913
+ // The default value of lastValueKeys:
914
+ ["appearanceColor", "borderStyle", "color", "interiorColor", "backgroundColor", "borderColor", "opacity", "textAlignment", "printableFlag", "open",
915
+ "lineStart", "lineEnd", "markBorderColor", "markFillColor", "overlayFillColor", "overlayText", "overlayTextJustification", "newWindow", "calloutLineEnd", "fontSize",
916
+ "fontName", "name", "readOnly", "required"]
917
+ ```
918
+ ```javascript
919
+ // Example: turn remembering last used values off:
920
+ var viewer = new GcPdfViewer("#root", { editorDefaults: { rememberLastValues: false } });
921
+ ```
922
+ ```javascript
923
+ // Example: remember only the borderStyle property:
924
+ var viewer = new GcPdfViewer("#root", { editorDefaults: { rememberLastValues: true, lastValueKeys: ["borderStyle"] } });
925
+ ```
926
+ - [Android] Added support for zooming using pinch gesture. (DOC-3424, ARD-2508)
927
+ ### Changed
928
+ - Japanese localization strings updated.
929
+ ### Fixed
930
+ - [iPad] PDF will not render after max zooming when iPad is running in Desktop mode. (DOC-3765)
931
+ - [iOS][Android] The main toolbar collapses when the secondary toolbar is clicked. (DOC-3843)
932
+ - [Editor] Method showSecondToolbar does not activate editor mode correctly. (DOC-3892)
933
+ - [Editor] Incorrect undo / redo behavior when editing ink annotations. (DOC-3924)
934
+ - Incorrect zoom controls behavior. (DOC-3929)
935
+
936
+ ## [3.0.10] - 25-Nov-2021
937
+ ### Changed
938
+ - __Breaking change__: All public APIs that used page numbers now use zero-based page indices. (DOC-3536)
939
+ - PDF.js library was updated from v2.0.943 to v2.10.377, see [PDF.js Release Notes](https://github.com/mozilla/pdf.js/releases).
940
+ - Method goToPageNumber deprecated, use goToPage method or pageIndex property instead. (DOC-3536)
941
+ - By default, radio buttons and checkboxes now do not use predefined appearances from the PDF.
942
+ Use the fieldsAppearance option to revert to the old behavior:
943
+ ```javascript
944
+ var viewer = new GcPdfViewer("#root", { fieldsAppearance: { radioButton: "Predefined", checkBoxButton: "Predefined" } });
945
+ ```
946
+ - [SupportApi client] The ping() method has been deprecated and is no longer used; instead, the serverVersion() method is used.
947
+ - Properties SubmitForm/ResetForm renamed to submitForm/resetForm. (DOC-3379)
948
+ ### Added
949
+ - Added ability to edit document without switching to Annotation Editor or Form Editor modes. (DOC-3169)
950
+ - Added support for second horizontal toolbar.
951
+ - Added secondary editing toolbars to the main viewer toolbar: "Text tools", "Draw tools", "Attachments and stamps", "Form tools", "Page tools".\
952
+ Use secondToolbarLayout to control which toolbars are enabled.
953
+ ```javascript
954
+ // Example: specify custom second toolbar layout:
955
+ viewer.secondToolbarLayout = { "text-tools": ['edit-text', 'edit-free-text'] };
956
+ ```
957
+ - Added API to display a custom second toolbar. (DOC-3170)
958
+ ```javascript
959
+ // Example: create custom second toolbar with key "custom-toolbar-key":
960
+ var React = viewer.getType("React");
961
+ var toolbarControls = [React.createElement("label", null, "Custom toolbar"),
962
+ React.createElement("button", { onClick: () => { alert("Execute action."); }, title: "Action title" }, "Action")];
963
+ // Register custom second toolbar for key "custom-toolbar-key":
964
+ viewer.options.secondToolbar = {
965
+ render: function(toolbarKey) {
966
+ if(toolbarKey === "custom-toolbar-key")
967
+ return toolbarControls;
968
+ return null;
969
+ }
970
+ };
971
+ // Show custom second toolbar:
972
+ viewer.showSecondToolbar("custom-toolbar-key");
973
+ ```
974
+ - Added Light and Dark themes. (DOC-3169)
975
+ - Support page content accessibility for tagged PDFs containing logical structure information for screen readers.
976
+ - Added ability to show the structure tree of tagged PDFs. (DOC-3131)
977
+ ```javascript
978
+ // Use addStructureTreePanel method to add the appropriate panel:
979
+ const viewer = new GcPdfViewer(selector);
980
+ viewer.addStructureTreePanel();
981
+ await viewer.open("sample.pdf");
982
+ ```
983
+ ```javascript
984
+ // Use structureTree to access available structure tree data:
985
+ const viewer = new GcPdfViewer(selector);
986
+ await viewer.open("sample.pdf");
987
+ const structureTree = await viewer.structureTree;
988
+ if(structureTree) {
989
+ console.log(structureTree);
990
+ }
991
+ ```
992
+ - Added goToPage method: navigate to the page with a specified 0-based index.
993
+ ```javascript
994
+ // Example: go to the first page:
995
+ viewer.goToPage(0);
996
+ ```
997
+ - Added option maxCanvasPixels: maximum supported canvas size in pixels, i.e. width * height. Undefined or -1 means no limit.
998
+ If the canvas scaling exceeds maxCanvasPixels, the CSS scaling is used instead of re-rendering the page to the canvas. (DOC-3765)
999
+ - Added the ability to use GET method to submit a form.
1000
+ ```csharp
1001
+ // Using GcPdf to create an ActionSubmitForm to submit a form using the GET method:
1002
+ var actionSubmit = new ActionSubmitForm("/");
1003
+ actionSubmit.SubmitFormat = ActionSubmitForm.SubmitFormatType.HtmlForm;
1004
+ actionSubmit.HtmlFormFormat = ActionSubmitForm.HtmlFormFormatFlags.GetMethod;
1005
+ var btnSubmit = new PushButtonField();
1006
+ btnSubmit.Widget.Rect = new RectangleF(50, 100, 100, 50);
1007
+ btnSubmit.Widget.ButtonAppearance.Caption = "Submit";
1008
+ btnSubmit.Widget.Page = page;
1009
+ btnSubmit.Widget.Events.Activate = actionSubmit;
1010
+ ```
1011
+ - Action reset: added support for FieldNames, ExcludeSpecifiedFields and Next properties. (DOC-3379)
1012
+ - Added new option fieldsAppearance - specifies how form fields are rendered. (DOC-3537)\
1013
+ Use this option to customize rendering of form fields.
1014
+ Available appearance rendering types:
1015
+ * "Custom" - Default. The custom appearance has some improvements over the web appearance,
1016
+ for example you can specify background and border colors.
1017
+ * "Web" - Standard form field appearance using native platform styling.
1018
+ See https://developer.mozilla.org/en-US/docs/Web/CSS/appearance for details.
1019
+ * "Predefined" - Predefined appearance stream from PDF when available. If the appearance stream is not available, custom appearance will be used.
1020
+ ```javascript
1021
+ // Example 1: Use platform-native styling for radio and checkbox buttons.
1022
+ var viewer = new GcPdfViewer("#root", { fieldsAppearance: { radioButton: "Web", checkBoxButton: "Web" } });
1023
+ ```
1024
+ ```javascript
1025
+ // Example 2: Use predefined appearance stream for radio buttons:
1026
+ var viewer = new GcPdfViewer("#root", { fieldsAppearance: { radioButton: "Predefined" } });
1027
+ ```
1028
+ - Added enableXfa option: render XFA (XML Forms Architecture) forms if any; the default is true. (DOC-3681)
1029
+ ```javascript
1030
+ // Example: turn XFA forms off:
1031
+ var viewer = new GcPdfViewer(selector, { enableXfa: false });
1032
+ ```
1033
+ - Added requireTheme option. Use this option to apply a built-in CSS theme, this will inject the theme styles directly into the page head.
1034
+ Note that only a known built-in theme can be specified, otherwise the viewer will fail to load.
1035
+ Available built-in themes: "viewer", "dark", "dark-yellow", "gc-blue", "light", "light-blue".
1036
+ This option takes precedence over the "theme" option which can be used to specify a custom theme.
1037
+ ```javascript
1038
+ // Example:
1039
+ var viewer = new GcPdfViewer(selector, {
1040
+ requireTheme: "light"
1041
+ });
1042
+ ```
1043
+ - Added onThemeChanged event: raised when the user changes the viewer theme.
1044
+ ```javascript
1045
+ // Example:
1046
+ var viewer = new GcPdfViewer(selector, {
1047
+ requireTheme: localStorage.getItem('demo_theme') || 'viewer'
1048
+ });
1049
+ viewer.addDefaultPanels();
1050
+ viewer.onThemeChanged.register(function(args) {
1051
+ localStorage.setItem('demo_theme', args.theme);
1052
+ });
1053
+ ```
1054
+ - Added onInitialized option: the onInitialized handler will be called immediately after the viewer is instantiated.
1055
+ ```javascript
1056
+ // Example:
1057
+ var viewer = new GcPdfViewer("#root", {
1058
+ onInitialized: (viewer)=> {
1059
+ // put viewer initialization code here.
1060
+ }
1061
+ });
1062
+ ```
1063
+ ### Fixed
1064
+ - Multiple bug fixes.
1065
+
1066
+ ## [2.2.19] - 05-Nov-2021
1067
+ ### Fixed
1068
+ - Tab order is inconsistent with Acrobat Reader when using Structure tab order. (DOC-3668)
1069
+
1070
+ ## [2.2.17] - 07-Oct-2021
1071
+ ### Added
1072
+ - Property optionalContentConfig: the optional content (layers) configuration.
1073
+ ```javascript
1074
+ // Example: hide the optional content group (layer) with id "13R":
1075
+ const config = await viewer.optionalContentConfig;
1076
+ config.setVisibility("13R", false);
1077
+ viewer.repaint();
1078
+ ```
1079
+ ```javascript
1080
+ // Example: print information about available layers to the console:
1081
+ const config = await viewer.optionalContentConfig;
1082
+ console.table(config.getGroups());
1083
+ ```
1084
+
1085
+ ## [2.2.16] - 29-Sep-2021
1086
+ ### Changed
1087
+ - Minor changes for the Japanese release.
1088
+
1089
+ ## [2.2.15] - 15-Sep-2021
1090
+ ### Added
1091
+ - Layers panel: lists and enables users to show/hide individual PDF layers (optional content). (DOC-3539)
1092
+ ```javascript
1093
+ // Usage example:
1094
+ viewer.addLayersPanel();
1095
+ ```
1096
+ - New method openPanel(): opens a side panel.
1097
+ ```javascript
1098
+ // Usage example:
1099
+ const layersPanelHandle = viewer.addLayersPanel();
1100
+ viewer.open("house-plan.pdf").then(()=> {
1101
+ viewer.openPanel(layersPanelHandle);
1102
+ });
1103
+ ```
1104
+ - New method closePanel(): closes the side panel.
1105
+ ```javascript
1106
+ // Usage example:
1107
+ viewer.closePanel();
1108
+ ```
1109
+ - New method resetChanges(): resets the document to its original state, discarding all changes. (DOC-3608)
1110
+ ```javascript
1111
+ // Usage example:
1112
+ await viewer.resetChanges();
1113
+ ```
1114
+ - New method setPageRotation(pageIndex, rotation): enables users to rotate a specific page in the PDF. (DOC-3632)\
1115
+ This method requires SupportApi. Valid values for rotation are 0, 90, 180, and 270 degrees.
1116
+ ```javascript
1117
+ // Example: set the first page rotation to 180 degrees:
1118
+ await viewer.setPageRotation(0, 180);
1119
+ ```
1120
+ - New method getPageRotation(pageIndex): gets the rotation value for a specified page.
1121
+ ```javascript
1122
+ // Example: get the first page's rotation (degrees):
1123
+ var rotation = viewer.getPageRotation(0);
1124
+ ```
1125
+ ### Fixed
1126
+ - When an annotation is added in code and saved, its name changes. (DOC-3619)
1127
+ - The state of the Signature Tool is not cleared after recreating the GcPdfViewer component. (DOC-3621)
1128
+ - Console shows an error after calling viewer.newDocument(). (DOC-3622)
1129
+ - Incorrect behavior if viewer.newDocument() is called immediately after opening a PDF. (DOC-3625)
1130
+
1131
+ ## [2.2.14] - 30-Aug-2021
1132
+ ### Fixed
1133
+ - [Editor] Size specified by the editorDefaults.rect property is not applied to target annotation. (DOC-3597)
1134
+ - If the updateLayout method is called before opening a document, the list of predefined stamps is not loaded. (DOC-3578)
1135
+ - Console shows multiple error messages when the mouse is moved over a text note annotation. (DOC-3579)
1136
+ - [Reply Tool] The comment icon is inconsistent with the corresponding annotation. (DOC-3580)
1137
+ - [Reply Tool] Comments are not loaded when the reply tool is added after opening the document. (DOC-3581)
1138
+ - The document title is not updated after setting friendlyFileName. (DOC-3577)
1139
+ - gcpdfviewer.worker.js cannot be loaded from an external CDN URL. (DOC-2804)
1140
+ - [Android] Viewing file properties raises the Viewer display area, but not the Viewer tool area. (DOC-3529)
1141
+ - [iOS 12] [Safari] [Editor] Cannot cancel selecting image for stamp annotation. (DOC-3518, DOC-3548)
1142
+ - In some cases the setPageSize method throws an error. (DOC-3304)
1143
+ - When the width of the browser is less than 820px, the viewer version cannot be shown. (DOC-3526)
1144
+ - [Reply Tool] Only sticky notes annotation texts show up in the comments. (DOC-3270)
1145
+ - [Reply Tool] Replies to text annotations are not deleted correctly. (DOC-2409)
1146
+ - [Reply Tool] Current user cannot add replies if viewer.options.replyTool.allowAddReplyOtherUser is false. (DOC-3574)
1147
+ - [Annotation Editor] A sound annotation stops working after editing. (DOC-3569)
1148
+ - Setting friendlyFileName does not affect the downloaded PDF name. (DOC-3575)
1149
+
1150
+ ## [2.2.11] - 09-Aug-2021
1151
+ ### Added
1152
+ - Added support for predefined stamps. (DOC-3130)\
1153
+ Use the new stamp option to configure the settings.
1154
+ ```javascript
1155
+ // Example 1: add two sets of custom stamps with captions 'Okay' and 'Not okay' to the stamps drop-down:
1156
+ var viewer = new GcPdfViewer("#root", {
1157
+ stamp: {
1158
+ stampCategories: [
1159
+ { name: 'Okay', stampImageUrls: ['http://example.com/stamps/ok.png',
1160
+ 'http://example.com/stamps/agree.png', 'http://example.com/stamps/fine.png'] },
1161
+ { name: 'Not okay', stampImageUrls: ['http://example.com/stamps/stamps/notok.png',
1162
+ 'http://example.com/stamps/disagree.png', 'http://example.com/stamps/noway.png'] },
1163
+ ]
1164
+ }
1165
+ });
1166
+ ```
1167
+ ```javascript
1168
+ // Example 2: hide the predefined stamps drop-down:
1169
+ var viewer = new GcPdfViewer("#root", {
1170
+ stamp: {
1171
+ stampCategories: false
1172
+ }
1173
+ });
1174
+ ```
1175
+ ```javascript
1176
+ // Example 3: specify image resolution for custom stamps (if unspecified, 72dpi is used):
1177
+ var viewer = new GcPdfViewer("#root", {
1178
+ stamp: {
1179
+ dpi: 144,
1180
+ stampCategories: [
1181
+ { name: 'Stamps', stampImageUrls: ['stamp1.png', 'stamp2.png', 'stamp3.png'] }
1182
+ ]
1183
+ }
1184
+ });
1185
+ ```
1186
+ - Added disableFeatures option. (DOC-3298)\
1187
+ This option allows disabling certain features (e.g. due to security considerations).
1188
+ Features that can be disabled:\
1189
+ 'JavaScript' | 'AllAttachments' | 'FileAttachments' | 'SoundAttachments' | 'DragAndDrop' | 'SubmitForm' | 'Print'.
1190
+ ```javascript
1191
+ // Example: disable DragAndDrop operations, JavaScript actions, all attachments:
1192
+ var viewer = new GcPdfViewer("#root", { disableFeatures: ['DragAndDrop', 'JavaScript', 'AllAttachments'] } );
1193
+ ```
1194
+ - [Editor] Support opacity for annotations. (DOC-2954)
1195
+ - [Editor] Added font family support for text fields and free text annotations. (DOC-3132)
1196
+ - [Editor] Added ability to automatically convert the Signature Tool's stamp to content. (DOC-3152)
1197
+ ```javascript
1198
+ // Usage example:
1199
+ var viewer = new GcPdfViewer("#root", signTool: { convertToContent: true });
1200
+ ```
1201
+ - [Editor] Added method setPageSize: allows specifying custom page size for the newPage method. (DOC-2751)
1202
+ ```javascript
1203
+ // Example: set new page size for the first page:
1204
+ viewer.setPageSize(0, { width: 300, height: 500 } );
1205
+ ```
1206
+ - [Form Editor] Added ability to modify a page's tab order. (DOC-3168)
1207
+ - Added support for Row and Column annotations tab order. (DOC-2797)
1208
+ - Implemented required validation for comb fields. (DOC-2739)
1209
+ ### Changed
1210
+ - Show a warning message if the connected SupportApi version is out of date.
1211
+ - [Editor] Improved selection box cursor styles. (DOC-3146)
1212
+ - [Editor] The floating toolbar is hidden when any editor tool is activated.
1213
+ ### Fixed
1214
+ - Multiple bug fixes.
1215
+
1216
+ ## [2.1.21] - 5-Jul-2021
1217
+ ### Fixed
1218
+ - [Editor] The 'hide annotation' button does not hide annotations. (DOC-3277)
1219
+ - Combobox dropdown is hidden behind the next page. (DOC-3300)
1220
+ - Incorrect display of annotations in a rotated PDF. (DOC-3303)
1221
+ - [Editor] The editor collapses when clicking a thread bead annotation.
1222
+ (Editing thread bead annotations is not supported yet, so they should not be listed by the editor at all.) (DOC-3352)
1223
+ - [Form Editor] Saving the PDF after changing the fields' tab order produces corrupted PDF. (DOC-3294)
1224
+ - [Form Editor] Cannot focus on fileds after setting tab order. (DOC-3292)
1225
+ - [Editor] Cannot save the PDF after modifying tab order. (DOC-3295)
1226
+ - [Editor] Font name is missing after saving and reloading a PDF. (DOC-3279)
1227
+ - [Editor] Inconsistent behavior after setting annotation opacity. (DOC-3264, DOC-3265)
1228
+ - [Editor] No default font name for free text annotations and text fields. (DOC-3273)
1229
+ - [Editor] The 'hide annotation' button does not hide annotations. (DOC-3277)
1230
+ - Combobox dropdown is hidden behind the next page. (DOC-3300)
1231
+ - Incorrect display of annotations in a rotated PDF. (DOC-3303)
1232
+ ### Changed
1233
+ - [Redact annotations] 'Opacity' property label has been changed to 'Fill Opacity'. (DOC-3266)
1234
+
1235
+ ## [2.1.18] - 09-Jun-2021
1236
+ ### Added
1237
+ - Highlight the current document in the Document List panel. (DOC-3243)
1238
+ ### Fixed
1239
+ - Incorrect display of some annotation positions when the annotation size is small. (DOC-3203)
1240
+ - Incorrect display of comb-text fields. (DOC-3199)
1241
+ - Signature field's popup still shows when editor mode has changed to view mode. (DOC-1777)
1242
+ - [Documentation] GcPdfSearcher class is missing. (DOC-3205)
1243
+ - PolyLine annotations are not hidden when the "Hide annotations/form fields" tool is checked. (DOC-3272)
1244
+ - The viewer does not initialized correctly when the viewer script is loaded after the DOM has been loaded. (DOC-3283)
1245
+ - [Editor] The attached image disappears after the undo operation. (DOC-3204)
1246
+ - [Editor] The appearance of comb text field has a slight glitch after setting back color. (DOC-3194)
1247
+ - [Editor] Popup does not appear for audio annotation after editing. (DOC-3193)
1248
+ - [Editor] It doesn't focus on the new added textNote if adding a new textNote annotation with Context Menu. (DOC-3247)
1249
+ - [Editor] The textNote annotation is not selected after I set any status. (DOC-3246)
1250
+ - [Editor] The sound annotation exceeds the boundary of the resize handle. (DOC-3195)
1251
+ - [Editor] Circle Annotations are not resizing on the third page in GcPdfViewer. (DOC-3250)
1252
+ - PolyLine annotations are not hidden when the "Hide annotations/form fields" is checked. (DOC-3272)
1253
+ - Viewer is not initialized correctly when the viewer script is loaded after the DOM has been loaded. (DOC-3283)
1254
+ - [Editor] Fixed multiple issues when editing annotations. (DOC-3204, DOC-3194, DOC-3193, DOC-3247, DOC-3246, DOC-3195, DOC-3250)
1255
+
1256
+ ## [2.1.17] - 20-May-2021
1257
+ ### Fixed
1258
+ - The position of resize handle is incorrect for redact annotation. (DOC-3122)
1259
+ - The default icon of file attachment annotation is not displayed. (DOC-3118)
1260
+ - Incorrect X conversion for XYZ destination. (DOC-3137)
1261
+ - Text position of FreeText annotation is incorrect after saving. (DOC-3141)
1262
+ - The status icon of a TextNote annotation is not displayed. (DOC-3113)
1263
+ - The graphical signature stamp disappears after printing. (DOC-3160)
1264
+ - [Editor] Border style in editorDefaults is ignored. (DOC-3176)
1265
+ - [Editor] Incorrect display when resizing items. (DOC-3183)
1266
+ - [Editor] Errors while reordering fields or annotations. (DOC-3155)
1267
+ - [Editor] Unable to select other annotations after adding new PolyLine annotation. (DOC-3145)
1268
+ - [Android] The menu does not pop up on a long button press. (DOC-3071)
1269
+ - [Localization] "Paperclip" icon name is not localized. (DOC-3163)
1270
+ ### Added
1271
+ - Added support for Row and Column annotation tab order. (DOC-2797)
1272
+ - Implemented required validation for comb fields. (DOC-2739)
1273
+
1274
+ ## [2.1.14] - 23-Apr-2021
1275
+ ### Added
1276
+ - [iOS] Provided an additional UI that can be used to open the file selection dialog on iOS device. (DOC-2878)
1277
+ - [Viewer] Added the ability to open PDF files with Drag and Drop operation.
1278
+ - [Editor] Added graphical signature tool. (DOC-2270)
1279
+ - [Editor] Added stamp annotation support (allows adding images as stamp annotations; images can be converted to content). (DOC-2612)
1280
+ - [Editor] Added the ability to lock annotations and fields for editing using the 'locked' property. (DOC-2642)
1281
+ ```javascript
1282
+ // Example:
1283
+ var viewer = new GcPdfViewer('#root', { supportApi: { apiUrl: 'api/pdf-viewer', webSocketUrl: false } });
1284
+ viewer.addDefaultPanels();
1285
+ viewer.addAnnotationEditorPanel();
1286
+ viewer.addFormEditorPanel();
1287
+ viewer.addReplyTool();
1288
+ viewer.onAfterOpen.register(()=>{
1289
+ // Lock all text annotations after document open:
1290
+ const resultArr = await viewer.findAnnotation(1, // 1 - AnnotationTypeCode.TEXT
1291
+ { findField: 'annotationType',
1292
+ pageNumberConstraint: 1, findAll: true });
1293
+ viewer.updateAnnotations(0, resultArr.map((data)=> { data.annotation.locked = true; return data.annotation; }));
1294
+ });
1295
+ // Open Annotations.pdf
1296
+ viewer.open('Annotations.pdf');
1297
+ ```
1298
+ - [Editor] Added the ability to move objects to next or previous page using the context menu.
1299
+ - [iOS] [Android] Support for filling PDF forms on phone or tablet. (DOC-2867)
1300
+ - Link annotations support (DOC-1847):
1301
+ * added the ability to create a link annotation using the context menu for the selected text context.
1302
+ * added the ability to create a link annotation over any other annotation using the context menu.
1303
+ ~~~~
1304
+ Explicit destination types description:
1305
+ FitV = FitBV // fit page height
1306
+ FitH = FitBH // fit page width
1307
+ Fit = FitB // fit page
1308
+ FitR // Scroll and zoom rectangle into view.
1309
+ XYZ // Scroll to X, Y and apply Zoom
1310
+ ~~~~
1311
+ - [Editor] Added the ability to use the Shift key to maintain the aspect ratio of the annotation box during resize.
1312
+ - JS Actions: GcPdfViewer's methods are now available for JS actions in the PDF.
1313
+ ```javascript
1314
+ // An example of a JS action to show the signature dialog:
1315
+ app.showSignTool();
1316
+ ```
1317
+ - Added new methods:
1318
+ ```javascript
1319
+ lockAnnotation // Lock annotation for editing.
1320
+ unlockAnnotation // Unlock annotation for editing.
1321
+ getPageSize // Returns the page size. By default returns unscaled size,
1322
+ // pass true for the includeScale argument if you want to get the scaled value.
1323
+ getPageRotation // Get page view box rotation value.
1324
+ ```
1325
+ - Added new option: coordinatesPrecision.
1326
+ ```javascript
1327
+ // Annotation coordinates rounding precision.
1328
+ // Used by Annotation and Form editors.
1329
+ // Default is 1 (round fraction part).
1330
+ // Usage example:
1331
+ // Change the default rounding precision to 0.001:
1332
+ var viewer = new GcPdfViewer("#root", { coordinatesPrecision: 0.001 } );
1333
+ ```
1334
+ - [Editor] Added the ability to change the default size for resize/move selection box handles. (DOC-2888)
1335
+ Use the editorDefaults options to tune resizeHandleSize and moveHandleSize settings.
1336
+ Default value is 8 pixels for resizeHandleSize, and 14 pixels for moveHandleSize.
1337
+ ```javascript
1338
+ // Sample code:
1339
+ var viewer = new GcPdfViewer("#root", {
1340
+ editorDefaults: {
1341
+ resizeHandleSize: 20,
1342
+ moveHandleSize: 40,
1343
+ dotHandleSize = 20
1344
+ },
1345
+ supportApi: { apiUrl: 'support-api/gc-pdf-viewer', webSocketUrl: false }
1346
+ });
1347
+ ```
1348
+ - [Editor] Added an additional floating bar that contains Pan and Text selection tools.
1349
+ The Floating bar is visible by default in editor mode.
1350
+ You can hide the floating bar with the editorDefaults.hideFloatingBar setting.
1351
+ ```javascript
1352
+ // Sample code:
1353
+ var viewer = new GcPdfViewer("#root", {
1354
+ editorDefaults: {
1355
+ hideFloatingBar: true
1356
+ },
1357
+ supportApi: { apiUrl: 'support-api/gc-pdf-viewer', webSocketUrl: false }
1358
+ });
1359
+ ```
1360
+ - The About dialog box now displays the SupportApi version when SupportApi is available.
1361
+ - Implemented auto-generated export value for a radio button in the same radio group. (DOC-2742)
1362
+ - Push buttons: added support for MouseUp/MouseDown event actions. (DOC-2826)
1363
+ - Added the ability to perform custom validation using the validateForm method. (DOC-2256)
1364
+ ```javascript
1365
+ // Usage example:
1366
+ // Validate all form fields, each field must have the value "YES" or "NO".
1367
+ viewer.validateForm((fieldValue, field) => { return (fieldValue === "YES" || fieldValue === "NO") ? true : "Possible value is YES or NO."; });
1368
+ ```
1369
+ ### Changed
1370
+ - [Android/Chrome] Swipe down does not refresh the page when finger is over the scrolling area.
1371
+ - [iOS] Default zoom mode for iOS devices changed to PageWidth. (DOC-2938)
1372
+ ### Fixed
1373
+ - [iOS] [Android] Fixed multiple issues that occurred on mobile devices.
1374
+ - Miscellaneous bug fixes.
1375
+ - Inline text editor cannot be activated by double-clicking. (DOC-2982)
1376
+ * Limitation: inline text editing is not supported on iOS.
1377
+
1378
+ ## [2.0.24] - 20-Mar-2021
1379
+ ### Fixed
1380
+ - [JS Action, regression] app.popUpMenu() is not working correctly. (DOC-2903)
1381
+ - [Form Filler] The form filler button is disabled in some cases. (DOC-2823)
1382
+ - [Form Filler] The form filler does not work if the value of a radio field is set to null. (DOC-2824)
1383
+ - Issues with filling PDF forms on touch devices. (DOC-2867)
1384
+ - [Safari] Text field margins are too wide. (DOC-2897)
1385
+
1386
+ ## [2.0.21] - 04-Mar-2021
1387
+ ### Fixed
1388
+ - Default theme colors show momentarily before the specified theme is applied. (DOC-2810)
1389
+ - Screen blinking when adding / removing or updating annotation. (DOC-2785)
1390
+ - JS Action: isBoxChecked returns an incorrect value in some cases. (DOC-2803)
1391
+ - [Editor] Some annotation property values are lost after saving and reloading a PDF. (DOC-2806, DOC-2809)
1392
+ ### Changed
1393
+ - A form that fails validation or has empty required fields now cannot be submitted.
1394
+ Instead, the first failed field is focused and highlighted, with a tooltip indicating the error. (DOC-2753)
1395
+ - Improved the styles of the password dialog box.
1396
+ ### Added
1397
+ - New API method setAnnotationBounds: programmatically set the position and/or the size of an annotation.
1398
+ ```javascript
1399
+ // Example: move an annotation to the top left corner:
1400
+ viewer.setAnnotationBounds('1R', {x: 0, y: 0});
1401
+ // Example: move an annotation to the bottom left corner:
1402
+ viewer.setAnnotationBounds('1R', {x: 0, y: 0}, 'BottomLeft');
1403
+ // Example: set an annotation size to 40 x 40 points:
1404
+ viewer.setAnnotationBounds('1R', {w: 40, h: 40});
1405
+ // Example: set an annotation position to x=50, y=50 (origin top/left) and size to 40 x 40 points:
1406
+ viewer.setAnnotationBounds('1R', {x: 50, y: 50, w: 40, h: 40});
1407
+ ```
1408
+
1409
+ ### Changed
1410
+ - The repaint method now accepts optional indicesToRepaint argument.
1411
+ Usage example:
1412
+ ```javascript
1413
+ // Redraw content and annotations for pages with indexes 0 and 3:
1414
+ viewer.repaint([0, 3]);
1415
+ ```
1416
+
1417
+ ## [2.0.18] - 22-Feb-2021
1418
+ ### Fixed
1419
+ - [Editor] On applying a redact annotation its bounds are displayed incorrectly. (DOC-1976)
1420
+ - [Editor] File size of a file attachment is still shown after the file has been removed. (DOC-2784)
1421
+
1422
+ ## [2.0.17] - 10-Feb-2021
1423
+ ### Fixed
1424
+ - [Editor] Invalid selection rectangle if a page contains x / y offsets. (DOC-2767)
1425
+ - [Editor] The confirmation dialog does not appear even though the active document has been modified. (DOC-2744)
1426
+ - [Editor] Clicking the cancel button in item properties does not cancel the changes. (DOC-2743)
1427
+ - [Editor] Incorrect download PDF file name if the file has been modified. (DOC-2690)
1428
+
1429
+ ## [2.0.15] - 25-Jan-2021
1430
+ ### Fixed
1431
+ - Cannot check a radio button if appearance state name contains spaces. (DOC-2721)
1432
+ - Compatibility problems when using GcPdfViewer with Wijmo controls. (DOC-2670)
1433
+ - Autofocus does not work in FireFox. (DOC-2696)
1434
+ - Incorrect download PDF file name. (DOC-2690)
1435
+ - After navigating to an article thread, another thread cannot be activated by clicking on the thread bead. (DOC-2701)
1436
+ - [SupportApi] In some scenarios submitting a filled form causes out of memory error. (DOC-2718)
1437
+ - [Search] Issues when using word, wildcard and proximity options. (DOC-2682, DOC-2689, DOC-2722)
1438
+ - [Editor] Incorrect display of read-only CombText fields. (DOC-2733)
1439
+ - [Editor] Incorrect callout line endings. (DOC-2723)
1440
+ - [Editor] Author and subject are not saved for FreeText annotations. (DOC-2686)
1441
+ - [Editor] Callout line is not adjusted when a FreeText annotation is copied to another location. (DOC-2710)
1442
+ - [Editor] An error occurs when setting a FreeText annotation's BackColor via API. (DOC-2707)
1443
+ - [Editor] No default border is shown for newly added FreeText annotations. (DOC-2702)
1444
+ - [Editor] Tooltip is not shown when hovering the mouse over an annotation after editing. (DOC-2703)
1445
+ - [Editor] Error occurs when copying a Polygon/Polyline. (DOC-2715)
1446
+
1447
+ ## [2.0.13] - 07-Jan-2021
1448
+ ### Fixed
1449
+ - [Editor] User name is set to StickyNotes annotations only. (DOC-2632)
1450
+ - [Search] Search results are incorrect if the search text contains different styles. (DOC-2578)
1451
+ - Copying rich text and paste to notepad, there will be a space. (DOC-2678)
1452
+
1453
+ ## [2.0.12] - 31-Dec-2020
1454
+ ### Fixed
1455
+ - In some cases text copied to clipboard is incorrect. (DOC-2678)
1456
+ - Invalid request to viewer.css file. (DOC-2668)
1457
+ - Error when disposing the viewer. (DOC-2630)
1458
+ - [Editor] User name is set to StickyNotes annotations only. (DOC-2632)
1459
+ - [Editor] The result of viewer.save() is incorrect. (DOC-2629)
1460
+ - [Search] Search results for "Starts with" option are incorrect in some cases. (DOC-2579)
1461
+ - [Search] Search results are missing when searching across lines. (DOC-2566)
1462
+ - [Search] Search results are incorrect if both "Starts with" and "Ends with" options are set. (DOC-2549)
1463
+ - [Search] Wildcard search using the $ character in the query is incorrect. (DOC-2568)
1464
+ - [Search] Search results using the "Whole word" option are incorrect. (DOC-2577)
1465
+ - [Search] Search results using "Proximity" and "Whole word" options together are incorrect. (DOC-2554, DOC-2578)
1466
+
1467
+ ## [2.0.11] - 09-Dec-2020
1468
+ ### Fixed
1469
+ - Error when drawing a circle annotation. (DOC-2564)
1470
+ - Validation messages are not displayed in some cases. (DOC-2518)
1471
+ - The shared author indicator disappears after clicking the delete button. (DOC-2547)
1472
+ - Viewer display issues (DOC-2544, DOC-2590)
1473
+ - Text selection persists when a new file is loaded into the viewer. (DOC-2601)
1474
+ - Errors if the viewer is removed from DOM and added back. (DOC-2587)
1475
+ - The searched results are incorrect. (DOC-2565)
1476
+ - [Form Filler] Form filler is not disabled after loading a PDF with fields that have been converted to content. (DOC-2558)
1477
+ - [Annotation Editor] Errors when a page has two instances of GcPdfViewer. (DOC-2496)
1478
+ - [Annotation Editor] Japanese text cannot be entered correctly in annotation comment. (DOC-2413)
1479
+ - Localization issues. (DOC-2607)
1480
+ ### Added
1481
+ - Japanese localization.
1482
+
1483
+ ## [2.0.10] - 22-Nov-2020
1484
+ ### Fixed
1485
+ - Highlighted search results are incorrect in some cases. (DOC-2562)
1486
+ - [Collaboration] The viewer collapses on connection error. (DOC-2571)
1487
+ ### Added
1488
+ - Added the ability to configure automatic reconnect interval.
1489
+ Use the reconnectInterval setting to configure automatic reconnect interval in milliseconds.
1490
+ The default reconnect interval is 5000 milliseconds (5 seconds).
1491
+ ```javascript
1492
+ // Example - reconnect after a 1 second timeout:
1493
+ var viewer = new GcPdfViewer('#root', { supportApi: 'api/pdf-viewer', reconnectInterval: 1000 } );
1494
+ // Example - disable auto reconnect:
1495
+ var viewer = new GcPdfViewer('#root', { supportApi: 'api/pdf-viewer', reconnectInterval: -1 } );
1496
+ ```
1497
+ - Added the ability to configure logging level used for persistent connections.
1498
+ ```javascript
1499
+ // Example - turn on debug logging for persistent connections:
1500
+ var viewer = new GcPdfViewer('#root', { supportApi: 'api/pdf-viewer' }, logLevel: 'Debug' );
1501
+ ```
1502
+
1503
+ ## [2.0.9] - 17-Nov-2020
1504
+ ### Fixed
1505
+ - [IE11] Fixed regular expression exception. (DOC-2371)
1506
+ - In some cases the editor is disabled on first launch. (DOC-2516)
1507
+ - Unable to scroll and edit the form on mobile devices. (DOC-2502)
1508
+ - The display of search results on the document is out of position in some cases. (DOC-2398)
1509
+ - Double-click selects the space at the beginning of a word. (DOC-2487)
1510
+ - Double-click selects punctuation characters along with letters. (DOC-2488)
1511
+ - Enabling editing features on localhost incorrectly requires a Pro license. (DOC-2440)
1512
+
1513
+ ## [2.0.3] - 05-Nov-2020
1514
+ ### Added
1515
+ - [Annotation Editor] Added enhanced editorDefaults option that allows setting the default values and other settings of annotations. (DOC-2458)
1516
+ ```javascript
1517
+ // Example:
1518
+ var viewer = new GcPdfViewer("#root", {
1519
+ editorDefaults: {
1520
+ squareAnnotation: {
1521
+ borderStyle: { width: 5, style: 1 },
1522
+ color: [0, 0, 0],
1523
+ interiorColor: [255, 0, 0],
1524
+ }
1525
+ },
1526
+ supportApi: "api/pdf-viewer"
1527
+ });
1528
+ ```
1529
+
1530
+ ## [2.0.2] - 04-Nov-2020
1531
+ ### Fixed
1532
+ - [Collaboration] The share button does not work. (DOC-2399)
1533
+ - [Collaboration] Previous access information is displayed for new documents. (DOC-2402)
1534
+ - [Collaboration] Access permission is not changed in real time co-authoring. (DOC-2401)
1535
+ - [Collaboration] Inserting a blank page is not reflected in real time co-authoring. (DOC-2410)
1536
+ - [Collaboration] Focus is missing after creating a FreeText annotation. (DOC-2415)
1537
+ - [Collaboration] The modifier user name disappears. (DOC-2424)
1538
+ - [Form Filler] Crash when clicking FormFiller after loading a pdf. (DOC-2430)
1539
+ - [Form Filler] Multiple property does not work for email type. (DOC-2435)
1540
+ - [Form Filler] A TextField with search type is not displayed if the maxLength property is less than the minLength property. (DOC-2431)
1541
+
1542
+ ### Added
1543
+ - Support additional wildcards in license keys. (DOC-2347)
1544
+ - Support for v2 licenses. Only v2 Pro licenses allow the use of SupportApi except on localhost. (DOC-2440)
1545
+ - [Collaboration] Added new sharing option setting: presenceMode.
1546
+ ```javascript
1547
+ // Determines the type of presence for collaboration users. Possible values are:
1548
+ // - 'on' or true: the presence of all users, including the active one, will be shown.
1549
+ // - 'others': all users except the active user will be shown.
1550
+ // - 'off' or false: presence will not be shown.
1551
+ // Default value is 'on'.
1552
+ // Example - turn off presence indicators:
1553
+ var viewer = new GcPdfViewer("#root", {
1554
+ sharing: {
1555
+ presenceMode: 'off'
1556
+ },
1557
+ supportApi: "api/pdf-viewer"
1558
+ });
1559
+ ```
1560
+ - [Collaboration] Added new sharing option setting: presenceColors.
1561
+ ```javascript
1562
+ // If specified, these colors will be used as color for presence indicators.
1563
+ // Dictionary, key - user name, value - color string.
1564
+ // Usage example:
1565
+ var viewer = new GcPdfViewer("#root", {
1566
+ sharing: {
1567
+ knownUserNames: ['Jamie Smith', 'Lisa'],
1568
+ presenceColors: { 'Anonymous': '#999999', 'Jamie Smith': 'red', 'Lisa': 'blue' }
1569
+ },
1570
+ supportApi: "api/pdf-viewer"
1571
+ });
1572
+ ```
1573
+ - [Form Filler] showFormFiller method, usage example:
1574
+ ```javascript
1575
+ if (viewer.hasForm) {
1576
+ viewer.showFormFiller();
1577
+ }
1578
+ ```
1579
+
1580
+ ## [2.0.1] - 20-Oct-2020
1581
+ ### Fixed
1582
+ - [Form Filler] The validationmessage property does not work for a date field. (DOC-2356)
1583
+ - [Form Filler] Wrong tooltip position for OneColumn layout. (DOC-2386)
1584
+ - [Form Filler] Incorrect order of custom form fields. (DOC-2384)
1585
+ - [Form Filler] Required ignored if validateoninput is set in code. (DOC-2358)
1586
+ - [Collaboration] The share button exists even if it is not configured. (DOC-2377)
1587
+ - [Annotation Editor] Focus is lost when filling an annotation subject field. (DOC-2389)
1588
+ - [Annotation Editor] Snap to page edge does not work when the page does not already have annotations or fields. (DOC-2394)
1589
+ - Predefined annotation appearance rendering improved. (DOC-2395)
1590
+
1591
+ ### Added
1592
+ - [Form Filler] Added applyAfterFailedValidation option.
1593
+ The type of action to execute if form validation fails after clicking Apply button.
1594
+ Possible values are: 'confirm' | 'reject' | 'apply' or Function, default value is 'confirm',
1595
+ ```javascript
1596
+ // Examples:
1597
+ // Reject applying changes if validation failed:
1598
+ options.formFiller = {
1599
+ applyAfterFailedValidation: 'reject'
1600
+ }
1601
+ // Apply changes even if validation failed:
1602
+ options.formFiller = {
1603
+ applyAfterFailedValidation: 'apply'
1604
+ }
1605
+ // Execute custom function and reject changes:
1606
+ options.formFiller = {
1607
+ applyAfterFailedValidation: function() {
1608
+ alert('Validation failed, changes rejected.');
1609
+ return false;
1610
+ }
1611
+ }
1612
+ // Execute custom function and accept changes:
1613
+ options.formFiller = {
1614
+ applyAfterFailedValidation: function() {
1615
+ alert('Validation failed, but changes are accepted.');
1616
+ return true;
1617
+ }
1618
+ }
1619
+ ```
1620
+
1621
+ ## [2.0.0] - 16-Oct-2020
1622
+ ### Fixed
1623
+ - [Form Filler] Content cannot be cleared if setting default value for "password" type text field. (DOC-2365)
1624
+ - [Form Filler] Fixed problem with checkbox and radio buttons checked state.
1625
+ - [Form Filler] The beforeFieldChange event handler was not called for radio / checkbox inputs.
1626
+ - [Form Filler] SpellCheck property does not work for text type. (DOC-2367)
1627
+ - [Form Filler] min and max properties do not work for number type. (DOC-2361)
1628
+ - Ink annotation renders incorrectly on a rotated page. (DOC-2340)
1629
+ - Redact works incorrectly on a rotated page. (DOC-2337)
1630
+ - The size and font of the set placeholder is different from the default placeholder. (DOC-2362)
1631
+ - There is no differences in appearance between disabled and readonly for email text field. (DOC-2363)
1632
+ - The checked state of the radio button follows the checked state of the check box. (DOC-2352)
1633
+ - Input type date does not work in IE11. (DOC-2371)
1634
+ - Setting an incorrect default value is applied successfully. (DOC-2357)
1635
+
1636
+ ### Added
1637
+ - [Form Filler] Added title option: specifies the Form Filler window title. Example:
1638
+ ```javascript
1639
+ options.formFiller = {
1640
+ title: 'Please fill the form'
1641
+ }
1642
+ ```
1643
+ - [Form Filler] One column layout for Form Filler. (DOC-2375)
1644
+ - Added layout option: specifies the Form Filler dialog layout.
1645
+ - Possible values are: 'Auto', 'OneColumn', 'TwoColumns'. The default is 'Auto', which uses 'TwoColumns' for large screens and 'OneColumn' for small ones.
1646
+ ```javascript
1647
+ // Example:
1648
+ options.formFiller = {
1649
+ layout: 'OneColumn'
1650
+ }
1651
+ ```
1652
+ - [Form Filler] Added support for multi-line text fields (see multiline property). (DOC-2366)
1653
+ - [Form Filler] Added new formFiller event handlers:
1654
+ - onInitialize: called after the list of fields is loaded and initialized but not yet rendered.
1655
+ - beforeApplyChanges: called when the Apply button has been clicked and fields validation was successful.
1656
+ ```javascript
1657
+ // Example:
1658
+ options.formFiller = {
1659
+ onInitialize: function(formFiller) { },
1660
+ beforeApplyChanges: function(formFiller) { }
1661
+ }
1662
+ ```
1663
+ - [Form Filler] Added the ability to display custom HTML content for in the field list.
1664
+ ```javascript
1665
+ // Example:
1666
+ options.formFiller = {
1667
+ mappings: {
1668
+ 'CustomContent_Info1': {
1669
+ type: 'custom-content',
1670
+ content: '<span>Some HTML content</span>'
1671
+ },
1672
+ }
1673
+ }
1674
+ ```
1675
+ - [Form Filler] Added the ability to display a full-width field input control without a label. (DOC-1594)
1676
+ - Ability to resize line annotation. (DOC-2364)
1677
+ - Added page transformations support to Annotation/Form editors. (DOC-2310)
1678
+ - Support additional wildcards for license keys. (DOC-2347)
1679
+
1680
+ ## [1.3.2] - 10-Sep-2020
1681
+ ### Added
1682
+ - Form filler: added support for min/max/inputmode properties. (DOC-1594)
1683
+ ### Changed
1684
+ - formFiller mapping settings enhanced.
1685
+ - formFiller.mapping renamed to formFiller.mappings, see docs/index.html#formfieldmapping for the full specification. (DOC-2311)
1686
+
1687
+ ## [1.3.1] - 28-Sep-2020
1688
+ ### Added
1689
+ - Added Form Filler feature. (DOC-1594)
1690
+ - Added Collaboration Mode feature. (DOC-1595)
1691
+ - Added the ability to convert annotations and fields to content. (DOC-1883)
1692
+
1693
+ ## [1.2.97] - 04-Nov-2020
1694
+ ### Fixed
1695
+ - Support additional wildcards in license keys. (DOC-2347)
1696
+ - [Annotation Editor] Editor tools are disabled when opening a page with the viewer that is initially in edit mode. (DOC-2446)
1697
+
1698
+ ## [1.2.96] - 28-Oct-2020
1699
+ ### Fixed
1700
+ - Line annotation disappeared after setting author and clicking subject field. (DOC-2434)
1701
+ - If the maximum length of a text field is 0, it is ignored (behavior similar to that of Acrobat Reader). (DOC-2436)
1702
+ ### Added
1703
+ - [SupportApi] Support for token-based authentication. (DOC-2432)
1704
+ - [Search] Ability to use the "Whole word" search option together with the "Wildcard" search option. (DOC-2397)
1705
+
1706
+ ## [1.2.95] - 26-Oct-2020
1707
+ ### Fixed
1708
+ - The position of redact is incorrect in some cases. (DOC-2405)
1709
+ - The dashed style for line annotation is incorrect. (DOC-2406)
1710
+ - The line start and end properties of line annotations do not work. (DOC-2407)
1711
+ - The number of replies is incorrect. (DOC-2422)
1712
+ - A checked checkbox cannot be unchecked. (DOC-2420)
1713
+ - The appearance of read-only checkBox is incorrect. (DOC-2418)
1714
+ - Incorrect behavior of annotations in rotated documents. (DOC-2393)
1715
+ - Wildcard search results are incorrect in some cases. (DOC-2397)
1716
+ - Japanese search is incorrect with some options. (DOC-2403)
1717
+ - Text annotation comments automatically change when user tries to enter text. (DOC-2411)
1718
+ - Reply comments to text annotations are not deleted correctly. (DOC-2409)
1719
+ - Text selection with mouse in a scrolled document is broken (regression added in .93). (DOC-2425)
1720
+
1721
+ ## [1.2.94] - 20-Oct-2020
1722
+ ### Fixed
1723
+ - [Annotation Editor] Focus is lost when filling an annotation subject field. (DOC-2389)
1724
+ - [Annotation Editor] Snap to page edge does not work when the page does not already have annotations or fields. (DOC-2394)
1725
+ - Predefined annotation appearance rendering improved. (DOC-2395)
1726
+
1727
+ ## [1.2.93] - 17-Oct-2020
1728
+ ### Fixed
1729
+ - Ink annotation renders incorrectly on a rotated page. (DOC-2340)
1730
+ - Redact works incorrectly on a rotated page. (DOC-2337)
1731
+ ### Added
1732
+ - Ability to resize line annotation. (DOC-2364)
1733
+ - Added page transformations support to Annotation/Form editors. (DOC-2310)
1734
+
1735
+
1736
+
1737
+ ## [1.2.92] - 04-Sep-2020
1738
+ ### Fixed
1739
+ - Memory leak occurs when clicking a document in the document list. (DOC-2293)
1740
+ - Inaccurate display of the predefined appearance of a radio button if the radio button contains a border. (DOC-2303)
1741
+
1742
+ ## [1.2.91] - 02-Sep-2020
1743
+ ### Fixed
1744
+ - Fixed regression issue with executing JS actions for checkbox widgets with predefined appearance streams. (DOC-2088)
1745
+ - The reset action does not work for password fields. (DOC-2273)
1746
+ - GcPdfViewer.LicenseKey is not accessible in Angular projects. (DOC-2276)
1747
+ - The "Backcolor" label is incorrect in Japanese locale. (DOC-2275)
1748
+
1749
+ ## [1.2.89] - 06-Aug-2020
1750
+ ### Fixed
1751
+ - Dashed border style for annotation does not work. (DOC-2255)
1752
+ - Checkboxes rendered incorrectly in some cases. (DOC-2198)
1753
+ - Building node_modules folder throws errors. (DOC-2232)
1754
+
1755
+ ### Changed
1756
+ - Updated client API documentation.
1757
+
1758
+ ### Added
1759
+ - Added the ability to add Ink and Redact annotation tools to the default viewer toolbar.
1760
+ ```javascript
1761
+ // Usage example:
1762
+ var viewer = new GcPdfViewer("#root", { supportApi: 'api/pdf-viewer' });
1763
+ viewer.toolbarLayout = { viewer: { default: ["open", 'edit-redact', 'edit-redact-apply', 'edit-ink']} };
1764
+ viewer.applyToolbarLayout();
1765
+ viewer.open("Annotations.pdf");
1766
+ ```
1767
+ - Added support for RadiosInUnison flag. (DOC-2205)
1768
+ - Added support for radio button appearance streams. (DOC-2208)
1769
+ - Added replyTool settings option. (DOC-2245)
1770
+ ```javascript
1771
+ // The replyTool option spec:
1772
+ replyTool?: {
1773
+ readOnly?: boolean, /* Default is false */
1774
+ allowAddNote?: boolean, /* Default is true */
1775
+ allowChangeUserName?: boolean, /* Default is true */
1776
+ allowAddReply?: boolean, /* Default is true */
1777
+ allowDelete?: boolean, /* Default is true */
1778
+ allowStatus?: boolean, /* Default is true */
1779
+ allowChangeOtherUser?: boolean, /* Default is true */
1780
+ allowDeleteOtherUser?: boolean, /* Default is true */
1781
+ allowStatusOtherUser?: boolean, /* Default is true */
1782
+ allowAddReplyOtherUser?: boolean, /* Default is true */
1783
+ }
1784
+ // Usage examples:
1785
+ //
1786
+ // Prevent changing or deleting another user's comments:
1787
+ var viewer = new GcPdfViewer('#root',
1788
+ { replyTool: { allowChangeOtherUser: false, allowDeleteOtherUser: false },
1789
+ userName: 'John',
1790
+ supportApi: 'api/pdf-viewer' });
1791
+ viewer.addReplyTool('expanded');
1792
+ //
1793
+ // Add reply tool in read-only mode:
1794
+ var viewer = new GcPdfViewer('#root', {
1795
+ replyTool: { readOnly: true },
1796
+ userName: 'John',
1797
+ supportApi: 'api/pdf-viewer' });
1798
+ viewer.addReplyTool('expanded');
1799
+ //
1800
+ // Add reply tool that does not allow changing the author name or other users' comments:
1801
+ var viewer = new GcPdfViewer('#root', {
1802
+ replyTool: { allowChangeUserName: false, allowChangeOtherUser: false },
1803
+ userName: 'John',
1804
+ supportApi: 'api/pdf-viewer' });
1805
+ viewer.addReplyTool('expanded');
1806
+ //
1807
+ // Hide the "Add Sticky Note" item from the context menu:
1808
+ var viewer = new GcPdfViewer('#root', {
1809
+ replyTool: { allowAddNote: false },
1810
+ userName: 'John',
1811
+ supportApi: 'api/pdf-viewer' });
1812
+ viewer.addReplyTool();
1813
+ ```
1814
+
1815
+ ## [1.2.88] - 17-July-2020
1816
+ ### Fixed
1817
+ - The context menu closed if onBeforeCloseContextMenu tried to prevent it from closing, for example:
1818
+ ```javascript
1819
+ viewer.options.onBeforeCloseContextMenu = function(e) {
1820
+ console.log("The context menu should not close.");
1821
+ return false;
1822
+ };
1823
+ ```
1824
+ - Fixed uncaught TypeError when option "renderer" is set to "svg", for example:
1825
+ ```javascript
1826
+ var viewer = new GcPdfViewer("#root", { renderer: "svg" } );
1827
+ ```
1828
+ ### Added
1829
+ - Client API documentation, see "docs" folder.
1830
+
1831
+ ## [1.2.87] - 15-July-2020
1832
+ ### Fixed
1833
+ - [IE11] Regex syntax error exception. (DOC-2211)
1834
+
1835
+ ## [1.2.86] - 14-July-2020
1836
+ ### Fixed
1837
+ - The page jumps when adding a sound annotation. (DOC-2197)
1838
+ - The position is changed after moving an ink annotation. (DOC-2196)
1839
+
1840
+ ## [1.2.85] - 13-July-2020
1841
+ ### Changed
1842
+ - The snapAlignment option specification changed, the updated specification:
1843
+ ```javascript
1844
+ // The Snap Alignment feature customization settings.
1845
+ // The *tolerance* setting is the distance between the edges of two objects within which the object that is being
1846
+ // moved or resized snaps to the other object.
1847
+ // The *margin* setting is the distance from the target object or page edge to which the edge of the object being moved or resized snaps.
1848
+ // The *center* setting allows the user to snap objects to centers of other objects (in addition to edges).
1849
+ // By default, snap tolerance is 5pt, snap margin is 10pt, snap to center is true.
1850
+ snapAlignment: true | false |
1851
+ {
1852
+ tolerance: number | { horizontal: number | false, vertical: number | false },
1853
+ margin: false | true | number | { horizontal: number | boolean, vertical: number | boolean },
1854
+ center: false | true | { horizontal: boolean, vertical: boolean },
1855
+ }
1856
+ ```
1857
+
1858
+ ## [1.2.84] - 10-July-2020
1859
+ ### Fixed
1860
+ - The FreeText border color is not applied until back color is not selected. (DOC-2179)
1861
+ ### Changed
1862
+ - Free text annotation: property Color renamed to Backcolor; property Border color replaced by Forecolor. (DOC-2179)
1863
+
1864
+ ## [1.2.83] - 07-July-2020
1865
+ ### Fixed
1866
+ - The color for searched result is green sometimes, but sometimes is black. (DOC-2175)
1867
+ - Reply behavior correction: when we respond to the selected comment in the response tool,
1868
+ the "In reply to" field now contains the selected comment as a reference (instead of the topmost comment). (DOC-2174)
1869
+ - The last reply comment is put at the top. (DOC-2174)
1870
+
1871
+ ## [1.2.82] - 06-July-2020
1872
+ ### Fixed
1873
+ - Field under applied redact annotation can be focused. (DOC-1999)
1874
+ - The state of the comb-text field value is not saved. (DOC-2150)
1875
+ - The position of cursor is incorrect in comb text field. (DOC-2144)
1876
+ - Non-Unicode chars in license names not supported. (GCL2-259)
1877
+ - Checkboxes do not execute additional JavaScript actions. (DOC-2086)
1878
+ - snapAlignment does not accept value of true. (DOC-2098)
1879
+ - Setting value for fields which have same names doesn't work. (DOC-2085)
1880
+ - The activity indicator does not go away if an error occurs when opening a document. (DOC-2109)
1881
+ - The center alignment isn't displayed if setting snapAlignment: { tolerance: 25 }. (DOC-2114)
1882
+ - Horizontal Center cannot be displayed when setting snapAlignment: { center: { vertical: true } }. (DOC-2115)
1883
+ - There's no Horizontal margin if not specified it. (DOC-2116)
1884
+ - Cannot link to the correct position if clicking the searched result. (DOC-2135)
1885
+ - The first search result is selected after checking "highlight all" item. (DOC-2136)
1886
+ - Appearance is incorrect when a radio button is checked until a blank space is clicked. (DOC-2083)
1887
+ - Modifying "In reply to" to a Child comment, the comment will be disappeared from the comment panel. (DOC-2139)
1888
+ - Cannot and sticky note when the Form Editor is opened. (DOC-2137)
1889
+ - Cannot search correct result when the target is in text field. (DOC-2140)
1890
+ ### Changed
1891
+ - Status labels in the annotation popup now display icons instead of text.
1892
+ ### Added
1893
+ - Added ability to specify boolean value for snap tolerance and disable vertical or horizontal snap.
1894
+ - Comb-text field: added alignment property.
1895
+ - Field widgets: added support for JavaScript actions from additional-actions dictionary. (DOC-2088)
1896
+
1897
+ ## [1.2.81] - 22-June-2020
1898
+ ### Fixed
1899
+ - Wildcard Search does not consider newlines. (DOC-2075)
1900
+ - Appearance is incorrect when you check a radio button until you click on a blank. (DOC-2083)
1901
+ - Data input in a PDF form shows incorrect result. (DOC-2082)
1902
+ ### Added
1903
+ - Search panel: highlight all feature. (DOC-2069)
1904
+ - Added zoomMode property. Accepted values are: 0 - Value, 1 - PageWidth, 2 - WholePage.
1905
+ ```javascript
1906
+ // usage example:
1907
+ viewer.zoomMode = 2; // Set zoom mode to 'WholePage'
1908
+ ```
1909
+
1910
+ ## [1.2.80] - 15-June-2020
1911
+ ### Added
1912
+ - Added ability to collapse the property panel pages using chevron icon.
1913
+ - Annotation/Form editor: added snap alignment. (DOC-1882)
1914
+ By default, snap alignment is enabled, the default snap tolerance is 5pt both vertically and horizontally.
1915
+ Default snap margin is 10pt. Snap to center is also enabled.
1916
+ Press Alt key if you wish to temporarily disable snap during resize or move action.
1917
+ Use snapAlignment option if you wish to customize snap alignment. Some examples:
1918
+ ```javascript
1919
+ // Change snap alignment tolerance:
1920
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { tolerance: 25 }, supportApi: 'api/pdf-viewer'});
1921
+ // Set vertical and horizontal alignment tolerance individually:
1922
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { tolerance: { vertical: 10, horizontal: 50 } }, supportApi: 'api/pdf-viewer'});
1923
+ // Disable snap to center of the element:
1924
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { center: false}, supportApi: 'api/pdf-viewer'});
1925
+ // Enable snap to center of the element for vertical alignment only.
1926
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { center: {vertical: true, horizontal: false, } }, supportApi: 'api/pdf-viewer'});
1927
+ // Disable snap margin:
1928
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { margin: false }, supportApi: 'api/pdf-viewer'});
1929
+ // Enable vertical snap margin:
1930
+ var viewer = new GcPdfViewer("#root", { snapAlignment: { margin: { vertical: 10, horizontal: false} }, supportApi: 'api/pdf-viewer'});
1931
+ // Disable snap alignment feature:
1932
+ var viewer = new GcPdfViewer("#root", { snapAlignment: false, supportApi: 'api/pdf-viewer'});
1933
+ ```
1934
+
1935
+ - Annotation/Form editor: arrow keys move the current element, Shift-arrow resize the element. (DOC-1955)
1936
+
1937
+ - Viewer search improvements. (DOC-1885)
1938
+ * Proximity search
1939
+ * Starts with/ends with
1940
+ * Wildcards
1941
+
1942
+ - Annotation/Form editor: Added the ability to copy and paste annotations or fields. (DOC-1881)
1943
+ Related methods and properties:
1944
+ ```javascript
1945
+ // Execute Copy action (Ctrl+C shortcut).
1946
+ // @param buffer Optional. Data to copy.
1947
+ execCopyAction(buffer?: CopyBufferData): Promise<boolean>
1948
+
1949
+ // Execute Cut action (Ctrl+X shortcut).
1950
+ // @param buffer Optional. Data to cut.
1951
+ execCutAction(buffer?: CopyBufferData): Promise<boolean>
1952
+
1953
+ // Execute Paste action (Ctrl+V shortcut).
1954
+ // @param point Optional. Insert point, note, pageIndex should be specified.
1955
+ execPasteAction(point?: GcSelectionPoint): Promise<boolean>
1956
+
1957
+ // Execute Delete action (DEL shortcut).
1958
+ // @param buffer Optional. Data to delete.
1959
+ execDeleteAction(buffer?: CopyBufferData): Promise<boolean>
1960
+
1961
+ // Returns selected text.
1962
+ getSelectedText(): string
1963
+
1964
+ // Indicates whether the buffer contains any data.
1965
+ get hasCopyData: boolean
1966
+ ```
1967
+
1968
+ - Annotation/Form editor: Added the ability to clone the current annotation/field.
1969
+ ```javascript
1970
+ // Clone annotation or field given by parameter annotation.
1971
+ cloneAnnotation(annotation: AnnotationBase)
1972
+ ```
1973
+
1974
+ - Added text annotation reply tool (opens on the right side of the viewer). To enable, use the addReplyTool() method. (DOC-1884)
1975
+ ```javascript
1976
+ // Enable the Text Annotation Reply Tool.
1977
+ // Note that to enable adding, removing or editing replies, the SupportApi must be configured.
1978
+ // Otherwise, the reply tool opens in read-only mode.
1979
+ // @param sidebarState Optional. Pass 'expanded' value if you wish the Reply tool to be expanded initially. Default value is collapsed.
1980
+ addReplyTool(sidebarState: GcRightSidebarState = 'collapsed')
1981
+
1982
+ // Indicates whether the Reply Tool has been added.
1983
+ get hasReplyTool(): boolean
1984
+
1985
+ // Gets right sidebar object. Use this object if you want to manipulate the right sidebar.
1986
+ get rightSidebar(): GcRightSidebar
1987
+
1988
+ // Usage example:
1989
+ var viewer = new GcPdfViewer("#root");
1990
+ viewer.addReplyTool('collapsed');
1991
+ viewer.rightSidebar.show('expanded', 'reply-tool');
1992
+ viewer.rightSidebar.hide();
1993
+ viewer.rightSidebar.expand();
1994
+ viewer.rightSidebar.collapse();
1995
+ viewer.rightSidebar.toggle();
1996
+ ```
1997
+
1998
+
1999
+ - Added viewer context menu and the ability to customize it. Related properties and methods:
2000
+ ```javascript
2001
+ // By default, the viewer uses its own context menu.
2002
+ // Set this option to true if you want to use the browser context menu.
2003
+ // Please, note that if this option is set to true, some functions of the
2004
+ // context menu will not be available (for example, actions of the Editor and Reply tool).
2005
+ // The default value is false.
2006
+ useNativeContextMenu: boolean;
2007
+
2008
+ // This handler function will be called when the context menu is about to be shown.
2009
+ // Function arguments:
2010
+ // items: DropdownItem[], /* Modify this array if you wish to change the current set of menu items */
2011
+ // mousePosition: {x: number, y: number}, /* The mouse position */
2012
+ // viewer: GcPdfViewer /* The owner GcPdfViewer */
2013
+ // You can use this function to customize the context menu.
2014
+ // Return false if you want to prevent the context menu from opening.
2015
+ onBeforeOpenContextMenu: Function;
2016
+
2017
+ // This handler function will be called when the context menu is about to be hidden.
2018
+ // Function arguments:
2019
+ // viewer: GcPdfViewer /* The owner GcPdfViewer */
2020
+ // Return false if you want to prevent the context menu from closing.
2021
+ onBeforeCloseContextMenu: Function;
2022
+
2023
+ // This code shows how to modify the context menu and add search using Google and Bing search engines:
2024
+ viewer.options.onBeforeOpenContextMenu = function (items, mousePosition, viewer) {
2025
+ var selectedText = viewer.getSelectedText();
2026
+ if (selectedText) {
2027
+ // Remove existent items:
2028
+ items.splice(0, items.length);
2029
+ // Add own menu items:
2030
+ items.push({
2031
+ type: 'button',
2032
+ text: 'Search using Google',
2033
+ onClick: function () {
2034
+ window.open('http://www.google.com/search?q=' + encodeURI(selectedText), '_blank');
2035
+ }
2036
+ });
2037
+ items.push({
2038
+ type: 'button',
2039
+ text: 'Search using Bing',
2040
+ onClick: function () {
2041
+ window.open('https://www.bing.com/search?q=' + encodeURI(selectedText), '_blank');
2042
+ }
2043
+ });
2044
+ }
2045
+ return true;
2046
+ };
2047
+ ```
2048
+
2049
+ - Added editorDefaults option, use this option if you wish to change some default editor values.
2050
+ For example you can change the default sticky note color:
2051
+ ```javascript
2052
+ var viewer = new GcPdfViewer("#root", { editorDefaults: { stickyNote: { color: '#FF0000'} }, supportApi: 'api/pdf-viewer'});
2053
+ // This is the default value for the editorDefaults option:
2054
+ {
2055
+ textAnnotation: {
2056
+ color: '#ffdc38',
2057
+ contents: ''
2058
+ },
2059
+ stickyNote: {
2060
+ color: '#38e5ff',
2061
+ contents: ''
2062
+ }
2063
+ }
2064
+ ```
2065
+
2066
+ - Show the total number of results in the search panel. (DOC-2068)
2067
+
2068
+ ### Changed
2069
+ - Text annotation: group all replies to an annotation together as threaded comments. (DOC-2023)
2070
+ - Form editor: field captions in the list now show field names.
2071
+ - Added the ability to collapse the property panel pages using the chevron icon.
2072
+
2073
+
2074
+ ## [1.1.70] - 11-June-2020
2075
+ ### Fixed
2076
+ - Form editor close icon is not shown when the editor is opened using the toolbar button. (DOC-2048)
2077
+ - Default border width value for new checkbox and radio button fields changed from 1 to 0. (DOC-1978)
2078
+
2079
+ ## [1.1.69] - 31-May-2020
2080
+ ### Fixed
2081
+ - Incorrect sticky note icon appearance. (DOC-2010)
2082
+ - Incorrect file extension when downloading a PDF using the "save" button in IE11
2083
+ if the HTTP response contains content-disposition header in modern format. (DOC-2009)
2084
+ - (Safari) Checkbox field cannot be checked. (DOC-2013)
2085
+ - friendlyFileName option does not affect the file name in the properties dialog. (DOC-2019)
2086
+ - Cannot rename radio button field to same name to create radio button group. (DOC-2025)
2087
+ - Pressing the Tab key on the last form field on a page goes back to first form field in the page
2088
+ instead of the first control on the next page. (DOC-2024)
2089
+ ### Changed
2090
+ - Auto-generated IDs in the Annotation Editor simplified.
2091
+
2092
+ ### Added
2093
+ - Annotations/From editor: added UI notification when opening a PDF that does not allow editing. (DOC-1977)
2094
+ - Added new properties: fileUrl, fileName. (DOC-2019)
2095
+ ```javascript
2096
+ // Gets the URI that was used to open the document.
2097
+ // Returns an empty string when the document was opened from binary data.
2098
+ get fileUrl(): string
2099
+
2100
+ // Gets the file name that was used to open the document.
2101
+ // The file name is determined as follows:
2102
+ // - if a local file was opened using the "Open File" dialog, returns the local file name;
2103
+ // - else, if a new file was created using the "newDocument" method, returns the argument passed to that method;
2104
+ // - else, if options.friendlyFileName is not empty, returns its value;
2105
+ // - else, returns the name generated from the URL passed to the "open" method.
2106
+ get fileName(): string
2107
+
2108
+ // Usage example:
2109
+ viewer.onAfterOpen.register(function() {
2110
+ alert("Opened document, fileUrl: " + viewer.fileUrl + ", fileName: " + viewer.fileName);
2111
+ });
2112
+ viewer.open('/Annotations.pdf');
2113
+ ```
2114
+ ## [1.1.66] - 08-May-2020
2115
+ ### Fixed
2116
+ - No response when the "download" button is clicked in IE11. (DOC-2007)
2117
+ - FreeText annotation's text box size is incorrect when annotation
2118
+ is updated using the annotation editor in some cases. (DOC-1990)
2119
+
2120
+ ## [1.1.65] - 07-May-2020
2121
+ ### Fixed
2122
+ - Filename is missing the .pdf extension when the "download" tool is used to download the PDF. (DOC-2006)
2123
+
2124
+ ## [1.1.64] - 05-May-2020
2125
+ ### Fixed
2126
+ - Cannot rename a field if its name ends with an underscore and a digit. (DOC-2001)
2127
+ - Incorrect default field names. (DOC-2002)
2128
+ - Method 'scrollAnnotationIntoView' scrolls the view even if the annotation is already. (DOC-2003)
2129
+ ### Changed
2130
+ - Default value for new text fields' border color changed to black. (DOC-1978)
2131
+
2132
+ ## [1.1.63] - 04-May-2020
2133
+ ### Fixed
2134
+ - Tab doesn't work if you want to focus the field from last to first field. (DOC-1987)
2135
+ - The size property of FileAttachment annotation is incorrect after undo. (DOC-1988)
2136
+ - Some PDFs are displayed incorrectly. (DOC-1990)
2137
+ - File attachments still show after deleting. (DOC-1973)
2138
+ - "Unknown Widget" is shown after adding a text field with a duplicate name. (DOC-1991)
2139
+ - Deleting a form field could delete just the widget, leaving the field. (DOC-1991)
2140
+ - The Combs of Comb text field are not displayed. (DOC-1989)
2141
+ - Form field values are not saved when the field's owner is another field. (DOC-1997)
2142
+ - Forecolor applies to border as well. (DOC-1963)
2143
+ - Signature is not visible in the thumbnail. (DOC-2000)
2144
+ ### Changed
2145
+ - SupportApi: show an error message when an unlicensed copy of GcPdf is used. (DOC-1818)
2146
+ - 'Foreground color' property name changed to 'Forecolor' for Text Fields. (DOC-1964)
2147
+
2148
+ ## [1.1.62]
2149
+ ### Fixed
2150
+ - Problem with updating form fields tab order. (DOC-1982)
2151
+ - Fields reordering issues. (DOC-1984)
2152
+ - Default value for Text Field border width changed to 1. (DOC-1978)
2153
+ - The default zoom mode becomes "Fit to page" when option restoreViewStateOnLoad is set to false. (DOC-1981)
2154
+ ### Added
2155
+ - userData option: Arbitrary data associated with the viewer. This data is sent to the server when the document is saved.
2156
+
2157
+ ## [1.1.61]
2158
+ ### Fixed
2159
+ - Incorrect rendering of redact annotations in some PDFs. (DOC-1976)
2160
+ - Text field border width controls in panel not working correctly. (DOC-1979)
2161
+
2162
+ ### Changed
2163
+ - Pdf viewer migrated from Preact to React. (DOC-1886)
2164
+
2165
+ ## [1.1.60]
2166
+ ### Fixed
2167
+ - Incorrect signature rendering. (DOC-1974)
2168
+ - The thumbnail is not focused. (DOC-1972)
2169
+ - addDocumentListPanel method: fixed problem when documents list opened inside WebForms application.
2170
+ - event onBeforeOpenFile is not raised when document is opened using ReportDocumentMoniker instance.
2171
+ ### Added
2172
+ - new method: loadDocumentList() // Load updated document list into document list panel.
2173
+ - new option: author // Optional. Default author name. The option is used by Annotation Editor as default value for 'author' field.
2174
+
2175
+ ## [1.1.59]
2176
+ ### Fixed
2177
+ - Focused property element is not retained after property change. (DOC-1912)
2178
+ - (Support API) Error message is shown when opening a password-protected file on server. (DOC-1946)
2179
+
2180
+ ## [1.1.57]
2181
+ ### Fixed
2182
+ - Text field background color value is not loaded into property list. (DOC-1872)
2183
+ - FontFamily is not applied to text fields. (DOC-1861)
2184
+ - Text justification is not applied to a text field widget when a modified document is saved and loaded into the viewer again. (DOC-1873)
2185
+ - Focused property element is not retained after property change. (DOC-1912)
2186
+ - Some GcPdfViewer buttons fire form submit when running inside a WebForms application. (DOC-1922)
2187
+ - Fixed problem with resolving download action for Web Api 2 (WebForms) routing.
2188
+ - Pan tool is not activated in some cases.
2189
+ ### Added
2190
+ - Text fields: added support for font color and font size.
2191
+ - Added new method saveChanges: uploads local changes to server without file download:
2192
+ ```javascript
2193
+ saveChanges(): Promise<boolean>
2194
+ ```
2195
+ - Added new method submitForm: submits form to the server.
2196
+ ```javascript
2197
+ submitForm(submitUrl: string): void
2198
+ ```
2199
+ - Added new property: canEditDocument // boolean, indicates whether opened document can be edited using SupportApi.
2200
+ - Localization for progress dialog, property list, thumbnails.
2201
+ ### Changed
2202
+ - Returned value for method save() changed from void to Promise<boolean>
2203
+
2204
+ ## [1.1.56]
2205
+ ### Fixed
2206
+ - Incorrect thumbnail scale when browser zoom level changed. (DOC-1869)
2207
+ ### Changed
2208
+ - Properties dialog: close button style updated, added missed translation keys
2209
+
2210
+ ## [1.1.55]
2211
+ ### Fixed
2212
+ - Fixed: properties panel does not collapse when button 'back to view tools' clicked in some cases.
2213
+ - ColorUtils, hexToRgb: fixed problem with incorrect color conversion when color argument is specified using rgb model.
2214
+ ### Added
2215
+ - Properties dialog localization.
2216
+
2217
+ ### Changed
2218
+ - Properties dialog style updated.
2219
+ - Annotation/form editor sidebar behavior updated.
2220
+
2221
+ ## [1.1.54]
2222
+ ### Fixed
2223
+ - Link annotation can be navigated in editor mode. (DOC-1848)
2224
+ - Sidebar pinned state is not retained when switching from editor mode to viewer mode. (DOC-1849)
2225
+ ### Added
2226
+ - Localization support. (DOC-993)
2227
+ - Display error message when document size exceeds SupportApi server size limit.
2228
+ - Added ability to edit basic Link annotation properties. (DOC-1847)
2229
+ - Added new property: viewer.zoomValue // number, gets/sets the current zoom percentage level.
2230
+
2231
+ ## [1.1.53]
2232
+ ### Fixed
2233
+ - Searching for text with whole word on does not work in some cases. (DOC-1824)
2234
+ ### Added
2235
+ - Added ability to open annotation or form editor when no document is loaded. (DOC-1804)
2236
+ - supportApi option: added ability to suppress error and information messages about Support API availability. (DOC-1806)
2237
+ Example:
2238
+ ```javascript
2239
+ var viewer = new GcPdfViewer('#root', {supportApi: {apiUrl: 'api/pdf-viewer', suppressInfoMessages: true, suppressErrorMessages: true }});
2240
+ ```
2241
+ - Added new property:
2242
+ ```javascript
2243
+ get hasDocument(): boolean // Returns true if a document is loaded
2244
+ ```
2245
+ - Added the ability to change annotation printable flag. (DOC-1841, DOC-1840)
2246
+ - Text fields: added 'Required' property.
2247
+ - Delete existing, or add a new empty page. (DOC-1699)
2248
+ - Added confirmation for large attachments (> 4MB). (DOC-1745)
2249
+ - Added ability to hide signature widgets when 'hide-annotations' button is checked.
2250
+ - Added new option coordinatesOrigin: the coordinate system into which objects are transformed before they are displayed.
2251
+ Possible values are 'TopLeft' and 'BottomLeft'. Default value is 'TopLeft'. This option is used by Annotation/Form editors.
2252
+ Example:
2253
+ ```javascript
2254
+ var viewer = new GcPdfViewer("#root", { coordinatesOrigin: 'BottomLeft', supportApi:"api/gcpdfviewer" });
2255
+ ```
2256
+ - Added new option watermarkBanner: specifies watermark text which will be shown at the bottom/right corner of the viewer.
2257
+ Example:
2258
+ ```javascript
2259
+ var viewer = new GcPdfViewer('#root', { watermarkBanner: "Document Solutions PDF Viewer v{{version}}." });
2260
+ ```
2261
+ - Added new event onAfterOpen: occurs when a document has been opened.
2262
+ Example:
2263
+ ```javascript
2264
+ var viewer = new GcPdfViewer('#root');
2265
+ viewer.onAfterOpen.register(function() {
2266
+ console.log("Document opened.");
2267
+ });
2268
+ viewer.open('Test.pdf');
2269
+ ```
2270
+ - Added Signature annotation verification (available only when supportApi option is set). (DOC-999)
2271
+ - Added Form editor. (DOC-1597)
2272
+ - Added Annotation Editor. (DOC-1581, DOC-1582, DOC-1093, DOC-1589, DOC-1588, DOC-1579, DOC-1591, DOC-1599, DOC-1590, DOC-1592, DOC-1580, DOC-1585)
2273
+ - Added client API to edit annotations programmatically. (DOC-1587)
2274
+ - New properties:
2275
+ ```javascript
2276
+ // Gets all document annotations.
2277
+ get annotations(): Promise<{ pageIndex: number, annotations: AnnotationBase[] }[]>
2278
+
2279
+ // Returns true if document has been changed by user.
2280
+ get hasChanges(): boolean
2281
+
2282
+ // Gets a value indicating whether the pdf viewer can undo document changes.
2283
+ get hasUndoChanges: boolean
2284
+
2285
+ // Gets a value indicating whether the pdf viewer can redo document changes.
2286
+ get hasRedoChanges: boolean
2287
+
2288
+ // Gets current undo changes index.
2289
+ get undoIndex(): number
2290
+
2291
+ // Gets total undo changes count.
2292
+ get undoCount(): number
2293
+
2294
+ // Gets or sets more precise Edit mode for Annotations or Form editor.
2295
+ get/set editMode(): EditMode
2296
+
2297
+ // Gets or sets the layout mode (Viewer, AnnotationEditor or FormEditor).
2298
+ // Default layout mode is Viewer.
2299
+ get/set layoutMode(): LayoutMode
2300
+
2301
+ // Defines toolbar layout for different viewer modes: viewer, annotationEditor,formEditor.
2302
+ // Usage example:
2303
+ // viewer.toolbarLayout.viewer.default = ["open", "save"];
2304
+ // viewer.toolbarLayout.annotationEditor.default = ["open", "save", "$split", "new-document", "edit-ink", "edit-text"];
2305
+ // viewer.applyToolbarLayout();
2306
+ get toolbarLayout(): GcPdfViewerToolbarLayout
2307
+ ```
2308
+ - New methods:
2309
+ ```javascript
2310
+ // Call this method in order to apply changed toolbarLayout.
2311
+ applyToolbarLayout()
2312
+
2313
+ // Add annotation to document.
2314
+ addAnnotation(pageIndex: number, annotation: AnnotationBase): Promise<boolean>
2315
+
2316
+ // Update annotation.
2317
+ updateAnnotation(pageIndex: number, annotation: AnnotationBase): Promise<boolean>
2318
+
2319
+ // Remove annotation from document.
2320
+ removeAnnotation(pageIndex: number, annotationId: string): Promise<boolean>
2321
+
2322
+ // Select annotation for editing.
2323
+ // @param pageIndex Zero-based page index.
2324
+ // @param annotation Id or Annotation object itself.
2325
+ selectAnnotation(pageIndex: number, annotation: AnnotationBase | string): Promise<boolean>
2326
+
2327
+ // Reset annotation selection.
2328
+ unselectAnnotation()
2329
+
2330
+ // Scroll annotation into view.
2331
+ scrollAnnotationIntoView(pageIndex: number, annotation: AnnotationBase)
2332
+
2333
+ // Undo last document change.
2334
+ undoChanges()
2335
+
2336
+ // Redo next document change.
2337
+ redoChanges()
2338
+ ```
2339
+ ```javascript
2340
+
2341
+ // Changes coordinate system origin for a rectangle given by parameter
2342
+ // bounds and returns rectangle value converted to a new coordinate system origin;
2343
+ // @param pageIndex Page index (Zero based).
2344
+ // @param bounds Bounds array: [x1, y1, x2, y2].
2345
+ // @param srcOrigin Source coordinate system origin. Possible values are: 'TopLeft' or 'BottomLeft'.
2346
+ // @param destOrigin Destination coordinate system origin. Possible values are: 'TopLeft' or 'BottomLeft'.
2347
+ changeBoundsOrigin(pageIndex: number, bounds: number[],
2348
+ srcOrigin: 'TopLeft' | 'BottomLeft', destOrigin: 'TopLeft' | 'BottomLeft'): number[]
2349
+
2350
+ // Returns PDF page's view port information.
2351
+ // @param pageIndex Zero-based page index.
2352
+ // @returns object containing following fields:
2353
+ // {
2354
+ // viewBox: number[], // Original page bounds: [x1, y1, x2, y2].
2355
+ // // If you want to know original page's width/height, you can get it using viewBox values:
2356
+ // // var pageWidth = viewBox[2] - viewBox[0];
2357
+ // // var pageHeight = viewBox[3] - viewBox[1];
2358
+ // width: number, // Current width of the page in user space (scale and rotation values are applied),
2359
+ // height: number, // Current height of the page in user space (scale and rotation values are applied)
2360
+ // scale: number, // Active scale value
2361
+ // rotation: number, // Active rotation value
2362
+ // }
2363
+ getViewPort(pageIndex: number)
2364
+
2365
+ // Update set of annotations which is located on one page.
2366
+ // @param pageIndex
2367
+ // @param annotations
2368
+ // @returns Promise, resolved by updated annotation objects.
2369
+ public updateAnnotations(pageIndex: number, annotations: AnnotationBase | AnnotationBase[]): Promise<{ pageIndex: number, annotations: AnnotationBase[] }>
2370
+
2371
+ // Update radio buttons group given by parameter fieldName with new field value.
2372
+ // @param fieldName Grouped radio buttons field name
2373
+ // @param newValue New fieldValue
2374
+ // @param skipPageRefresh boolean. Set to true if you don't need to update page display. Default is false.
2375
+ // @returns Promise, resolved by boolean value, true - radio buttons updated, false - some error occurred.
2376
+ updateGroupFieldValue(fieldName: string, newValue: string, skipPageRefresh?: boolean): Promise<boolean>
2377
+
2378
+ // Find annotation(s) within opened document.
2379
+ // Returns promise which will be resolved with search results.
2380
+ findAnnotation(findString: string, findParams?: { findField?: 'id' | 'title' | 'contents' | 'fieldName' | string,
2381
+ pageNumberConstraint?: number,
2382
+ findAll?: boolean
2383
+ }): Promise<{ pageNumber: number, annotation: AnnotationBase }[]>
2384
+
2385
+ // Example: find annotation with id '2R':
2386
+ viewer.findAnnotation("2R").then(function(annotation) {  if(annotation)    alert('Annotation found.');  else    alert('Annotation not found.');  });
2387
+
2388
+ // Example: find annotation with title 'Some Title':
2389
+ viewer.findAnnotation("Some Title", {findField: 'title'}).then(function(annotation)  {    } );
2390
+
2391
+ // Example: find all field widgets with name field1:
2392
+ viewer.findAnnotation("field1", {findField: 'fieldName', findAll: true}).then(function(dataArray) {
2393
+ if(dataArray.length > 0) {
2394
+ alert('Found ${dataArray.length} fields, value of the first field is ${dataArray[0].annotation.fieldValue}');
2395
+ } else {
2396
+ alert('field1 not found.');
2397
+ }
2398
+ });
2399
+ ```
2400
+ - Added additional user-friendly page navigation methods. (DOC-1612)
2401
+ ```javascript
2402
+ // Navigate page with specific page number.
2403
+ goToPageNumber(pageNumber: number)
2404
+
2405
+ // Navigate first page.
2406
+ goToFirstPage()
2407
+
2408
+ // Navigate previous page.
2409
+ goToPrevPage()
2410
+
2411
+ // Navigate next page.
2412
+ goToNextPage()
2413
+
2414
+ // Navigate last page.
2415
+ goToLastPage()
2416
+ ```
2417
+ ```javascript
2418
+ // Scroll page into view.
2419
+ scrollPageIntoView(params: { pageNumber: number; destArray?: any[]; allowNegativeOffset?: boolean; })
2420
+ // @param params object, with parameters:
2421
+ // pageNumber - number. Page number.
2422
+ // destArray - optional. Array with destination information:
2423
+ // destArray[0] - not used, can be null, pdf page reference (for internal use only).
2424
+ // destArray[1] - contains destination view fit type name:
2425
+ // { name: 'XYZ' } - Destination specified as upper-left corner point and a zoom factor.
2426
+ // { name: 'Fit' } - Fits the page into the window
2427
+ // { name: 'FitH' } - Fits the width of the page into the window
2428
+ // { name: 'FitV' } - Fits the height of the page into a window.
2429
+ // { name: 'FitR' } - Fits the rectangle specified by its upper-left and lower-right corner points into the window.
2430
+ // { name: 'FitB' } - Fits the bounding box into the window (fits the rectangle containing all visible elements on the page into the window).
2431
+ // { name: 'FitBH' } - Fits the width of the bounding box into the window.
2432
+ // { name: 'FitBV' } - Fits the height of the bounding box into the window.
2433
+ // destArray[2] - x position offset
2434
+ // destArray[3] - y position offset (note, the lower-left corner of the page is the origin of the coordinate system (0, 0))
2435
+ // destArray[4] - optional, can be null, contains bounding box width when view name is FitR, contains scale when view name is XYZ,
2436
+ // destArray[5] - optional, can be null, contains bounding box height when view name is FitR
2437
+ // @param allowNegativeOffset optional, boolean, true when negative page offset should be allowed.
2438
+ //
2439
+ // Examples:
2440
+ // Scroll page into view:
2441
+ viewer.scrollPageIntoView( { pageNumber: 10 } )
2442
+ // Scroll annotation into view, example:
2443
+ var rectangle = annotation.rect;
2444
+ var pagePosX = rectangle[0];
2445
+ var pagePosY = rectangle[1] + Math.abs(rectangle[3] - rectangle[1]);
2446
+ var pageScale = viewer.zoom.mode === ZoomMode.Value ? viewer.zoom.factor / 100.0 || 1.0;
2447
+ viewer.scrollPageIntoView({ pageNumber: pageIndex + 1, destArray: [null, { name: "XYZ" }, pagePosX, pagePosY, pageScale] });
2448
+ ```
2449
+ - Added editor shortcuts:
2450
+ Del: Delete selected annotation.
2451
+ Esc: Unselect annotation.
2452
+ Ctrl Z: Undo changes.
2453
+ Ctrl Shift Z: Redo changes.
2454
+ Ctrl Y: Redo changes.
2455
+
2456
+ ## [1.0.44]
2457
+
2458
+ ### Fixed
2459
+ - Incomplete form gets submitted when the PDF form has multiple pages. (DOC-1688)
2460
+
2461
+ ### Added
2462
+ - Document security: added support for user access restrictions which is defined in PDF document
2463
+ (print/text copying/acro-form filling).
2464
+ - Document Properties dialog: added 'Security' tab. (DOC-1372)
2465
+
2466
+ ## [1.0.42]
2467
+
2468
+ ### Fixed
2469
+ - Initial view mode does not set to 'Continuous View' in some cases. (DOC-1488)
2470
+ - Current page thumbnail does not scroll into view. (DOC-1435)
2471
+
2472
+ ### Changed
2473
+ - Outline panel: button title changed to "Bookmarks".
2474
+ - Outline panel: added ability to collapse outline items.
2475
+ - Attachments panel: added ability to open PDF attachments in the viewer instead of downloading the file.
2476
+
2477
+ ### Added:
2478
+ - New event onBeforeOpen: occurs immediately before document open.
2479
+ ```javascript
2480
+ // Usage example:
2481
+ var viewer = new GcPdfViewer('#root');
2482
+ viewer.onBeforeOpen.register(function(args) {
2483
+ alert("A new document will be opened,\n payload type(binary or url): " + args.type +",\n payload(bytes or string): " + args.payload);
2484
+ });
2485
+ viewer.open('Test.pdf');
2486
+ ```
2487
+
2488
+ ## [0.7.29]
2489
+
2490
+ ### Fixed
2491
+ - Text outside of the document cannot be selected. (DOC-1413)
2492
+ - Next page button does not scroll to the page if part of it is already visible. (DOC-1414)
2493
+ - The icon button in navigation panel don't fully display in edge browser. (DOC-1398)
2494
+ - (iOS) Document content disappears when changing zoom. (DOC-1408)
2495
+ - When a form is posted, incorrect values are sent for some radio buttons. (DOC-1388)
2496
+
2497
+ ## [0.7.28]
2498
+
2499
+ ### Fixed
2500
+ - When a form is posted, incorrect names are sent for combo and list boxes. (DOC-1388)
2501
+
2502
+ ## [0.7.27]
2503
+
2504
+ ### Added
2505
+ - Document properties and fonts dialog (toolbar button name 'doc-properties'). (DOC-1339)
2506
+
2507
+ ## [0.7.24]
2508
+
2509
+ ### Fixed
2510
+ - Thumbnails show incorrectly for non-standard page sizes. (DOC-1346)
2511
+ - Incorrect page orientation in print preview in some cases. (DOC-1347)
2512
+
2513
+ ## [0.7.23]
2514
+
2515
+ ### Fixed
2516
+ - The zoom out button disappears in Internet explorer. (DOC-1333)
2517
+ - License icon does not show fully in Edge browser. (DOC-1302)
2518
+ - Radio button and checkbox cannot be selected in Edge browser. (DOC-1336)
2519
+ - FreeText callout lines are not shown when the annotation's appearance is specified by an appearance stream. (DOC-1317)
2520
+
2521
+ ### Changed
2522
+ - If a FreeText annotation has an appearance stream, but it includes text that requires an external CMap
2523
+ that cannot be located, the text specified in the annotation is shown instead of the appearance stream. (DOC-1317)
2524
+
2525
+ ### Added
2526
+ - Added the ability to hide FreeText annotations using the 'Hide Annotations' button.
2527
+ - Added support for CID-keyed fonts with external CMap tables. (DOC-1328)
2528
+ New options:
2529
+ - cMapUrl - in some cases, predefined character map files are needed to show CJK text output.
2530
+ The cMapUrl option specifies the URL of the folder where the CMap files are located. The default value is 'resources/bcmaps/'.
2531
+ A CMap specifies the mapping from character codes to character selectors, it is used to extract Unicode text from a PDF document.
2532
+ In most cases the CMaps are fully embedded in the PDF document, but sometimes a CMap in a PDF is specified by a PDF name object, where this name identifies a predefined CMap that should be known to the PDF processor.
2533
+ The compressed predefined CMaps that are included with GcPdfViewer are located in the 'resources/bcmaps/' folder, and have the .bin extension.
2534
+ - cMapPacked - if true, the viewer will look for the compressed version of the CMap files (with the extension '.bin'), otherwise the viewer will look for unpacked CMap files without extension. The default value is true.
2535
+
2536
+ ## [0.7.21]
2537
+
2538
+ ### Fixed
2539
+ - Fixed the Zoom button in IE. (COREUI-14)
2540
+ - Fixed the Clear button in SearchPanel. (ARJ-650)
2541
+ - PDF content is not displayed correctly. (DOC-1317)
2542
+
2543
+ ### Changed
2544
+ - Zoom In/Out buttons behavior correction: The zoom step is now 10% for zoom factors below 100%,
2545
+ and 25% for zoom factors above 100%. Also added 150% zoom value. (ARJ-606)
2546
+
2547
+ ## [0.7.20]
2548
+
2549
+ ### Added
2550
+ - Added npmjs package. (DOC-1301)
2551
+
2552
+ ### Fixed
2553
+ - Navigation toolbar buttons are not working properly when document is opened using Ctrl+O.
2554
+
2555
+ ## [0.7.19]
2556
+
2557
+ ### Fixed
2558
+ - License error message: fixed problem with icon, added line breaks. (DOC-1296)
2559
+ - License error message shown twice in some cases. (DOC-1297)
2560
+ - Cannot edit List box form control in GcPdfViewer. (DOC-1235)
2561
+ - 'Go To Last' button hidden by default in "Toggle FullScreen" view. (DOC-1232)
2562
+ - Search with "whole word" option result is not correct when it is a form data. (DOC-1233)
2563
+ - Highlight area is not correct in some scene. (DOC-1257)
2564
+ - Prompt "invalid license key" when I set evaluation 365 days key for GcPdfViewer. (DOC-1297)
2565
+ - The appearance of the watermark is not correct. (DOC-1295)
2566
+ - Script gcpdfviewer.vendor.js is no longer required
2567
+
2568
+ ## [0.7.18]
2569
+
2570
+ ### Added
2571
+ - Licensing behavior updated. (DOC-1282)
2572
+
2573
+ ## [0.7.17]
2574
+
2575
+ ### Fixed
2576
+ - 'Hide-annotations' does not hide Normal appearance stream of the redact annotation. (DOC-1283)
2577
+
2578
+ ## [0.7.16]
2579
+
2580
+ ### Added
2581
+ - Support Normal/Rollover/Down appearance streams for REDACT annotations. (DOC-1283)
2582
+
2583
+ ## [0.7.15]
2584
+
2585
+ ### Added
2586
+ - GcPdfViewer does not work when scripts loaded from the head tag. (DOC-1286)
2587
+
2588
+ ## [0.7.14]
2589
+
2590
+ ### Added
2591
+ - Added licensing. (DOC-1282)
2592
+ Example of how to create GcPdfViewer with product license:
2593
+ ```javascript
2594
+ <script>
2595
+ // Add your license
2596
+ GcPdfViewer.LicenseKey = 'xxx';
2597
+ // Add your code
2598
+ window.onload = function(){
2599
+ const viewer = new GcPdfViewer("#viewer");
2600
+ viewer.addDefaultPanels();
2601
+ }
2602
+ </script>
2603
+ ```
2604
+ - Added ability to track previously opened PDF file.
2605
+ Note that only files opened from URI can be tracked (not from binary data).
2606
+ Use restoreViewStateOnLoad option in order to restore a previously opened file on next viewer load:
2607
+ ```javascript
2608
+ { restoreViewStateOnLoad: true }
2609
+ // or
2610
+ { restoreViewStateOnLoad: { trackFile: true } }
2611
+ ```
2612
+
2613
+ ## [0.7.13]
2614
+ ### Fixed
2615
+ - Sidebar animation during restore view state disabled
2616
+ - Document title toolbar item - hover style removed
2617
+
2618
+ ## [0.7.12]
2619
+
2620
+ ### Fixed
2621
+ - Restore previously opened sidebar correction: do not expand disabled sidebar panel on viewer load.
2622
+ - Search character * in PDF viewer the search result is not correct. (DOC-1026)
2623
+ - Correction: Search highlight is not fully visible when it is located at a page bottom edge
2624
+ - Fixed regression problem with double click selection (added in build 0.7.6)
2625
+
2626
+ ### Changed
2627
+ Double-click time increased from 300ms to 500ms.
2628
+
2629
+ ## [0.7.11]
2630
+
2631
+ ### Fixed
2632
+ - Clear search highlight when search panel closed
2633
+ - Focus search query input when search panel opened
2634
+ - Restore previously opened sidebar panel on document load (see restoreViewStateOnLoad option).
2635
+ - There are no response when click "More Results" button after search text. (DOC-1178)
2636
+
2637
+ ## [0.7.10]
2638
+
2639
+ ### Fixed
2640
+ - Popup title appearance correction: underline now hidden when popup content is empty.
2641
+ - Fixed: The modification date (if it is available) is not displayed in the popup correctly.
2642
+ - Z order of redact annotation changed after loaded by JS PDF Viewer. (DOC-1177)
2643
+
2644
+ ## [0.7.9]
2645
+
2646
+ ### Added
2647
+ - New toolbar button: 'About'.
2648
+ - Redact annotations. (DOC-1206)
2649
+ - New option: hideAnnotationTypes - specifies annotation types which will be hidden when the 'hide-annotations' button is checked.
2650
+ ```javascript
2651
+ // Default value:
2652
+ ['Text', 'FreeText', 'Line', 'Square', 'Circle', 'Polygon', 'Polyline', 'Ink', 'Popup',
2653
+ 'Sound', 'Polygon', 'RadioButton', 'Checkbox', 'PushButton', 'Choice', 'TextWidget', 'Redact']
2654
+ // Possible values are:
2655
+ ['Text', 'Link', 'FreeText', 'Line', 'Square', 'Circle', 'Polygon', 'Polyline', 'Ink', 'Popup', 'FileAttachment',
2656
+ 'Sound', 'ThreadBead', 'RadioButton', 'Checkbox', 'PushButton', 'Choice', 'TextWidget', 'Redact']
2657
+ // or 'All' or 'None'
2658
+ // Examples:
2659
+ let options = { hideAnnotationTypes: 'All' }; // Hide all possible annotations.
2660
+ let options = { hideAnnotationTypes: ['PushButton', 'Redact'] }; // Hide Push button and Redact annotations only.
2661
+ ```
2662
+ - New property: version - returns current viewer version.
2663
+ - Added loading icon indicator for doc-title toolbar item.
2664
+
2665
+ ## [0.7.8]
2666
+
2667
+ ### Added
2668
+ - Added new toolbar button: Hide annotations, button key is 'hide-annotations',
2669
+ use this button if you wish to preview original document without annotations,
2670
+ this can be useful when you view a redacted document.
2671
+ Annotations that are affected by the 'hide-annotations' button:
2672
+ Redact, Sound, Text, FreeText, Line, Square, Circle, Polyline, Ink, Polygon, RadioButton, Checkbox, PushButton, Choice.
2673
+ Annotations that are not affected by the 'hide-annotations' button:
2674
+ FileAttachment, Article thread bead, Link, Signature, Caret, Highlight, Underline, Stamp, Squiggly, StrikeOut, Popup.
2675
+
2676
+ ## [0.7.7]
2677
+
2678
+ ### Added
2679
+ - Support redact annotations. (DOC-1206)
2680
+
2681
+ ## [0.7.6]
2682
+
2683
+ ### Added
2684
+ - Display shortcuts in toolbar button tooltips.
2685
+
2686
+ ### Fixed
2687
+ - Text still selected after mouse click empty area. (DOC-1182)
2688
+ - Highlight area is not correct when search text contains "-". (DOC-1199)
2689
+
2690
+ ## [0.7.5]
2691
+
2692
+ ### Fixed
2693
+ - Fixed regression issue with selected text copy feature using Ctrl+C (added in build 0.7.3)
2694
+
2695
+ ## [0.7.4]
2696
+
2697
+ ### Fixed
2698
+ - Thumbnails panel performance with large pdf. (DOC-1231)
2699
+
2700
+ ## [0.7.3]
2701
+
2702
+ ### Fixed
2703
+ - restoreViewStateOnLoad option fix:
2704
+ Now the zoom is restored immediately without waiting for the document load.
2705
+ Note that trackScale option should be set to true: `restoreViewStateOnLoad: {trackScale: true}`
2706
+ - R/Shift+R shortcuts do not work after clicking on toolbar/sidebar.
2707
+
2708
+ ## [0.7.2]
2709
+
2710
+ ### Added
2711
+ - New method applyOptions: Use this method in order to propagate changed options. Example:
2712
+ ```javascript
2713
+ var viewer = new GcPdfViewer(selector);
2714
+ viewer.options.buttons = ['print', 'rotate'];
2715
+ viewer.applyOptions();
2716
+ ```
2717
+
2718
+ ### Fixed
2719
+
2720
+ - Unable to set viewer buttons using the 'buttons' option.
2721
+ - The Open method does not load PDF file in IE11.
2722
+ - Appearance for interactive checkbox and radio buttons updated.
2723
+
2724
+ ## [0.7.1]
2725
+
2726
+ ### Changed
2727
+ - Now pdf viewer throws exception when trying to load a large file (>1000 pages) without specifying background worker (see workerSrc option). (DOC-1230)
2728
+
2729
+ ## [0.7.0]
2730
+
2731
+ ### Fixed
2732
+ - Viewer hangs when a large linearized PDF is loaded. (DOC-1230)
2733
+
2734
+ ## [0.6.9]
2735
+
2736
+ ### Fixed
2737
+ - Fixed: thumbnails not shown in IE11.
2738
+ - Fix regression bug with thumbnails panel activation (added in build 0.6.7).
2739
+
2740
+ ## [0.6.8]
2741
+
2742
+ ### Fixed
2743
+ - Button boundary and background color are not visible. (DOC-1207)
2744
+ - Performance issues when using mouse wheel when a large (>1000 pages) PDF is loaded. (DOC-1194)
2745
+
2746
+ ## [0.6.7]
2747
+
2748
+ ### Changed
2749
+ - Font icons replaced by svg icons for toolbar and sidebar.
2750
+ - Show file name in the viewer. (DOC-1191)
2751
+
2752
+ ## [0.6.6]
2753
+
2754
+ ### Fixed
2755
+ - Form data can not be searched. (DOC-1173)
2756
+ - Default toolbar buttons order changed:
2757
+ ```javascript
2758
+ ['open', '$navigation', '$split', 'textselection', 'pan', '$zoom', '$fullscreen', 'rotate', 'view-mode', 'theme-change', 'print', 'save', 'doc-title']
2759
+ ```
2760
+
2761
+ ## [0.6.5]
2762
+
2763
+ ### Fixed
2764
+ - Form fields not editable on loading PDF acroform in IE/IE Edge. (DOC-1184)
2765
+ - ReportListPanel renamed to DocumentListPanel
2766
+ - Cannot see the choice of list box in print preview clearly. (DOC-1170)
2767
+ - Extra outline when text widget annotation is focused removed. (DOC-1171)
2768
+ - Preparing document for printing dialog invoked by "Ctrl + P" hotkey is different from which invoked by push "Print Document" button in the toolbar. (DOC-1181)
2769
+ - Cannot quit "Loading" state after cancel input password of the pdf file. (DOC-1198)
2770
+ - "Ctrl + P" hot-key can not take effect if push "Print Document" and cancel print before. (DOC-1185)
2771
+ - Text still selected after mouse click empty area in the page. (DOC-1182)
2772
+ - Password value show after load pdf which has text field that set password property to true. (DOC-1186)
2773
+ - Click outline node has no response which action is navigate to a web site. (DOC-1187)
2774
+ - Always show "Continuous View" tool tip no matter it is in single page view mode or continuous view mode. (DOC-1179)
2775
+ - Some form data lost after loaded by JS PDF viewer. (DOC-1169)
2776
+ - The search dialog is replaced by Search Panel in sidebar. (DOC-1180)
2777
+ - Can not select text in forms on IE browser. (DOC-1202)
2778
+ - Text style is not correct in search result. (DOC-1201)
2779
+ - Can not see attachments after load attach pdf file which has attachments files. (DOC-1188)
2780
+ - Can not go to destination of the outline node correctly. (DOC-1193)
2781
+ - Highlight area is not correct when search text contains "-". (DOC-1199)
2782
+ - Highlight area is not correct in certain scene. (DOC-1200)
2783
+ - Page Size is not correct when print. (DOC-1192)
2784
+
2785
+ ### Changed
2786
+ - restoreViewStateOnLoad option: added ability to track theme.
2787
+
2788
+ ### Added
2789
+ - New option documentListUrl: Url to document list service used by DocumentListPanel
2790
+ The service should return json string with available documents array, e.g.: ["pdf1.pdf", "pdf2.pdf"].
2791
+ ```csharp
2792
+ // ASP .NET service back-end action sample :
2793
+ [HttpGet("documents")]
2794
+ public ActionResult Documents()
2795
+ {
2796
+ var doucmentsFolder = new System.IO.DirectoryInfo("pdfdocs");
2797
+ var files = from file in doucmentsFolder.EnumerateFiles("*.pdf") select file.Name;
2798
+ return new ObjectResult(files.ToArray());
2799
+ }
2800
+ ```
2801
+
2802
+ ## [0.6.4]
2803
+
2804
+ ### Added
2805
+ - Page title will now be shown under thumbnail.
2806
+ - New toolbar buttons: text selection/pan
2807
+ - Current article thread indication
2808
+ - pdf.js updated to latest version:
2809
+ - Added CaretAnnotation support
2810
+ - SVG renderer enhanced (see renderer option)
2811
+ - Show modification date for annotation pop-ups if it is available and can be parsed correctly (date string should be in ISO 8601 standard)
2812
+ - Added option theme: Use this option to change the default viewer theme.
2813
+ ```javascript
2814
+ // Example:
2815
+ var viewer = new GcPdfViewer(selector, { renderInteractiveForms: true, theme: 'themes/light-blue' });
2816
+ ```
2817
+ - Added option restoreViewStateOnLoad: Track viewer state changes, save state to local storage and restore on first load. Set this option to false if you wish to disable viewer state changes tracking.
2818
+ - Added method setTheme(): use to change the active theme.
2819
+ - Added property rotation: number, use to get/set the current document rotation in degrees.
2820
+ - Added even onError: indicates error event.
2821
+ ```javascript
2822
+ // Event arguments:
2823
+ { message: string, source: GcPdfViewer, type: 'open' | string, exception?: any }
2824
+ // Usage example:
2825
+ var viewer = new GcPdfViewer("#root", { keepFileData: true });
2826
+ viewer.onError.register(handleError);
2827
+ function handleError(eventArgs) {
2828
+ if (eventArgs.message.indexOf("Invalid PDF structure") !== -1) {
2829
+ var message = eventArgs.message;
2830
+ var fileData = eventArgs.source.fileData;
2831
+ if (fileData) {
2832
+ message = new TextDecoder('utf-8').decode(fileData);
2833
+ }
2834
+ eventArgs.source.reportError({ message: message, severity: "warn" });
2835
+ }
2836
+ }
2837
+ ```
2838
+
2839
+ ### Fixed
2840
+ - Thread beads should be hidden during printing. (DOC-1163)
2841
+ - Page number is not correct in the toolbar when read as article thread mode. (DOC-1164)
2842
+ - (IE11/Edge) Fixed problem with article threads. (DOC-1167)
2843
+ - Do not draw border when color is not specified even if style and width specified. (DOC-1172)
2844
+ - Can not input data in form control under IE and edge browser. (DOC-1176)
2845
+ - Can not input data in form control when select pan tool in the toolbar. (DOC-1166)
2846
+ - Do not jump to other page when rotate page. (DOC-1165)
2847
+ - Fixed: S, H keyboard shortcuts does not update toolbar.
2848
+ - Fixed: Open SearchPanel using Ctrl+F.
2849
+ - Fixed problem with thumbnails title when document contains page labels
2850
+ - Fixed problem with externalLinkTarget option.
2851
+ - Document title loading text correction - show file name instead of full URL.
2852
+ - Article threads: by default article title should be empty
2853
+ - Fixed problem with article threads navigation when one page contains more than one overlapped beads from different articles.
2854
+ - Added error handling for Reports List fetch.
2855
+
2856
+ ## [0.6.3]
2857
+
2858
+ ### Added
2859
+ - New method addDefaultPanels: Add default set of sidebar panels with default order.
2860
+ ```javascript
2861
+ // Usage example:
2862
+ const viewer = new GcPdfViewer("#viewer1", { file: 'file1.pdf' });
2863
+ viewer.addDefaultPanels();
2864
+ ```
2865
+
2866
+ ### Changed
2867
+ - Pages rendering priority updated:
2868
+ navigated page takes priority over other pages, even when this page is less visible compared to others.
2869
+ - Zoom using two finger gesture for mobile devices.
2870
+
2871
+ ### Fixed
2872
+ - Fixed several IE 11 issues.
2873
+ - Fixed problem with context menu for selected text.
2874
+ - Behavior for sidebar buttons state updated.
2875
+ - Behavior of the canvas selection for paragraph corner corrected.
2876
+ - Fixed exception when another document loaded
2877
+
2878
+ ## [0.6.2]
2879
+
2880
+ ### Fixed
2881
+ - Caret behavior for Ctrl+Home, Ctrl+End keys updated.
2882
+
2883
+ ## [0.6.1]
2884
+
2885
+ ### Added
2886
+ - Initial version.