mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	local execution
This commit is contained in:
		
							parent
							
								
									e16ed5ca1a
								
							
						
					
					
						commit
						fd918ef15f
					
				
							
								
								
									
										137
									
								
								LocalRunGuide.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								LocalRunGuide.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,137 @@ | ||||
| 
 | ||||
| To run the application without Docker, you will need to manually install all dependencies and build the necessary components. | ||||
| 
 | ||||
| Note that some dependencies might not be available in the standard repositories of all Linux distributions, and may require additional steps to install. | ||||
| 
 | ||||
| The following guide assumes you have a basic understanding of using a command line interface in your operating system. | ||||
| 
 | ||||
| It should work on most Linux distributions and MacOS. For Windows, you might need to use Windows Subsystem for Linux (WSL) for certain steps. | ||||
| The amount of dependencies is to actually reduce overall size, ie installing LibreOffice sub components rather than full LibreOffice package. | ||||
| 
 | ||||
| ### Step 1: Prerequisites | ||||
| 
 | ||||
| Install the following software, if not already installed: | ||||
| 
 | ||||
| - Java 17 or later | ||||
| 
 | ||||
| - Gradle 7.0 or later | ||||
| 
 | ||||
| - Git | ||||
| 
 | ||||
| - Python 3 (with pip) | ||||
| 
 | ||||
| - Make | ||||
| 
 | ||||
| - GCC/G++ | ||||
| 
 | ||||
| - Automake | ||||
| 
 | ||||
| - Autoconf | ||||
| 
 | ||||
| - libtool | ||||
| 
 | ||||
| - pkg-config | ||||
| 
 | ||||
| - zlib1g-dev | ||||
| 
 | ||||
| - libleptonica-dev | ||||
| 
 | ||||
| For Debian-based systems, you can use the following command: | ||||
| 
 | ||||
| ```bash | ||||
| sudo apt-get update | ||||
| sudo apt-get install -y git  automake  autoconf  libtool  libleptonica-dev  pkg-config zlib1g-dev make g++ java-17-openjdk  gradle python3 python3-pip | ||||
| ``` | ||||
| 
 | ||||
| ### Step 2: Clone and Build jbig2enc (Only required for certain OCR functionality) | ||||
| 
 | ||||
| ```bash | ||||
| git clone https:github.com/agl/jbig2enc | ||||
| cd jbig2enc | ||||
| ./autogen.sh | ||||
| ./configure | ||||
| make | ||||
| sudo make install | ||||
| ``` | ||||
| 
 | ||||
| ### Step 3: Install Additional Software | ||||
| Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for patern recognition functionality. | ||||
| 
 | ||||
| Install the following software: | ||||
| 
 | ||||
| - libreoffice-core | ||||
| 
 | ||||
| - libreoffice-common | ||||
| 
 | ||||
| - libreoffice-writer | ||||
| 
 | ||||
| - libreoffice-calc | ||||
| 
 | ||||
| - libreoffice-impress | ||||
| 
 | ||||
| - python3-uno | ||||
| 
 | ||||
| - unoconv | ||||
| 
 | ||||
| - pngquant | ||||
| 
 | ||||
| - unpaper | ||||
| 
 | ||||
| - ocrmypdf | ||||
| 
 | ||||
| - opencv-python-headless | ||||
| 
 | ||||
| For Debian-based systems, you can use the following command: | ||||
| 
 | ||||
| ```bash | ||||
| sudo apt-get install -y libreoffice-core libreoffice-common libreoffice-writer libreoffice-calc  libreoffice-impress python3-uno  unoconv  pngquant  unpaper  ocrmypdf | ||||
| pip3 install opencv-python-headless | ||||
| ``` | ||||
| 
 | ||||
| ### Step 4: Clone and Build Stirling-PDF | ||||
| 
 | ||||
| ```bash | ||||
| git clone https://github.com/Frooodle/Stirling-PDF.git | ||||
| cd Stirling-PDF | ||||
| ./gradlew build | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| ### Step 5: Move jar to desired location | ||||
| 
 | ||||
| After the build process, a `.jar` file will be generated in the `build/libs` directory. | ||||
| You can move this file to a desired location, for example, `/opt/Stirling-PDF/`. | ||||
| You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory. | ||||
| This folder is required for the python scripts using OpenCV | ||||
| 
 | ||||
| ### Step 6: Other files | ||||
| #### OCR | ||||
| If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running none english scanning. | ||||
| 
 | ||||
| ##### Installing Language Packs | ||||
| 
 | ||||
| 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/tesseract-ocr/4.00/tessdata` | ||||
| Please view  [OCRmyPDF install guide](https:ocrmypdf.readthedocs.io/en/latest/installation.html) for more info. | ||||
| **IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### Step 7: Run Stirling-PDF | ||||
| 
 | ||||
| ```bash | ||||
| ./gradlew bootRun | ||||
| or | ||||
| java -jar build/libs/app.jar | ||||
| ``` | ||||
| 
 | ||||
| Remember to set the necessary environment variables before running the project if you want to customize the application the list can be seen in the main readme. | ||||
| 
 | ||||
| You can do this in the terminal by using the `export` command or -D arguements: | ||||
| 
 | ||||
| ```bash | ||||
| export APP_HOME_NAME="Stirling PDF" | ||||
| or | ||||
| -DAPP_HOME_NAME="Stirling PDF"  | ||||
| ``` | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user