{"_id":"@dasch-ng/pdf-viewer","name":"@dasch-ng/pdf-viewer","dist-tags":{"rc":"11.0.0-rc.0","latest":"11.0.0-rc.0"},"versions":{"11.0.0-rc.0":{"name":"@dasch-ng/pdf-viewer","version":"11.0.0-rc.0","description":"Angular standalone component for rendering PDF documents (fork of ng2-pdf-viewer)","license":"MIT","keywords":["angular","pdf","pdf-viewer","pdfjs","ng2-pdf-viewer"],"publishConfig":{"access":"public"},"dependencies":{"pdfjs-dist":"5.6.205","tslib":"^2.8.1"},"peerDependencies":{"@angular/core":"^21.0.0","rxjs":"^7.0.0"},"sideEffects":false,"module":"fesm2022/dasch-ng-pdf-viewer.mjs","typings":"types/dasch-ng-pdf-viewer.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./types/dasch-ng-pdf-viewer.d.ts","default":"./fesm2022/dasch-ng-pdf-viewer.mjs"}},"type":"module","gitHead":"d754353ab39fcb1fe1f1b32cfccd6ccf59e64c2a","_id":"@dasch-ng/pdf-viewer@11.0.0-rc.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-gJm0XBukW7x3hhNiTjLvSNpaPMegaZ1T0IBliwZwB89tUY8QqJnfEOmYn7s9yGe/BkZKZcR/jd0BFVCvnuE0RA==","shasum":"8bc6dcf4e265f5fbb4e77a1d417ffc444ec73fc3","tarball":"https://registry.npmjs.org/@dasch-ng/pdf-viewer/-/pdf-viewer-11.0.0-rc.0.tgz","fileCount":5,"unpackedSize":134729,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCcTrZGsXsFgbv0jFGKk2MkqIzkpse/73xDNrcA46+3egIgP6NC4zQXomCTN55z8FvI4pk6+UpX1zT9TzrGaW6j9NM="}]},"_npmUser":{"name":"dasch","email":"daniel.schuba@daschmedia.de"},"directories":{},"maintainers":[{"name":"dasch","email":"daniel.schuba@daschmedia.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdf-viewer_11.0.0-rc.0_1779899529783_0.6072690650123096"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T16:32:09.605Z","11.0.0-rc.0":"2026-05-27T16:32:09.919Z","modified":"2026-05-27T16:32:10.187Z"},"maintainers":[{"name":"dasch","email":"daniel.schuba@daschmedia.de"}],"description":"Angular standalone component for rendering PDF documents (fork of ng2-pdf-viewer)","keywords":["angular","pdf","pdf-viewer","pdfjs","ng2-pdf-viewer"],"license":"MIT","readme":"# @dasch-ng/pdf-viewer\n\nAngular standalone component for rendering PDF documents with [pdf.js](https://mozilla.github.io/pdf.js/). Drop-in replacement for [`ng2-pdf-viewer`](https://github.com/VadimDez/ng2-pdf-viewer) updated for Angular 21+, the signals API, zoneless change detection, and `pdfjs-dist` 5.\n\n📚 **Full documentation:** [dasch.ng/libraries/pdf-viewer](https://dasch.ng/libraries/pdf-viewer)\n🎮 **Live demo:** [dasch.ng/demos/pdf-viewer/](https://dasch.ng/demos/pdf-viewer/)\n🔗 **API reference:** [dasch.ng/api/@dasch-ng/pdf-viewer/](https://dasch.ng/api/@dasch-ng/pdf-viewer/)\n\n## Install\n\n```bash\nnpm install @dasch-ng/pdf-viewer\n# or\nbun add @dasch-ng/pdf-viewer\n```\n\n## Quick start\n\n```typescript\nimport { Component } from '@angular/core';\nimport { PdfViewerComponent } from '@dasch-ng/pdf-viewer';\n\n@Component({\n  selector: 'app-pdf',\n  imports: [PdfViewerComponent],\n  template: ` <pdf-viewer [src]=\"'/assets/sample.pdf'\" [render-text]=\"true\" [original-size]=\"false\" style=\"width: 100%; height: 600px;\" /> `,\n})\nexport class PdfComponent {}\n```\n\n## Migration from `ng2-pdf-viewer`\n\nOnly the package name changes. Template API (selector, attributes, events) is preserved:\n\n```diff\n- import { PdfViewerComponent } from 'ng2-pdf-viewer';\n+ import { PdfViewerComponent } from '@dasch-ng/pdf-viewer';\n```\n\nIf you are migrating from the v10 `PdfViewerModule`, switch to the standalone `PdfViewerComponent`:\n\n```diff\n- import { PdfViewerModule } from 'ng2-pdf-viewer';\n+ import { PdfViewerComponent } from '@dasch-ng/pdf-viewer';\n```\n\n## Worker location\n\n`pdf.js` parses PDFs in a Web Worker. The worker file is shipped by `pdfjs-dist` (which is a transitive dependency of this library) — it is **not** bundled into `@dasch-ng/pdf-viewer` itself.\n\n**Default (zero config):** the component loads the worker from `https://cdn.jsdelivr.net/npm/pdfjs-dist@<version>/legacy/build/pdf.worker.min.mjs`. Fine for prototyping but a third-party request — for GDPR/offline-friendly production, self-host instead.\n\n**Self-host (recommended for production):**\n\n1. Add the worker file to your app's `angular.json` `assets`:\n\n   ```json\n   {\n     \"glob\": \"pdf.worker.min.mjs\",\n     \"input\": \"node_modules/pdfjs-dist/legacy/build\",\n     \"output\": \"assets/pdfjs\"\n   }\n   ```\n\n2. Point the component at it before bootstrap, e.g. in `main.ts`:\n\n   ```typescript\n   (window as any).pdfWorkerSrc = '/assets/pdfjs/pdf.worker.min.mjs';\n   bootstrapApplication(AppComponent, { providers: [...] });\n   ```\n\nSee the [docs site](https://dasch.ng/libraries/pdf-viewer#self-host) for the version-pinned override variant and the full rationale.\n\n## Credits\n\nFork of [`ng2-pdf-viewer`](https://github.com/VadimDez/ng2-pdf-viewer) by **Vadym Yatsyuk** ([@VadimDez](https://github.com/VadimDez)) and its many contributors. The Angular 21 / pdfjs-dist 5 / signals upgrade was contributed by **Luqman-Ud-Din Muhammad** in [VadimDez/ng2-pdf-viewer#1228](https://github.com/VadimDez/ng2-pdf-viewer/pull/1228). Full upstream git history is preserved in this monorepo.\n\n## License\n\n[MIT](./LICENSE.md)\n","readmeFilename":"README.md","_rev":"1-5b8b42e231bc97052523118c760fffec"}