Skip to content

MHMALEK/pdf-editor-client

Repository files navigation

🚀 PDF Editor in JavaScript - Edit PDFs like a Boss!

Welcome to this exciting project that transforms your browser into a powerful PDF editor! Built purely in JavaScript, it allows you to add some pizzazz into your boring PDFs with text and images, and save them - all directly in your browser. No server-side processing, no problem!

🎉 Features

  • Edit PDF files in your browser: Why download when you can do it online?
  • Add text and images: Make your PDFs more engaging!
  • Save edited PDFs: Keep what you love, discard what you don't!
  • Pure JavaScript: Because we love JavaScript!

📚 Libraries Used

This project shines thanks to several amazing libraries:

  • Fabric.js: Our magic wand for working with HTML canvas elements.
  • jsPDF: Our partner-in-crime for generating PDF files in JavaScript.
  • Tailwind CSS: Our secret sauce for rapidly building custom user interfaces that are as unique as you are!

🔨 Building

We believe in the power of Rollup, which bundles our JavaScript code and morphs TypeScript into JavaScript.

Prerequisites

To join the fun of building this project, run:

Installation

  1. Clone the repository:
git clone https://github.com/MHMALEK/pdf-editor.git

Navigate into the project directory:

cd pdf-editor

Install the dependencies:

npm install

Start the development server:

npm start

then you can develop and run it on develop env.

Or you can just go and use the deployed version here:

https://pdf-editor-pure-js.netlify.app/

Usage

Load a PDF by clicking on the "Load PDF" button and selecting a file. Click on the "Add Text" button to add a text object to the PDF. Select the text to enable the editing options. Use the options at the bottom of the screen to style the text. Click on the "Save PDF" button to download the edited PDF.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

🎁 License

Free to use, free to explore! This project is all yours to play around with, but remember, it's mainly for testing purposes.

🤝 Contribution

We're all about learning and growing together. Contributions are more than welcome. Fork this project, make it your own, and create a pull request with your shiny new changes!

⚠️ Disclaimer

It's a playground for you to learn, test, and have fun. Please use wisely and at your own risk!