A Vue component for embedding and rendering PDF documents with text and annotation layers, supporting Vue 2 and Vue 3.
vue-pdf-embed is a Vue.js component library that enables developers to embed and render PDF documents directly within Vue applications. It provides a controlled interface for displaying PDFs with support for text selection, annotations, password-protected files, and custom rendering options, solving the need for a reliable PDF viewer in Vue projects.
Vue 2 and Vue 3 developers who need to display PDF documents in their web applications, such as those building document management systems, educational platforms, or reporting dashboards.
Developers choose vue-pdf-embed because it offers a straightforward, dependency-free integration with Vue, includes essential PDF features like text and annotation layers out-of-the-box, and provides fine-grained control over rendering and document interactions without the complexity of configuring PDF.js manually.
PDF embed component for Vue 2 and Vue 3
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works out-of-the-box without peer dependencies or additional PDF.js configuration, as highlighted in the README's 'No peer dependencies' feature.
Includes text and annotation layers for searchable, selectable text and interactive links, plus support for password-protected documents, covering essential PDF viewing needs.
Accepts PDFs as URLs, Base64 strings, binary data, or PDFDocumentProxy objects, providing versatility for different data handling scenarios in Vue apps.
Offers public methods for download and print, along with customizable slots for adding content around pages, enabling fine-tuned user interactions.
Admits being a client-side library with compatibility issues for SSR frameworks like Nuxt, requiring workarounds that can complicate deployment.
Default web worker loading uses blob URLs that may be blocked by strict content security policies, forcing manual setup as noted in the 'Web Worker Loading' section.
Requires manual configuration of CMaps and image resources for non-Latin characters and correct annotation display, adding steps beyond basic integration.