From 06ffdd7667d0e934602f9a868bc0da8164bce334 Mon Sep 17 00:00:00 2001 From: PSPDFKit Date: Thu, 13 Jan 2022 17:59:49 +0530 Subject: [PATCH] Release 2.1.0 --- ACKNOWLEDGEMENTS.md | 207 ++ CHANGELOG.md | 19 +- LICENSE | 2 +- README.md | 36 +- android/build.gradle | 2 +- android/src/main/AndroidManifest.xml | 2 +- .../pspdfkit/react/ConfigurationAdapter.java | 494 ++-- .../java/com/pspdfkit/react/MainActivity.java | 2 +- .../com/pspdfkit/react/MainApplication.java | 2 +- .../com/pspdfkit/react/PSPDFKitModule.java | 2 +- .../com/pspdfkit/react/PSPDFKitPackage.java | 2 +- .../pspdfkit/react/ReactPdfViewManager.java | 2 +- .../com/pspdfkit/react/TestingModule.java | 2 +- .../events/PdfViewAnnotationChangedEvent.java | 2 +- .../events/PdfViewAnnotationTappedEvent.java | 2 +- .../events/PdfViewDataReturnedEvent.java | 2 +- .../PdfViewDocumentLoadFailedEvent.java | 2 +- .../PdfViewDocumentSaveFailedEvent.java | 2 +- .../events/PdfViewDocumentSavedEvent.java | 2 +- .../PdfViewNavigationButtonClickedEvent.java | 2 +- .../events/PdfViewStateChangedEvent.java | 2 +- .../react/helper/ConversionHelpers.java | 2 +- .../helper/DocumentJsonDataProvider.java | 2 +- .../pspdfkit/react/helper/JsonUtilities.java | 2 +- .../react/menu/ReactGroupingRule.java | 2 +- .../main/java/com/pspdfkit/views/PdfView.java | 2 +- .../views/PdfViewDocumentListener.java | 2 +- .../pspdfkit/views/PdfViewModeController.java | 2 +- .../com/pspdfkit/views/ReactMainToolbar.java | 2 +- .../pspdfkit/views/ReactPdfUiFragment.java | 2 +- .../drawable/pspdf__ic_navigation_arrow.xml | 2 +- .../main/res/layout/pspdf__toolbar_main.xml | 2 +- android/src/main/res/values/attrs.xml | 2 +- documentation/configuration-options.md | 114 + index.js | 12 +- ios/RCTPSPDFKit.xcodeproj/project.pbxproj | 2 +- .../Converters/RCTConvert+PSPDFAnnotation.h | 2 +- .../Converters/RCTConvert+PSPDFAnnotation.m | 2 +- .../RCTConvert+PSPDFAnnotationChange.h | 2 +- .../RCTConvert+PSPDFAnnotationChange.m | 2 +- ...vert+PSPDFAnnotationToolbarConfiguration.h | 2 +- ...vert+PSPDFAnnotationToolbarConfiguration.m | 2 +- .../RCTConvert+PSPDFConfiguration.h | 14 +- .../RCTConvert+PSPDFConfiguration.m | 218 +- .../Converters/RCTConvert+PSPDFDocument.h | 2 +- .../Converters/RCTConvert+PSPDFDocument.m | 2 +- .../Converters/RCTConvert+PSPDFViewMode.h | 2 +- .../Converters/RCTConvert+PSPDFViewMode.m | 2 +- .../Converters/RCTConvert+UIBarButtonItem.h | 2 +- .../Converters/RCTConvert+UIBarButtonItem.m | 2 +- ios/RCTPSPDFKit/RCTPSPDFKitManager.h | 2 +- ios/RCTPSPDFKit/RCTPSPDFKitManager.m | 4 +- ios/RCTPSPDFKit/RCTPSPDFKitView.h | 2 +- ios/RCTPSPDFKit/RCTPSPDFKitView.m | 16 +- ios/RCTPSPDFKit/RCTPSPDFKitViewManager.h | 2 +- ios/RCTPSPDFKit/RCTPSPDFKitViewManager.m | 20 +- package.json | 4 +- samples/Catalog/Catalog.js | 39 +- .../legacy_tests/AuthorNameScreen.js | 2 +- .../__tests__/legacy_tests/FormsScreen.js | 2 +- .../legacy_tests/GetAnnotationsScreen.js | 2 +- .../Catalog/__tests__/legacy_tests/Testing.js | 2 +- .../Catalog/__tests__/legacy_tests/styles.js | 2 +- .../ios/Catalog.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Catalog.xcscheme | 2 +- samples/Catalog/ios/Catalog/AppDelegate.m | 2 +- samples/Catalog/ios/Catalog/main.m | 2 +- .../Catalog/ios/CatalogTests/CatalogTests.m | 2 +- samples/Catalog/ios/Podfile | 2 +- samples/Catalog/ios/Podfile.lock | 436 ++-- samples/Catalog/package.json | 33 +- samples/Catalog/yarn.lock | 2251 ++++++++-------- samples/NativeCatalog/NativeCatalog.js | 4 +- .../NativeCatalog.xcodeproj/project.pbxproj | 2 +- .../xcschemes/NativeCatalog.xcscheme | 2 +- .../ios/NativeCatalog/AppDelegate.m | 2 +- .../NativeCatalog/Examples/CustomPdfView.h | 2 +- .../NativeCatalog/Examples/CustomPdfView.m | 4 +- .../Examples/CustomPdfViewManager.h | 2 +- .../Examples/CustomPdfViewManager.m | 2 +- .../InstantExample/InstantDocumentInfo.swift | 2 +- .../InstantDocumentPresenter.swift | 2 +- .../InstantDocumentViewController.swift | 2 +- .../InstantExample/InstantExample.swift | 2 +- .../ScannerViewController.swift | 2 +- .../UIViewController+PSCFrontmost.swift | 2 +- .../InstantExample/WebExamplesAPIClient.swift | 2 +- .../NativeCatalog/ios/NativeCatalog/main.m | 2 +- .../NativeCatalogTests/NativeCatalogTests.m | 2 +- samples/NativeCatalog/ios/Podfile | 4 +- samples/NativeCatalog/ios/Podfile.lock | 442 ++-- samples/NativeCatalog/package.json | 33 +- samples/NativeCatalog/yarn.lock | 2289 ++++++++--------- .../ReactNativePSPDFKit/LibraryModule.cs | 2 +- .../ReactNativePSPDFKit/PDFViewPage.xaml.cs | 2 +- .../ReactNativePSPDFKit/PSPDFKitModule.cs | 2 +- .../ReactNativePSPDFKit/PSPDFKitPackage.cs | 2 +- .../PSPDFKitViewManager.cs | 2 +- 98 files changed, 3735 insertions(+), 3110 deletions(-) create mode 100644 documentation/configuration-options.md diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md index 85f47834..12c9c10a 100644 --- a/ACKNOWLEDGEMENTS.md +++ b/ACKNOWLEDGEMENTS.md @@ -2106,6 +2106,213 @@ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. +-------------------------------------------------------------------------------- +## abseil (http://abseil.io) + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + -------------------------------------------------------------------------------- ## The Anti-Grain Geometry Project (http://www.antigrain.com/) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a35f4b7..2f6cdf09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,25 @@ +## Next Release + ## Newest Release +### 2.1.0 - 06 Jan 2022 + +- Adds documentation for all the configuration options. (#31898) +- Unifies the configuration options on Android and iOS. (#31898) +- PSPDFKit now requires React Native 0.66.4 or later. (#32495) +- PSPDFKit now requires Xcode 13.2.1 or later. (#32495) +- Updates for PSPDFKit 11.2 for iOS. (#32495) +- Fixes an issue where some examples using `Form_example.pdf` would not work. (#32495) + +## Previous Releases + ### 2.0.4 - 07 Dec 2021 - Updates the Xcode build settings of the Catalog and Native Catalog example projects to work on iOS simulators on Apple Silicon Macs. (#32129) - Sets `currentPageIndex` in `onStateChanged` callbacks always to the currently visible page index. Also adds `affectedPageIndex` to get the page that is corresponding to the other states in the callback. (#31926) -- PSPDFKit now requires React Native 0.66.3 or later. (#32119) +- PSPDFKit now requires React Native 0.66.3 or later. (#32119) - Updates for PSPDFKit 8.0.2 for Android. (#32119) -## Previous Releases - ### 2.0.3 - 02 Nov 2021 - PSPDFKit now requires React Native 0.66.1 or later. (#31744) @@ -16,7 +27,7 @@ - Updates for PSPDFKit 11.1 for iOS. (#31654) - Improves the repository's README. (#31633) -### 2.0.2 - 07 Oct 2021 +### 2.0.2 - 22 Oct 2021 - Update to PSPDFKit for Android 8. - PSPDFKit now requires React Native 0.66.0 or later. (#31348) diff --git a/LICENSE b/LICENSE index aceccb8d..a074978e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -All items and source code Copyright © 2010-2021 PSPDFKit GmbH. +All items and source code Copyright © 2010-2022 PSPDFKit GmbH. PSPDFKit is a commercial product and requires a license to be used. diff --git a/README.md b/README.md index da5a97ce..b9e2ff68 100644 --- a/README.md +++ b/README.md @@ -32,21 +32,22 @@ The [PSPDFKit SDK](https://pspdfkit.com/) is a framework that allows you to view PSPDFKit offers support for customers with an active SDK license via https://pspdfkit.com/support/request/ -Are you evaluating our SDK? That's great, we're happy to help out! PSPDFKit is a commercial product and requires the purchase of a license key when used in production. By default, this library will -initialize in demo mode, placing a watermark on each PDF and limiting usage to 60 minutes. +Are you evaluating our SDK? That's great, we're happy to help out! PSPDFKit is a commercial product and requires the purchase of a license key when used in production. By default, this library will initialize in demo mode, placing a watermark on each PDF and limiting usage to 60 minutes. To purchase a license for production use, please reach out to us via https://pspdfkit.com/sales/form/. To initialize PSPDFKit using a license key, call either of the following before using any other PSPDFKit APIs or features: To set the license key for both Android and iOS, use: + ``` -PSPDFKit.setLicenseKeys("YOUR_REACT_NATIVE_ANDROID_LICENSE_KEY_GOES_HERE", "YOUR_REACT_NATIVE_IOS_LICENSE_KEY_GOES_HERE"); +PSPDFKit.setLicenseKeys('YOUR_REACT_NATIVE_ANDROID_LICENSE_KEY_GOES_HERE', 'YOUR_REACT_NATIVE_IOS_LICENSE_KEY_GOES_HERE'); ``` To set the license key for the currently running platform, use: + ``` -PSPDFKit.setLicenseKey("YOUR_REACT_NATIVE_LICENSE_KEY_GOES_HERE"); +PSPDFKit.setLicenseKey('YOUR_REACT_NATIVE_LICENSE_KEY_GOES_HERE'); ``` ## iOS @@ -192,7 +193,7 @@ Let's create a simple app that integrates PSPDFKit and uses the `react-native-ps ``` -For a runnable example, please take a look at the [AnnotationProcessing example from our Catalog app](./samples/Catalog/Catalog.ios.js#L1032). +For a runnable example, please take a look at the [AnnotationProcessing example from our Catalog app](./samples/Catalog/Catalog.js). ## Android @@ -489,11 +490,11 @@ Let's create a simple app that integrates PSPDFKit and uses the `react-native-ps ```diff ... defaultConfig { - applicationId "com.pspdfkitdemo" + applicationId 'com.pspdfkitdemo' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 - versionName "1.0" + versionName '1.0' + multiDexEnabled true } ... @@ -536,7 +537,7 @@ Let's create a simple app that integrates PSPDFKit and uses the `react-native-ps