{"_id":"@capawesome/capacitor-pdf-viewer","_rev":"5-f5f4d0067d17be22a33b8d3113b308fd","name":"@capawesome/capacitor-pdf-viewer","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"@capawesome/capacitor-pdf-viewer","version":"0.0.1","keywords":["capacitor","plugin","native","pdf","viewer","document"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-pdf-viewer@0.0.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"afbcd2529d18503c54d43e8febdc3d96faacdb45","tarball":"https://registry.npmjs.org/@capawesome/capacitor-pdf-viewer/-/capacitor-pdf-viewer-0.0.1.tgz","fileCount":40,"integrity":"sha512-kjloPfv7cb5ZMv8vQ+9a/62o1wpAZRji+kF2EwT27gdbOihdgf9GDPnd6uOE6PqsWuppYU9RK+9cJLi/fWdkRA==","signatures":[{"sig":"MEUCIBNERaQFUg2UcFHGxFNkwNSlvblNKq1OAaNe1xJ5jsZWAiEAkQcp+deuMQS5sVUlKzBNx/q6Zh5S5qrBFVvV7agWYc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67825},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"e18228f8362b044cd453aba542fe8e0a02fd996f","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PdfViewerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin to display PDF documents in a fullscreen native viewer.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-pdf-viewer_0.0.1_1783426843674_0.11600438634059085","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-pdf-viewer","version":"0.1.0","keywords":["capacitor","plugin","native","pdf","viewer","document","capacitor-plugin","pdf viewer","pdf reader","open pdf","display pdf","document viewer","password protected pdf"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-pdf-viewer@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"535e4cb473e6d1d2efa2fb954f739311f6b7f269","tarball":"https://registry.npmjs.org/@capawesome/capacitor-pdf-viewer/-/capacitor-pdf-viewer-0.1.0.tgz","fileCount":40,"integrity":"sha512-ys6GO0BeDmv2oUwbaX9Vmlu26aLpRdP6Lk/J3Zp/0jn4oV++QBet0FfV4gsbgbNCsC4pxb5OfyrJGk/TWYEGFA==","signatures":[{"sig":"MEQCIDA3Cpogtwehf+VZo4YAmSrJeEmptufA0X2wDK+tnJzOAiAaj1FR1OOCYbvnGa5MAU57+0ySTWlKQssfQJ0MsiSRXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-pdf-viewer@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73204},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1ce17b1fd14c43b2f1d5d3c2da82221e1d1dca37","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PdfViewerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be837e84-c094-43bd-b601-4d928880eabd"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to display PDF documents in a fullscreen native viewer on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-pdf-viewer_0.1.0_1784015577697_0.5111600400497498","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-pdf-viewer","version":"0.1.1","keywords":["capacitor","plugin","native","pdf","viewer","document","capacitor-plugin","pdf viewer","pdf reader","open pdf","display pdf","document viewer","password protected pdf"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-pdf-viewer@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"e259df212cfbdf63579e2d27a42596c1a1f44793","tarball":"https://registry.npmjs.org/@capawesome/capacitor-pdf-viewer/-/capacitor-pdf-viewer-0.1.1.tgz","fileCount":40,"integrity":"sha512-SJ831P4/W2y3b2/NpdTJLiZjvXpkVG7sX4E8lCXrMS/Demexq2xABhECLcIg+eFDoNTvcEjP/ZAc3G4Sip5QQw==","signatures":[{"sig":"MEUCIHAbZBv7snuApxpD+d0NMg3ufU+uT1cTi6t1gqZ8yco+AiEA4PhGodW5wMTcaQQEMovgZRYp4V23fqQPNN9M/P8AX2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-pdf-viewer@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73213},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"3e61f4b412f9f3f512c21169bb135bbb23a67e6d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PdfViewerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be837e84-c094-43bd-b601-4d928880eabd"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to display PDF documents in a fullscreen native viewer on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-pdf-viewer_0.1.1_1784103029008_0.06966401929287813","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@capawesome/capacitor-pdf-viewer","version":"0.1.2","keywords":["capacitor","plugin","native","pdf","viewer","document","capacitor-plugin","pdf viewer","pdf reader","open pdf","display pdf","document viewer","password protected pdf"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-pdf-viewer@0.1.2","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"75e404b19beccf474e82176c2955105f891aac23","tarball":"https://registry.npmjs.org/@capawesome/capacitor-pdf-viewer/-/capacitor-pdf-viewer-0.1.2.tgz","fileCount":40,"integrity":"sha512-hieGP4GtsvTTqKA7luQzRV76jyucvBkOGnoSaCFJTs+V+mF+g+AEXNGLiQC51hvFfwnZGelYXJtOS/Sk6ezA2Q==","signatures":[{"sig":"MEQCIATGujbVsjeBPZJtEcAUE12fr+Lp0PNYm0oxuj541HfzAiBl+WLRIDSbyFIMsUENRNp7xPFjiK8jb5U2pgyGYQXq9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-pdf-viewer@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78738},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1e78fbcb4a2d00baf2cd5341c263d3c4337b18eb","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PdfViewerPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be837e84-c094-43bd-b601-4d928880eabd"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to display PDF documents in a fullscreen native viewer on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-pdf-viewer_0.1.2_1784706415322_0.7889795951714071","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@capawesome/capacitor-pdf-viewer","version":"0.1.3","description":"Capacitor plugin to display PDF documents in a fullscreen native viewer on Android and iOS.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","keywords":["capacitor","plugin","native","pdf","viewer","document","capacitor-plugin","pdf viewer","pdf reader","open pdf","display pdf","document viewer","password protected pdf"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api PdfViewerPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","_id":"@capawesome/capacitor-pdf-viewer@0.1.3","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-1Xi0ru6XNwyKxt5TwNpt3PvgWuQq0I3ynRyhgpBWxQUI7lPZV2LfogUdfFJDWmv0jT+8+aQ7V1/Hc4jFCrTkOg==","shasum":"cb7717417972b3d33442290c558337eb2b44d5af","tarball":"https://registry.npmjs.org/@capawesome/capacitor-pdf-viewer/-/capacitor-pdf-viewer-0.1.3.tgz","fileCount":40,"unpackedSize":78390,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-pdf-viewer@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE2i380/o9ou58rRWwcVGMQIYA5NMx87vuG6qOr37Iz4AiA9ioL8fmLHJ9TLbGvV3vT66fBy1m4ukQ//eCQTR1HI9A=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be837e84-c094-43bd-b601-4d928880eabd"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-pdf-viewer_0.1.3_1788337382862_0.1691149367135003"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T12:20:43.481Z","modified":"2026-09-02T08:23:03.344Z","0.0.1":"2026-07-07T12:20:43.859Z","0.1.0":"2026-07-14T07:52:57.831Z","0.1.1":"2026-07-15T08:10:29.152Z","0.1.2":"2026-07-22T07:46:55.518Z","0.1.3":"2026-09-02T08:23:03.000Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/pdf-viewer/","keywords":["capacitor","plugin","native","pdf","viewer","document","capacitor-plugin","pdf viewer","pdf reader","open pdf","display pdf","document viewer","password protected pdf"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Capacitor plugin to display PDF documents in a fullscreen native viewer on Android and iOS.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor PDF Viewer Plugin\n\nCapacitor plugin to display PDF documents in a fullscreen native viewer.\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\n- 📄 **Fullscreen Viewer**: Display PDF documents in a fullscreen native viewer with a toolbar.\n- 📖 **Paging**: Scroll through pages and jump to an initial page.\n- 🔍 **Zoom**: Pinch to zoom in and out.\n- 🔑 **Password Protection**: Open password-protected PDF documents.\n- 🔔 **Events**: Listen for page changes and the closing of the viewer.\n- 🔒 **App Store safe**: Uses only official platform APIs.\n- 🤝 **Compatibility**: Works alongside the [File Opener](https://capawesome.io/docs/sdks/capacitor/file-opener/) and [File Picker](https://capawesome.io/docs/sdks/capacitor/file-picker/) plugins.\n- 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe PDF Viewer plugin is typically used whenever an app needs to present a PDF document to the user, for example:\n\n- **Invoices and receipts**: Display invoices or receipts that your app has generated or downloaded.\n- **Reports and manuals**: Let users read reports, product manuals, or other multi-page documents with paging and zoom.\n- **Confidential documents**: Open password-protected PDF documents such as payslips or bank statements.\n- **Reading progress**: Use the `pageChange` event to remember the last read page and reopen the document there via the `page` option.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.x.x          | >=8.x.x           | Active support |\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\n Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-pdf-viewer` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capawesome/capacitor-pdf-viewer\nnpx cap sync\n```\n\n### Android\n\nOn Android, this plugin uses the [android-pdf-viewer](https://github.com/oothp/AndroidPdfViewer) library, which renders PDF documents with [Pdfium](https://pdfium.googlesource.com/pdfium/). Be aware that the library bundles the Pdfium native libraries, which add about 10 to 16 MB (uncompressed, across all ABIs) to your app. If you publish your app as an [Android App Bundle](https://developer.android.com/guide/app-bundle), each device only downloads the native libraries for its own ABI, which significantly reduces the download size. Also note that the viewer does not support text selection on Android.\n\n#### Share Button\n\nIf you use the share button (see the `showShareButton` option), you need to specify the directories that contain the PDF files you want to share. To do this, create a new file named `file_paths.xml` in the `res/xml` directory of your Android project (e.g. `android/app/src/main/res/xml/file_paths.xml`). Here is an example of the content of the file:\n\n```xml\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<paths xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <files-path name=\"files\" path=\".\" />\n    <cache-path name=\"cache\" path=\".\" />\n    <external-files-path name=\"external-files\" path=\".\" />\n    <external-cache-path name=\"external-cache\" path=\".\" />\n    <external-path name=\"external\" path=\".\" />\n</paths>\n```\n\nMore information can be found in the [Android documentation](https://developer.android.com/training/secure-file-sharing/setup-sharing#DefineMetaData).\n\n#### Variables\n\nThis plugin will use the following project variables (defined in your app’s `variables.gradle` file):\n\n- `$androidPdfViewerVersion` version of `io.github.oothp:android-pdf-viewer` (default: `3.2.0-beta06`)\n\n### iOS\n\nOn iOS, this plugin uses the [PDFKit](https://developer.apple.com/documentation/pdfkit) framework. No additional configuration is required.\n\n### Web\n\nThis plugin is not available on the web. Browsers ship with a built-in PDF viewer, so you can simply render a PDF document using an `<iframe>` or `<object>` element.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to open a PDF document, unlock a password-protected file, close the viewer, and listen for page changes and the viewer being closed.\n\nThe plugin only supports local files. Remote URLs must be downloaded first, for example with the `downloadFile(...)` method of the [Filesystem](https://capacitorjs.com/docs/apis/filesystem) plugin.\n\n### Open a PDF document\n\nOpen a local PDF file in a fullscreen native viewer. You can set a custom toolbar title and the page to display initially. Only available on Android and iOS:\n\n```typescript\nimport { PdfViewer } from '@capawesome/capacitor-pdf-viewer';\n\nconst open = async () => {\n  await PdfViewer.open({\n    path: 'file:///path/to/document.pdf',\n    title: 'Invoice',\n    page: 1,\n  });\n};\n```\n\n### Open a password-protected PDF document\n\nUse the `password` option to unlock a password-protected PDF file:\n\n```typescript\nimport { PdfViewer } from '@capawesome/capacitor-pdf-viewer';\n\nconst openWithPassword = async () => {\n  await PdfViewer.open({\n    path: 'file:///path/to/document.pdf',\n    password: 'secret',\n  });\n};\n```\n\n### Close the viewer\n\nClose the currently open viewer from code. If no viewer is open, this method does nothing:\n\n```typescript\nimport { PdfViewer } from '@capawesome/capacitor-pdf-viewer';\n\nconst close = async () => {\n  await PdfViewer.close();\n};\n```\n\n### Listen for page changes and the viewer being closed\n\nUse the `pageChange` and `closed` events to react to the user scrolling through the document or closing the viewer:\n\n```typescript\nimport { PdfViewer } from '@capawesome/capacitor-pdf-viewer';\n\nconst addListeners = async () => {\n  await PdfViewer.addListener('closed', () => {\n    console.log('Viewer closed');\n  });\n  await PdfViewer.addListener('pageChange', event => {\n    console.log('Current page:', event.page);\n  });\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`close()`](#close)\n* [`open(...)`](#open)\n* [`addListener('closed', ...)`](#addlistenerclosed-)\n* [`addListener('pageChange', ...)`](#addlistenerpagechange-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### close()\n\n```typescript\nclose() => Promise<void>\n```\n\nClose the currently open viewer.\n\nIf no viewer is open, this method does nothing.\n\nOnly available on Android and iOS.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### open(...)\n\n```typescript\nopen(options: OpenOptions) => Promise<void>\n```\n\nOpen a PDF file in a fullscreen native viewer.\n\nIf a viewer is already open, it is closed before the new one is\npresented.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                |\n| ------------- | --------------------------------------------------- |\n| **`options`** | <code><a href=\"#openoptions\">OpenOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('closed', ...)\n\n```typescript\naddListener(eventName: 'closed', listenerFunc: () => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the viewer is closed.\n\nOnly available on Android and iOS.\n\n| Param              | Type                       |\n| ------------------ | -------------------------- |\n| **`eventName`**    | <code>'closed'</code>      |\n| **`listenerFunc`** | <code>() =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('pageChange', ...)\n\n```typescript\naddListener(eventName: 'pageChange', listenerFunc: (event: PageChangeEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the current page of the viewer changes.\n\nOnly available on Android and iOS.\n\n| Param              | Type                                                                            |\n| ------------------ | ------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'pageChange'</code>                                                       |\n| **`listenerFunc`** | <code>(event: <a href=\"#pagechangeevent\">PageChangeEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() => Promise<void>\n```\n\nRemove all listeners for this plugin.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### OpenOptions\n\n| Prop                  | Type                 | Description                                                                                                                                                                         | Default                                     | Since |\n| --------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ----- |\n| **`page`**            | <code>number</code>  | The page (1-based) to display initially.                                                                                                                                            | <code>1</code>                              | 0.1.0 |\n| **`password`**        | <code>string</code>  | The password to unlock the PDF file if it is password-protected.                                                                                                                    |                                             | 0.1.0 |\n| **`path`**            | <code>string</code>  | The path of the local PDF file to display. Remote URLs are not supported. Download the file first, for example to the cache directory, and pass the local file path to this method. |                                             | 0.1.0 |\n| **`showShareButton`** | <code>boolean</code> | Whether to display a share button in the toolbar of the viewer. Only available on Android and iOS.                                                                                  | <code>false</code>                          | 0.1.2 |\n| **`title`**           | <code>string</code>  | The title to display in the toolbar of the viewer.                                                                                                                                  | <code>The file name of the PDF file.</code> | 0.1.0 |\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | <code>() =&gt; Promise&lt;void&gt;</code> |\n\n\n#### PageChangeEvent\n\n| Prop       | Type                | Description                                     | Since |\n| ---------- | ------------------- | ----------------------------------------------- | ----- |\n| **`page`** | <code>number</code> | The page (1-based) that is currently displayed. | 0.1.0 |\n\n</docgen-api>\n\n## FAQ\n\n### How is this plugin different from other similar plugins?\n\nIt displays PDF documents in a fullscreen native viewer with a toolbar, paging, pinch-to-zoom, and support for password-protected files, backed by PDFKit on iOS and Pdfium on Android for a genuinely native reading experience. Page-change and closed events let you track reading progress and reopen a document where the user left off, all through a fully typed API that uses only official platform APIs. Actively maintained against the latest Capacitor version, it also pairs naturally with the PDF Generator and File Picker plugins.\n\n### Can I display a PDF from a remote URL?\n\nNo, the plugin only supports local files. Download the file first, for example with the `downloadFile(...)` method of the official [Filesystem](https://capacitorjs.com/docs/apis/filesystem) plugin, and then pass the local file path to the `open(...)` method.\n\n### Why is the plugin not available on the Web?\n\nBrowsers ship with a built-in PDF viewer, so a plugin is not needed there. On the Web, you can simply render a PDF document using an `<iframe>` or `<object>` element.\n\n### How do I open a password-protected PDF document?\n\nPass the password using the `password` option of the `open(...)` method. The viewer then unlocks and displays the document. See [Open a password-protected PDF document](#open-a-password-protected-pdf-document) for an example.\n\n### How much does the plugin add to my Android app size?\n\nOn Android, the plugin uses the [android-pdf-viewer](https://github.com/oothp/AndroidPdfViewer) library, which bundles the Pdfium native libraries. These add about 10 to 16 MB (uncompressed, across all ABIs) to your app. If you publish your app as an Android App Bundle, each device only downloads the native libraries for its own ABI, which significantly reduces the download size.\n\n### Can I select text in the viewer on Android?\n\nNo, the viewer does not support text selection on Android. On iOS, the plugin uses the PDFKit framework, which provides the native viewer experience of the platform.\n\n### Why does the share button not work on Android?\n\nThe share button is hidden by default. Enable it by setting the `showShareButton` option to `true`. On Android, the file is then shared using a [`FileProvider`](https://developer.android.com/reference/androidx/core/content/FileProvider). Make sure that the directory containing the PDF file is declared in the `file_paths.xml` file of your Android project, as described in the [Installation](#android) section. Without this configuration, the file can not be shared.\n\n### Can I use this plugin with Ionic, React, Vue or Angular?\n\nYes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.\n\n## Related Plugins\n\n- [File Opener](https://capawesome.io/docs/sdks/capacitor/file-opener/): Open a file with the default application instead of an in-app viewer.\n- [File Picker](https://capawesome.io/docs/sdks/capacitor/file-picker/): Let the user select a PDF file from the device's file system.\n- [PDF Generator](https://capawesome.io/docs/sdks/capacitor/pdf-generator/): Generate paginated PDF files from HTML content or URLs.\n- [Printer](https://capawesome.io/docs/sdks/capacitor/printer/): Print PDF documents on Android and iOS.\n\n## Newsletter\n\nStay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/pdf-viewer/CHANGELOG.md).\n\n## License\n\nSee [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/pdf-viewer/LICENSE).\n","readmeFilename":"README.md"}