awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
embedpdf avatar

embedpdf/embed-pdf-viewer

0
View on GitHub↗
3,343 stars·190 forks·TypeScript·mit·13 viewswww.embedpdf.com↗

Embed Pdf Viewer

Embed PDF Viewer is a browser-based PDF rendering library that uses a WebAssembly port of the PDFium engine to display documents entirely on the client side, with no server-side processing required. It provides a framework-agnostic core engine layer that manages the PDF document lifecycle, memory allocation, and WebAssembly resource cleanup, with dedicated integration hooks for React and Vue 3 that handle initialization, document loading, and reactive state management.

The library offers both a pre-built, embeddable viewer that can be inserted into any web page with a single initialization call, and a set of headless rendering primitives and logic stores for developers who want to build fully custom viewer interfaces. Its plugin-based architecture organizes viewer capabilities as independent, tree-shakable modules, allowing applications to import only the features they need. PDF parsing and rendering operations are offloaded to a dedicated Web Worker to keep the main UI thread responsive.

Beyond basic viewing, the library includes APIs for adding, removing, and modifying annotations such as highlights, sticky notes, free text, and ink drawings. It supports text extraction and search across documents, form field interaction for filling and submitting, and permanent content redaction. Additional capabilities include bookmark navigation, metadata reading, page zoom and rotation, and configurable scrolling modes.

The viewer interface can be customized through a configuration object that controls appearance, color scheme, feature toggling, and localization into different languages. The same PDF engine code runs in browsers, Node.js, and serverless environments.

Features

  • WebAssembly Engines - Renders PDF pages directly in the browser using a WebAssembly port of the PDFium engine.
  • PDF Viewer Composables - Ships a Vue 3 composable for reactive PDF engine lifecycle management with loading and error states.
  • PDF Renderers - Renders PDF pages directly in the browser using a WebAssembly-based engine with no server dependency.
  • PDF Annotations - Provides an API for adding, removing, and modifying highlights, sticky notes, and ink drawings on PDF pages.
  • WebAssembly Initializers - Loads the PDFium WebAssembly binary and initializes the library for all PDF operations.
  • PDF Rendering Engines - Draws specific pages of a loaded PDF document onto a canvas or bitmap for display.
  • PDF Document Importers - Reads PDF files from raw bytes into memory and returns a handle for subsequent operations.
  • PDF Document Management - Provides a programmatic API to open, close, and manage PDF documents throughout their lifecycle.
  • PDF Manipulation Libraries - Exposes direct JavaScript bindings to the PDFium rendering engine for fine-grained PDF manipulation.
  • PDF Text Extraction - Pulls text content from PDF pages for search, indexing, and locates matches across the entire document.
  • Framework Agnostic Interfaces - Encapsulates the PDF engine lifecycle in a framework-agnostic core with React and Vue integration hooks.
  • Headless Primitives - Provides unopinionated rendering primitives and logic stores for building custom PDF viewer interfaces.
  • PDF Viewers - Provides a pre-built, embeddable PDF viewer that can be inserted into any web page.
  • Headless Viewers - Provides unopinionated rendering primitives and logic stores for building custom PDF viewer interfaces.
  • Vue Composables - Provides a Vue 3 composable that binds PDFium engine lifecycle to reactive loading and error states.
  • WebAssembly Viewers - Renders PDF documents using a WebAssembly port of the PDFium engine with no server dependency.
  • PDF Viewer Hooks - Provides a dedicated React hook that manages PDFium engine lifecycle and reactive rendering state.
  • Main Thread Offloading - Offloads PDF parsing and rendering to a Web Worker to keep the UI responsive.
  • Server-Side PDF Rendering - Renders PDF pages directly in the browser using WebAssembly, eliminating server-side processing.
  • PDF Form Filling - Supports filling, reading, and submitting form fields embedded within PDF documents.
  • Text Searchers - Locates text matches across all PDF pages and navigates to each occurrence.
  • Text Selectors - Enables highlighting and copying text directly from rendered PDF pages.
  • Cross-Platform PDF Engines - Runs the same PDF engine code in browsers, Node.js, and serverless functions.
  • PDF Viewer Assemblers - Provides composable viewer assembly for building custom PDF interfaces from modular parts.
  • PDFium Bindings - Exposes direct JavaScript bindings to the PDFium rendering engine for fine-grained PDF control.
  • PDF Content Redaction - Permanently removes selected content from PDF pages so it cannot be recovered.
  • Form Fillers - Fills, reads, and submits form fields within PDF documents alongside permanent content redaction.
  • Document Lifecycle Managers - Manages PDF document handles and WebAssembly memory allocation with explicit cleanup across environments.
  • Configuration-Driven Assembly - Assembles the PDF viewer interface and behavior from a single configuration object.
  • Tree-Shakable Feature Imports - Allows importing only the PDF features actually used by tree-shaking unused plugins from the final bundle.
  • Plugin-Based Architectures - Organizes viewer capabilities as independent, tree-shakable plugins for selective feature imports.
  • Custom UI Controllers - Lets developers supply their own UI while the library handles PDF logic and rendering.
  • Custom Viewer Builders - Ships headless rendering primitives and logic stores for building fully custom PDF viewer interfaces.
  • PDF Plugin Systems - Ships a modular plugin system that allows tree-shaking unused PDF viewer features from the final bundle.
  • Viewer Interface Customizations - Adjusts the viewer's appearance and behavior through a configuration object.

Star history

Star history chart for embedpdf/embed-pdf-viewerStar history chart for embedpdf/embed-pdf-viewer

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does embedpdf/embed-pdf-viewer do?

Embed PDF Viewer is a browser-based PDF rendering library that uses a WebAssembly port of the PDFium engine to display documents entirely on the client side, with no server-side processing required. It provides a framework-agnostic core engine layer that manages the PDF document lifecycle, memory allocation, and WebAssembly resource cleanup, with dedicated integration hooks for React and Vue 3 that handle initialization, document loading, and reactive state management.

What are the main features of embedpdf/embed-pdf-viewer?

The main features of embedpdf/embed-pdf-viewer are: WebAssembly Engines, PDF Viewer Composables, PDF Renderers, PDF Annotations, WebAssembly Initializers, PDF Rendering Engines, PDF Document Importers, PDF Document Management.

What are some open-source alternatives to embedpdf/embed-pdf-viewer?

Open-source alternatives to embedpdf/embed-pdf-viewer include: hopding/pdf-lib — pdf-lib is a JavaScript PDF manipulation library used for creating, modifying, and editing PDF documents… onlyoffice/desktopeditors — DesktopEditors is an office suite application designed for creating and editing text documents, spreadsheets, and… py-pdf/pypdf2 — PyPDF2 is a pure Python library for transforming, securing, and extracting data from PDF documents. It provides a… unidoc/unioffice — unioffice is a comprehensive document processing suite that provides a PDF document processor, an Open XML document… syncfusion/flutter-widgets — This project is a comprehensive collection of high-performance UI components and SDKs designed for building data-rich,… anthropics/knowledge-work-plugins — This project is a plugin framework and agentic workflow library designed to connect large language models to…

Open-source alternatives to Embed Pdf Viewer

Similar open-source projects, ranked by how many features they share with Embed Pdf Viewer.
  • hopding/pdf-libHopding avatar

    Hopding/pdf-lib

    8,515View on GitHub↗

    pdf-lib is a JavaScript PDF manipulation library used for creating, modifying, and editing PDF documents programmatically. It functions as a cross-runtime tool compatible with Node, Browser, Deno, and mobile JavaScript environments. The library provides a programmatic interface for document editing and form generation. It supports building interactive PDF forms, populating existing fields with custom data, and flattening forms into static content. Its broader capabilities include generating new documents from scratch, rearranging or copying pages between files, and managing document metadata

    TypeScript
    View on GitHub↗8,515
  • onlyoffice/desktopeditorsONLYOFFICE avatar

    ONLYOFFICE/DesktopEditors

    4,448View on GitHub↗

    DesktopEditors is an office suite application designed for creating and editing text documents, spreadsheets, and presentations across different operating systems. It serves as an OOXML compatible editor, ensuring that files are read and written according to Office Open XML standards for cross-platform document exchange. The suite functions as a collaborative document platform featuring real-time co-authoring, version tracking, and integrated communication tools. It also acts as an AI-powered document assistant and PDF editor, providing capabilities for content generation, automated spreadshe

    collaborationdesktopdocx
    View on GitHub↗4,448
  • py-pdf/pypdf2py-pdf avatar

    py-pdf/PyPDF2

    10,094View on GitHub↗

    PyPDF2 is a pure Python library for transforming, securing, and extracting data from PDF documents. It provides a comprehensive suite of tools to modify page layouts, manage document security, and retrieve embedded metadata without relying on external C libraries. The toolkit enables document assembly through the merging of multiple files and the splitting of documents into smaller parts. It also supports page-level transformations, including the ability to rotate pages and adjust visible crop areas. The library includes capabilities for security management via password-based encryption and

    Python
    View on GitHub↗10,094
  • unidoc/uniofficeunidoc avatar

    unidoc/unioffice

    4,809View on GitHub↗

    unioffice is a comprehensive document processing suite that provides a PDF document processor, an Open XML document library, a document security toolkit, and a document content extractor. It is designed to programmatically create, read, and modify Word, Excel, and PowerPoint files, as well as generate and edit PDF documents. The project is distinguished by its native language implementation of the Open XML standard, which removes native binary dependencies to simplify container deployments. It features advanced capabilities for digital document security, including hardware-based PDF signing,

    Godocxecma-376excel
    View on GitHub↗4,809
  • See all 30 alternatives to Embed Pdf Viewer→