Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanups! #36

Merged
merged 1 commit into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*



/.idea
5 changes: 2 additions & 3 deletions docs/Advanced Configuration/OCR.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This document provides instructions on how to add additional language packs for
The paths have changed for the tessadata locations on new docker images, please use ``/usr/share/tessdata`` (Others should still work for backwards compatibility but might not)

## How does the OCR Work
Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) which in turn uses tesseract for its text recognition.
Stirling-PDF uses tesseract for its text recognition.
All credit goes to them for this awesome work!

## Language Packs
Expand Down Expand Up @@ -53,8 +53,7 @@ Add the following to your existing docker run command
```

#### Non-Docker
If you are not using Docker, you need to install the OCR components, including the ocrmypdf app.
You can see [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html)
If you are not using Docker, you need to install the OCR components, including the tesseract app.

Debian based systems, install languages with this command:

Expand Down
3 changes: 0 additions & 3 deletions docs/Contribute/Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
sidebar_position: 7
id: Code
title: Code
description: Create a doc page with rich content.
tags:
- Code

---
See our [CONTRIBUTING guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
3 changes: 0 additions & 3 deletions docs/Contribute/Language.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
sidebar_position: 7
id: Language
title: Add a New Language
description: Create a doc page with rich content.
tags:
- Language

---
See [HowToAddNewLanguage](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md)
File renamed without changes.
3 changes: 0 additions & 3 deletions docs/Functionality/Convert/_category_.json

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ sidebar_position: 4

- `extract-image-scans`: This feature enables users to extract scanned images from PDF files.

- `sign`: This feature allows users to add their writen signature to PDF documents. For digitally signing PDFs see Features - Security --> `cert_sign`
- `sign`: This feature allows users to add their writen signature to PDF documents. For cert signing see [Features-Security](/Functionality/Security/)

- `flatten`: This functionality enables users to flatten a PDF, merging interactive form fields with the document.

Expand Down
3 changes: 0 additions & 3 deletions docs/Functionality/Miscellaneous/_category_.json

This file was deleted.

3 changes: 0 additions & 3 deletions docs/Functionality/Page operations/_category_.json

This file was deleted.

File renamed without changes.
3 changes: 0 additions & 3 deletions docs/Functionality/Security/_category_.json

This file was deleted.

28 changes: 28 additions & 0 deletions docs/Functionality/The Technologies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
sidebar_position: 0
---
# The Technologies Behind Stirling PDF
Stirling PDF harnesses several technologies throughout its implementation.

# Java
As part of the JAVA framework to host the WebUI itself we use Spring Boot and Thymeleaf.
Apache PDFBox is the core of the PDF functionality within Stirling-PDF.
They offer a variety of methods to edit PDFs which we have then built Stirling-PDF on.
We also show all licenses used within our Java application [here](https://stirlingpdf.io/licenses).

# JavaScript
- [PDF.js](https://github.com/mozilla/pdf.js)
- [PDF-LIB.js](https://github.com/Hopding/pdf-lib)

# Core Components
- [Spring Boot + Thymeleaf](https://spring.io/projects/spring-boot) for the web framework
- [PDFBox](https://pdfbox.apache.org/) for majority of PDF manipulation
- [qpdf](https://qpdf.sourceforge.io/) for some PDF operations
- [LibreOffice](https://www.libreoffice.org/discover/libreoffice/) for advanced file conversions

# Additional Technologies
- HTML, CSS, JavaScript for the frontend
- Docker for containerization
- jcefmaven (specifically for portable non-server version)

For a comprehensive list of all technologies within the java application and their licenses, please visit our [licenses page](https://stirlingpdf.io/licenses).
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 2
id: Docker Install
title: Installation Guide
title: Docker Guide
---

# Docker Images for Stirling-PDF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Install the following software, if not already installed:

- Autoconf

- libtool
- libtool[Windows.md](Windows.md)

- pkg-config

Expand Down Expand Up @@ -83,50 +83,35 @@ nix-env -iA nixpkgs.jbig2enc
```

### Step 3: Install Additional Software
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for pattern recognition functionality.
Next we need to install LibreOffice for conversions, tesseract for OCR, and opencv for pattern recognition functionality.

Install the following software:

- libreoffice-core

- libreoffice-common

- libreoffice-writer

- libreoffice-calc

- libreoffice-impress

- libreoffice (libreoffice-core libreoffice-common libreoffice-writer libreoffice-calc libreoffice-impress)
- python3-uno

- unoconv

- pngquant

- unpaper

- ocrmypdf

- tesseract
- opencv-python-headless

For Debian-based systems, you can use the following command:

```bash
sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf
sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress tesseract
pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint --break-system-packages
```

For Fedora:

```bash
sudo dnf install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf
sudo dnf install -y libreoffice-writer libreoffice-calc libreoffice-impress tesseract
pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
```

For Nix:

```bash
nix-env -iA nixpkgs.unpaper nixpkgs.libreoffice nixpkgs.ocrmypdf nixpkgs.poppler_utils
nix-env -iA nixpkgs.libreoffice nixpkgs.tesseract nixpkgs.poppler_utils
pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
```

Expand Down Expand Up @@ -170,7 +155,7 @@ Manual:

1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
3. Please view [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html) for more info.
3. Please view [tesseract install guide](https://tesseract.readthedocs.io/en/latest/installation.html) for more info.

**IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,42 @@
---
sidebar_position: 1
id: Docker Versions
title: Docker Versions
id: Versions
title: Versions
---
# Docker Versions of Stirling PDF
# Versions of Stirling PDF

Stirling PDF is avaiable in three distinct docker images:
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-fat?label=Stirling-PDF%20Fat)
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest?label=Stirling-PDF%20Full)
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite)
Stirling PDF is available in several formats, each catering to different needs and use cases:

Each version caters to different needs based on the specific features required and the storage space available.
## Docker Versions
For server deployments, we offer three pre-configured Docker images:
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/stirlingtools/stirling-pdf/latest-fat?label=Stirling-PDF%20Fat)
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/stirlingtools/stirling-pdf/latest?label=Stirling-PDF%20Full)
- ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/stirlingtools/stirling-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite)

The Fat version contains the same from Full but with additional fonts for conversion and the Security jar pre-bundled. It is the recommended version for those unconcerned about storage
- **Fat**: Includes all Full features plus additional fonts and pre-bundled jar security version
- **Full**: All features pre-configured and ready to use
- **Ultra-Lite**: Minimal installation with core features only

For an in-depth comparison of what each version offers, please refer to the graph below.
If storage optimization is not a concern, we recommend using the latest tag for the most complete set of features.

Here are the different technologies each version uses.
## Desktop Versions (Windows & Unix)
The desktop versions of Stirling PDF use a dynamic feature system. They start with Ultra-Lite features as the base and automatically enable additional functionality based on installed dependencies:

Base Features (Ultra-Lite):
- Core PDF operations (merge, split, rotate, etc.)
- Basic conversions
- Password protection
- All features marked with ✔️ in the Ultra-Lite column below

Additional features become available automatically when you install:
- LibreOffice: Enables document format conversions (PDF to Word, Excel, etc.)
- Tesseract: Enables OCR functionality
- QPDF: Enables compression and repair features
- Other dependencies: Enable their respective features


## Feature Comparison

Here are the different technologies each version uses:

| Technology | Ultra-Lite | Full |
|----------------|:----------:|:----:|
Expand All @@ -26,7 +45,7 @@ Here are the different technologies each version uses.
| Libre | | ✔️ |
| Python | | ✔️ |
| OpenCV | | ✔️ |
| OCRmyPDF | | ✔️ |
| Tesseract | | ✔️ |

And here you see what functions are offered as part of each.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 2
id: Windows Installation
title: Windows installation Guide
title: Windows Guide
---
# Windows Installation Guide for Stirling PDF

Expand Down
File renamed without changes.
46 changes: 46 additions & 0 deletions docs/Overview/Getting Started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
sidebar_position: 1
---
# Getting Started with Stirling PDF

Welcome to Stirling PDF! This guide will help you choose the right installation method based on your needs.
We prioritise and focus on our Server deployment options however we also offer a [Ultra-Lite model](/Installation/Docker/Docker%20Versions) for desktop users

## Choose Your Installation Type

### For Desktop Users
If you want to run Stirling PDF on your personal computer:

1. **Windows Users**
- Download our portable executable (Stirling-PDF.exe) for a simple, standalone experience
- Refer to our [Windows Installation Guide](/Installation/Windows%20Installation) for detailed setup instructions
- Note: A UI installer version is coming in the next release!

2. **Linux/Unix Users**
- Follow our comprehensive [Unix Installation Guide](/Installation/Unix%20Installation) for a native installation

### For Server Deployments
If you're looking to host Stirling PDF as a service:

1. **Docker Users**
- We recommend using our Docker images for the easiest deployment
- Check our [Docker Installation Guide](/Installation/Docker/Docker%20Install) for setup instructions
- Choose from three versions:
- Fat (latest-fat): Includes additional fonts and security features
- Standard (latest): Balanced features and size
- Ultra-Lite (latest-ultra-lite): Minimal size with core features

2. **Manual Server Setup**
- For bare metal server installations
- Use Stirling-PDF-Server package
- Follow our [Unix Installation Guide](/Installation/Unix%20Installation) for setup steps

## Quick Reference Table

| Installation Type | Best For | Documentation Link |
|------------------|----------|-------------------|
| Stirling-PDF.exe | Windows desktop users | [Windows Guide](/Installation/Windows%20Installation) |
| Stirling-PDF-Server | Server deployments without Docker | [Unix Guide](/Installation/Unix%20Installation) |
| Docker Images | Server deployments with Docker | [Docker Guide](/Installation/Docker/Docker%20Install) |

Choose the installation method that best suits your needs and environment. Each guide provides detailed instructions for getting Stirling PDF up and running on your system.
26 changes: 0 additions & 26 deletions docs/Overview/The Technologies.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/Overview/What is Stirling-PDF.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 0
slug: /
---

Expand Down
Loading