Skip to content

JholaChhapDevs/PDF-Juggler-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PDF Juggler - Landing Page# PDF Juggler - Landing Page# PDF Juggler - Web Version

<em>A powerful desktop PDF reader and editor built with Kotlin Multiplatform and Jetpack Compose</em>

**Created for Softablitz 2025** A multi-tabbed PDF viewer web application inspired by the Kotlin Multiplatform (KMP) version. This is a simplified HTML/CSS/JavaScript implementation that maintains the same visual design and core functionality.

Created for Softablitz 2025 Team JholaChhapDevs: Shubham Gupta (Leader), Pawan Kumar, Sanyam Goel

Team JholaChhapDevs: Shubham Gupta (Leader), Pawan Kumar, Sanyam Goel

Course: MCA 2nd YearCourse: MCA 2nd Year## Features


🎯 About This Project---### 🎨 Design

PDF Juggler is a comprehensive desktop PDF management application that provides an intuitive interface for reading, editing, and manipulating PDF documents. Built using Kotlin Multiplatform and Jetpack Compose Desktop, it offers advanced features like AI-powered document analysis, text-to-speech capabilities, and seamless PDF editing tools.- Maroon & Gold Theme: Matches the original KMP app's color scheme

This landing page showcases the application's features and provides download options for all major platforms.## 🎯 About This Project- Responsive Layout: Three-panel design (thumbnails, viewer, AI chat)

✨ Key Features- Smooth Animations: Hover effects, transitions, and interactive elements

πŸ“„ PDF ManagementPDF Juggler is a powerful multi-tab PDF viewer with AI assistant capabilities, developed as part of Softablitz 2025. This landing page showcases the application's features and provides download options for all major platforms.

  • PDF Viewing & Navigation - High-quality rendering with smooth navigation and zoom controls

  • Multi-Tab Support - Open and manage multiple PDFs simultaneously### πŸ“„ PDF Viewing

  • Page Management - Reorder, extract, and manipulate PDF pages

  • Print Support - Advanced printing options with custom settings## ✨ Features- Multi-Tab Support: Open and manage multiple PDFs simultaneously

πŸ€– AI-Powered Tools- Zoom Controls: Zoom in/out, reset zoom (50% - 300%)

  • AI Analysis - Generate table of contents and document summaries using Google Gemini AI

  • Context-Aware Assistant - Ask questions about your PDF and get intelligent responses### Multi-Tab Interface- Rotation: Rotate pages left/right

  • Smart Summaries - Automatically extract key points and create cheat sheets

  • Open multiple PDFs simultaneously- Navigation: Page-by-page navigation with keyboard shortcuts

πŸ”Š Advanced Features

  • Text-to-Speech - Convert PDF text to speech with MaryTTS integration- Seamless tab switching- Page Thumbnails: Preview all pages in the left sidebar

  • Search & Highlight - Advanced text search with highlighting capabilities

  • Bookmark Management - Create and manage bookmarks for quick navigation- Modern, clean design

  • Encryption/Decryption - Secure document handling with encryption capabilities

πŸ”– Bookmarks

🌍 Cross-Platform

  • Windows 10+ (MSI Installer)### AI Chat Assistant- Add Bookmarks: Bookmark any page with a custom title

  • macOS 11+ (DMG Installer)

  • Linux Ubuntu 20.04+ (DEB Package)- Powered by Google Gemini AI- Navigate: Quick navigation to bookmarked pages

πŸ’» Technology Stack- Context-aware document analysis- Export: Save bookmarks as JSON

Core Framework- Natural language queries- Visual Indicators: Bookmark icons on thumbnails

  • Kotlin Multiplatform - Cross-platform development

  • Jetpack Compose Desktop - Modern declarative UI- Intelligent summaries and explanations

  • Coroutines - Asynchronous programming

πŸ“‘ Table of Contents

PDF Processing

  • Apache PDFBox - PDF manipulation and rendering### Smart Document Management- Auto-Extract: Automatically extracts TOC from PDF (if available)

AI & Speech- Bookmark creation and export- Multi-Level: Supports nested TOC structure

  • Google Gemini API - AI-powered document analysis

  • MaryTTS - Text-to-speech engine- Table of contents navigation- Quick Navigation: Click to jump to any section

UI & Networking- Page thumbnails

  • Material 3 Design - Modern design system

  • Voyager Navigation - Type-safe navigation- Zoom and rotation tools### πŸ€– AI Assistant (Demo)

  • Ktor Client - HTTP networking

  • Chat Interface: Side panel for AI interactions

πŸš€ Landing Page Features

Cross-Platform Support- Demo Mode: Shows placeholder responses (ready for API integration)

Two-Tab Interface

  1. Download Tab- Windows 10+ (.EXE)

    • Feature showcase with 4 key highlights

    • Platform-specific download buttons (Windows, macOS, Linux)- macOS 11+ (.DMG)## Setup & Usage

    • Build from source instructions with commands

    • Version information- Linux Ubuntu 20.04+ (DEB/RPM)

  2. About Us Tab### Quick Start

    • Detailed project introduction

    • Complete feature list (8 major features)## πŸš€ Quick Start

    • Comprehensive technology stack breakdown

    • Team member profiles and roles1. Download the files to a folder:

    • Contact information

Simply open index.html in any modern web browser. No installation or build process required! - index.html

Visual Features

  • βœ… Smooth tab transitions - styles.css

  • βœ… Animated feature cards

  • βœ… Scroll-triggered fade-in effects### Tabs Available: - script.js

  • βœ… Platform-specific icons

  • βœ… Hover animations1. Download - Get the app for your platform

  • βœ… Responsive design

  • βœ… Professional maroon & gold theme2. About Us - Learn about the team and technology2. Open index.html in a modern web browser (Chrome, Firefox, Edge, Safari)

πŸ“¦ Quick Start

Simply open index.html in any modern web browser. No installation or build process required!## πŸ’» Technology Stack3. Click "Open PDF" or the + button to load a PDF file

🎨 Design

The landing page features a beautiful maroon and gold color scheme:- Frontend: HTML5, CSS3, JavaScript ES6+That's it! No server or build process required for basic usage.

  • Primary Gold: #CC9900

  • Dark Maroon: #330000- Desktop App: Kotlin Multiplatform, Jetpack Compose

  • Pale Cream: #FFCC99

  • Muted Yellow: #DDDD99- AI Integration: Google Gemini AI### For Development

πŸ“± Browser Support- PDF Engine: PDF.js

  • βœ… Chrome/Edge 90+If you want to run it on a local server (recommended for development):

  • βœ… Firefox 88+

  • βœ… Safari 14+## πŸ‘₯ Meet the Team

  • βœ… Opera 76+

  • βœ… Mobile browsers```bash

πŸ“„ File Structure### JholaChhapDevs# Using Python 3

web-version/

β”œβ”€β”€ index.html              # Main landing page with 2 tabs**Shubham Gupta** - Team Leader  

β”œβ”€β”€ styles.css              # Complete styling and animations

β”œβ”€β”€ script.js               # Tab switching and interactionsProject architecture, AI integration, and overall coordination# Using Node.js (with http-server)

β”œβ”€β”€ README.md               # This file

β”œβ”€β”€ LANDING_PAGE_INFO.md    # Detailed documentationnpx http-server

└── references/

    └── AiChatComponent.kt  # Kotlin reference implementation**Pawan Kumar** - Developer  

Core PDF functionality and rendering engine implementation# Using PHP

πŸ”§ Customization

php -S localhost:8000

Update Download Links

Edit index.html and replace # in download buttons:Sanyam Goel - Developer ```

<a href="YOUR_DOWNLOAD_URL" class="download-btn windows">UI/UX design and frontend development

Then open http://localhost:8000 in your browser.

Change Colors

Edit CSS variables in styles.css:## 🎨 Design

:root {## Keyboard Shortcuts

    --primary-gold: #CC9900;

    --dark-maroon: #330000;The landing page features a beautiful maroon and gold color scheme that reflects professionalism and elegance:

}

```- Primary Gold: #CC9900- **Arrow Left/Right**: Previous/Next page



## 🌐 Deployment Options- Dark Maroon: #330000- **+/=**: Zoom in



### GitHub Pages- Pale Cream: #FFCC99- **-**: Zoom out

```bash

git add .- Muted Yellow: #DDDD99- **0**: Reset zoom

git commit -m "Add PDF Juggler landing page"

git push origin main- **Enter** (in AI chat): Send message

Enable GitHub Pages in repository settings.### Visual Features:

Netlify/Vercel- Smooth tab transitions## Browser Compatibility

Drag and drop the folder for instant deployment.

  • Hover animations

πŸ‘₯ Meet the Team

  • Scroll-triggered fade-ins- βœ… Chrome/Edge (recommended)

JholaChhapDevs - MCA 2nd Year

  • Platform-specific icons- βœ… Firefox

Shubham Gupta (Team Leader)

Project architecture, AI integration, and overall coordination- Responsive design- βœ… Safari

Pawan Kumar (Developer) - ⚠️ Internet Explorer (not supported)

Core PDF functionality and rendering engine implementation

πŸ“¦ Deployment

Sanyam Goel (Developer)

UI/UX design and frontend development## Differences from KMP Version

πŸ† For Softablitz 2025### Option 1: GitHub Pages

This project was created as part of Softablitz 2025, showcasing:```bash### Simplified Features

  • βœ… Modern cross-platform desktop application

  • βœ… AI integration with Google Geminigit add .- No actual PDF editing/saving (requires backend)

  • βœ… Advanced PDF manipulation capabilities

  • βœ… Text-to-speech functionalitygit commit -m "Add PDF Juggler landing page"- No highlight annotations (could be added with additional work)

  • βœ… Professional UI/UX design

  • βœ… Comprehensive feature setgit push origin main- No text selection/search (could be added with PDF.js text layer)

πŸ“ž Contact```- AI chat is demo mode (needs API integration)

For questions, feedback, or early access requests, please contact Team JholaChhapDevs through your institution's Softablitz 2025 channels.Then enable GitHub Pages in repository settings.

---### What's Included

Good luck with Softablitz 2025! πŸ†### Option 2: Netlify- βœ… Multi-tab PDF viewing

Made with ❀️ by Team JholaChhapDevs Drag and drop the folder to Netlify for instant deployment.- βœ… Zoom, rotation, navigation

MCA 2nd Year β€’ Softablitz 2025

  • βœ… Thumbnails, TOC, bookmarks

Option 3: Vercel- βœ… Same visual design and color scheme


vercel --prod

```## Customization



### Option 4: Any Web Host### Colors

Upload via FTP/SFTP to any web hosting service.Edit CSS variables in `styles.css`:

```css

## πŸ”§ Customization:root {

    --primary-gold: #CC9900;

### Update Download Links    --dark-maroon: #330000;

Edit `index.html` and replace `#` with actual download URLs:    --pale-cream: #FFCC99;

```html    /* ... more colors ... */

<a href="YOUR_WINDOWS_DOWNLOAD_URL" class="download-btn windows">}

<a href="YOUR_MACOS_DOWNLOAD_URL" class="download-btn macos">```

<a href="YOUR_LINUX_DOWNLOAD_URL" class="download-btn linux">

```### Fonts

The app uses the Inter font from Google Fonts. To use custom fonts like in the KMP version:

### Change Colors

Edit CSS variables in `styles.css`:1. Add font files to a `fonts/` folder

```css2. Update the `@font-face` rules in `styles.css`

:root {3. Update the `font-family` properties

    --primary-gold: #YOUR_COLOR;

    --dark-maroon: #YOUR_COLOR;## Adding AI Integration

}

```To connect a real AI service (like Gemini, OpenAI, etc.):



### Add More Content1. Get an API key from your chosen provider

The HTML structure is clean and easy to extend. Add new sections in either tab as needed.2. Update the `sendAiMessage()` function in `script.js`:



## πŸ“± Browser Support```javascript

async function sendAiMessage() {

- βœ… Chrome/Edge 90+    const message = aiInput.value.trim();

- βœ… Firefox 88+    if (!message) return;

- βœ… Safari 14+    

- βœ… Opera 76+    // Add user message to UI

- βœ… Mobile browsers    addMessageToChat('user', message);

    aiInput.value = '';

## πŸ“„ File Structure    

    // Call your AI API

```    try {

web-version/        const response = await fetch('YOUR_AI_API_ENDPOINT', {

β”œβ”€β”€ index.html              # Main landing page            method: 'POST',

β”œβ”€β”€ styles.css              # All styling and animations            headers: {

β”œβ”€β”€ script.js               # Tab switching logic                'Content-Type': 'application/json',

β”œβ”€β”€ README.md               # This file                'Authorization': 'Bearer YOUR_API_KEY'

β”œβ”€β”€ LANDING_PAGE_INFO.md    # Detailed documentation            },

β”œβ”€β”€ script_old.js           # Backup of original PDF viewer            body: JSON.stringify({

β”œβ”€β”€ README_backup.md        # Backup of original README                message: message,

└── references/                // Add PDF context if needed

    └── AiChatComponent.kt  # Kotlin reference            })

```        });

        

## 🌟 Highlights        const data = await response.json();

        addMessageToChat('assistant', data.response);

βœ… Professional landing page design      } catch (error) {

βœ… Multi-platform download options          console.error('AI Error:', error);

βœ… Feature showcase section          addMessageToChat('assistant', 'Sorry, I encountered an error.');

βœ… Complete team information      }

βœ… Technology stack display  }

βœ… Smooth animations and transitions  ```

βœ… Fully responsive design  

βœ… Easy to customize and deploy  ## Extending Functionality



## πŸ“ž Contact### Adding Text Selection

Use PDF.js text layer:

For questions, feedback, or early access requests, please contact the JholaChhapDevs team through your institution's Softablitz 2025 channels.```javascript

const textLayer = await page.getTextContent();

## πŸ“ License// Render text layer over canvas

Created for Softablitz 2025. All rights reserved by Team JholaChhapDevs.

Adding Search

---```javascript

// Use PDF.js text extraction + search logic

Good luck with your competition! πŸ†const text = await page.getTextContent();

// Implement search highlighting

Made with ❀️ by Team JholaChhapDevs ```

MCA 2nd Year β€’ Softablitz 2025

Adding Annotations

Use Canvas API or SVG overlays to draw on PDFs

Libraries Used

  • PDF.js (v3.11.174): Mozilla's PDF rendering library
    • Loaded from CDN (no installation needed)
    • Handles PDF parsing and rendering

Deployment

GitHub Pages

  1. Create a GitHub repository
  2. Upload the three files
  3. Enable GitHub Pages in settings
  4. Access at https://yourusername.github.io/repo-name/

Netlify/Vercel

Simply drag and drop the folder to deploy instantly

Any Web Host

Upload files via FTP/SFTP to any web hosting service

License

This is a demonstration project. Adjust the license as needed for your use case.

Credits

Design inspired by the PDF Juggler KMP application with maroon and gold theme.


Need Help? Check the browser console for any errors, and ensure you're using a modern browser with JavaScript enabled.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •