Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aarkue/pdf-tools-web

This project aims to provide a powerful web-based toolbox of different PDF-related features.
https://github.com/aarkue/pdf-tools-web

javascript nextjs pdf pdf-lib pdf-merge pdf-merger pdf-tools pwa typescript

Last synced: 3 months ago
JSON representation

This project aims to provide a powerful web-based toolbox of different PDF-related features.

Awesome Lists containing this project

README

        


PDF Tools Logo showing a PDF file icon with a wrench

# PDF Tools (Web)
This project aims to provide a powerful web-based toolbox of different PDF-related features.

**Try or install PDF Tools here: [https://pdf.wolke7.cloud](https://pdf.wolke7.cloud)**.

## Features

### Merging PDF Files
Merge multiple PDF documents to one file.

There are different options for the outline of the merged file available:
- _Retain outline entries as one entry per file_: The outlines of the original documents are retained. They are included as children of the corresponding top-level outline element, which is created for every file.
- _Retain outline entries_: Simply retain the outline entries of the original documents, only adjusting the page/destination they point to, to account for the changed page numbering.
- _Create one outline entry per file_: Create a single outline entry for each of the documents, using the file name as a title.
- _Don't create an outline_: Don't create any outline for the merged PDF file.

### Reordering PDF Pages
Visually reorder the pages of a PDF file.


Gif of visual reordering feature

### Extract Text
Extract and view or copy the text content of a PDF file, or individual pages.


Gif of text extraction feature

### Automatically Crop PDF
Crop PDF pages automatically to their content.


Gif of auto-crop feature

### Offline Use
The web app hosted at **[https://pdf.wolke7.cloud](https://pdf.wolke7.cloud)** is a progressive web app (PWA).
You can use it offline (after first visit) and even install it to have it easily available.

## Screenshots


Screenshot of user interface in light mode
Screenshot of user interface in dark mode



Screenshot of user interface in light mode

## Project Structure
This project uses Typescript.
The Web App (PWA) is implemented using Next.JS (React) and Tailwind CSS.

The main PDF merging and outline processing work is done in the following files: `lib/pdf-outline-helper.ts` and `components/PDFMagic.tsx`.

This project makes heavy use of the `pdf-lib` JavaScript library for PDF manipulation.
See also [https://pdf-lib.js.org](https://pdf-lib.js.org), [https://github.com/Hopding/pdf-lib](https://github.com/Hopding/pdf-lib) and its fork used in this project: [https://github.com/cantoo-scribe/pdf-lib](https://github.com/cantoo-scribe/pdf-lib).