Skip to content

Latest commit

 

History

History
114 lines (89 loc) · 4.21 KB

File metadata and controls

114 lines (89 loc) · 4.21 KB

PidifyJS

License Status Node TypeScript React

StreamNet Interface

Our Core Philosophy

PidifyJS is not just another opinionated PDF library; it’s a framework. Our mission is to replicate the entire native browser PDF viewing experience while giving developers 100% flexibility. We follow a dual-path approach:

  1. Effortless Plug & Play: Get a fully functional, beautiful PDF viewer in minimal lines of code.
  2. Ultimate Control: Unlike other libraries, we don't lock you in. Every single UI element and functionality is customizable. You can control the logic from scratch while using our core engine—giving you total power over your product's UX.

Roadmap & Feature Checklist

We are currently moving towards a stable V1 (MVP). Here is what we are building:

Phase 1: The Road to V1 (Stability & MVP)

Focusing on making PidifyJS a complete replacement for the default browser viewer.

  • Advanced Annotations: Support for adding notes, highlights, and free-hand drawing.
  • Rich Text Selection: Seamless text interaction and copying.
  • Global Search: In-document search functionality with highlight results.
  • Print & Save: Native print dialog support and file downloading.
  • Double Page View: Magazine-style side-by-side page rendering.
  • Stable API: Finalizing the core props and hooks for public release.

Phase 2: V2 Vision (Enterprise Framework)

Moving beyond the client-side to a more secure, dynamic architecture.

  • Dynamic Framework: Transitioning into a full-scale framework for building hyper-fast, lightweight, and secure custom viewers.
  • Server-Driven Logic: Making viewer functionalities dynamically controllable from the server to prevent client-side hijacking and ensure data integrity.
  • Advanced Security: Hardening the viewer for sensitive enterprise documents.

Current Features

  • Modern UI - Clean, intuitive interface built with TailwindCSS.
  • Responsive Design - Seamless experience across all device sizes.
  • Navigation Tools - Page navigation, zoom controls, and rotation.
  • Text Layer Support - Searchable and selectable text in PDFs.
  • TypeScript First - Fully typed for superior developer experience.

Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 10.0.0 (or npm/yarn)
  • React 18+ or 19+

Installation

# Coming soon to npm registry
# Clone the repository for early access
git clone https://github.com/GitCoder052023/PidifyJs.git
cd PidifyJs

# Install and Build
pnpm install
cd source/packages/core
pnpm build

Basic Usage

import React from 'react'
import { PDFViewer } from '@pidifyjs/core'
import '@pidifyjs/core/styles.css'

export default function App() {
  return (
    <div className="w-full h-screen">
      <PDFViewer
        data={{
          url: 'https://example.com/document.pdf'
        }}
      />
    </div>
  )
}

Project Structure

PidifyJs/
├── source/
│   ├── packages/
│   │   └── core/              # Main PDF Framework Logic
│   ├── app/                   # Demo Next.js application
│   └── Examples/              # React and Next.js templates
├── .husky/                    # Git hooks
└── package.json

Contribution Guidelines

We love contributors! If you want to help us reach V1 faster:

  • Follow conventional commits.
  • Keep your PRs focused on a single feature from the roadmap.
  • Update documentation for any API changes.

Report BugRequest FeatureView Changelog

Made with ❤️ by the PidifyJS Community