Skip to content

PlusKitty/PDFTwice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PDFTwice

PDFTwice Screenshot

PDFTwice is a minimalist web tool for side-by-side PDF review. It is designed for QC and comparison of different versions of PDFs, like v1 vs v2, or translations. Unlike diff viewers, it is not focused on finding and highlighting differences. It provides an unencumbered view of both PDFs. You can try it here!

🚀 Features

  • Dual View: See two PDFs side-by-side for easy comparison.
  • Sync View: Sync scrolling, page navigation, and zoom between both documents for parallel review.
  • Search: Locate text within each document instantly. See all instances of the text with context and page numbers, and click on an instance to go to its location.
  • Session Recovery: Comments and session state are automatically saved to local storage, and restored if you close the tab without saving.
  • Privacy: 100% Client-Side. Your PDFs are processed entirely in your browser. No files are ever sent to a server.
  • Secure Local Bridge: When self-hosted, securely load local files via URL parameters (e.g., ?left=ver1.pdf&right=ver2.pdf) with built-in path traversal protection.
  • URL-based loading: Load remote PDFs directly via URL (e.g., ?left=https://example.com/doc.pdf). Demo: here Note: Requires CORS support on the remote server.
  • Comment & Export:
    • Double-click anywhere to add a sticky note.
    • Select text to add a highlighted comment.
    • Edit & Remove existing comments.
    • Custom Author: Set and persist your display name for new comments.
    • One-Click Export: Download the PDF with annotations.
  • Open source: This is a flexible, lean tool that can be easily integrated into existing workflows. E.g. auto-generate comparison views for QC processes, add buttons for specific DB actions, autosave to specific paths with preset naming patterns, etc.

Add comment See comment Search view

📦 Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/PlusKitty/PDFTwice.git
    cd PDFTwice/app
  2. Install dependencies:
    npm install

Running Locally

npm run dev

The app will be available at http://localhost:5173.

Professional Workflow (URL Parameters)

You can load PDFs automatically by passing left and right URL parameters: http://localhost:5173/?left=file1.pdf&right=file2.pdf

Note

For security, the application can only automatically load files from the app/public/samples directory when running through the local development server.

Deployment

Since this is a client-side React application, it can be hosted on:

Note: The "Local Bridge" feature for loading arbitrary local paths from your hard drive is only available when running the Vite development server locally.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

  • Free to Use: You can use this software for personal or internal purposes.
  • Open Source: You can modify and distribute the code.
  • Copyleft: If you modify this software and distribute it (or host it as a SaaS), you must release your source code under the same license.

Note: I am open to extending custom licenses if this one does not suit your needs. I support open source. If you are an open source developer and would like to work under different terms, please contact me. If you are a business and would like to discuss an agreement, contact me. I can be reached via pluskittydev [at] gmail [dot] com

See the LICENSE file for details.

About

A lightweight dual PDF viewer web app with synced scrolling, comments and search.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages