Skip to content

Commit

Permalink
Merge pull request #1193 from Stirling-Tools/redesign
Browse files Browse the repository at this point in the history
Redesign
  • Loading branch information
Frooodle authored May 18, 2024
2 parents 23b662e + f203e07 commit 1f9a0ed
Show file tree
Hide file tree
Showing 188 changed files with 3,974 additions and 2,298 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
openssl-dev \
bash \
curl \
openjdk17-jre \
openjdk21-jre \
su-exec \
shadow \
# Doc conversion
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-ultra-lite
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ RUN mkdir /configs /logs /customFiles && \
curl \
su-exec \
shadow \
openjdk17-jre && \
openjdk21-jre && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \
Expand Down
8 changes: 4 additions & 4 deletions LocalRunGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You could theoretically use a Distrobox/Toolbox, if your Distribution has old or

Install the following software, if not already installed:

- Java 17 or later
- Java 17 or later (21 recommended)

- Gradle 7.0 or later (included within repo so not needed on server)

Expand Down Expand Up @@ -42,19 +42,19 @@ 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++ openjdk-17-jdk python3 python3-pip
sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-21-jdk python3 python3-pip
```

For Fedora-based systems use this command:

```bash
sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zlib-devel make gcc-c++ java-17-openjdk python3 python3-pip
sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zlib-devel make gcc-c++ java-21-openjdk python3 python3-pip
```

For non-root users with Nix Package Manager, use the following command:
```bash
nix-channel --update
nix-env -iA nixpkgs.jdk17 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica
nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica
```

### Step 2: Clone and Build jbig2enc (Only required for certain OCR functionality)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package stirling.software.SPDF.config.security;

import io.github.pixee.security.Newlines;
import java.io.IOException;
import java.time.Duration;
import java.util.Map;
Expand All @@ -21,6 +20,7 @@
import io.github.bucket4j.Bucket;
import io.github.bucket4j.ConsumptionProbe;
import io.github.bucket4j.Refill;
import io.github.pixee.security.Newlines;

import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
Expand Down Expand Up @@ -126,12 +126,16 @@ private void processRequest(
ConsumptionProbe probe = userBucket.tryConsumeAndReturnRemaining(1);

if (probe.isConsumed()) {
response.setHeader("X-Rate-Limit-Remaining", Newlines.stripAll(Long.toString(probe.getRemainingTokens())));
response.setHeader(
"X-Rate-Limit-Remaining",
Newlines.stripAll(Long.toString(probe.getRemainingTokens())));
filterChain.doFilter(request, response);
} else {
long waitForRefill = probe.getNanosToWaitForRefill() / 1_000_000_000;
response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value());
response.setHeader("X-Rate-Limit-Retry-After-Seconds", Newlines.stripAll(String.valueOf(waitForRefill)));
response.setHeader(
"X-Rate-Limit-Retry-After-Seconds",
Newlines.stripAll(String.valueOf(waitForRefill)));
response.getWriter().write("Rate limit exceeded for POST requests.");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class ConvertImgPDFController {
description =
"This endpoint converts a PDF file to image(s) with the specified image format, color type, and DPI. Users can choose to get a single image or multiple images. Input:PDF Output:Image Type:SI-Conditional")
public ResponseEntity<byte[]> convertToImage(@ModelAttribute ConvertToImageRequest request)
throws IOException {
throws NumberFormatException, Exception {
MultipartFile file = request.getFileInput();
String imageFormat = request.getImageFormat();
String singleOrMultiple = request.getSingleOrMultiple();
Expand All @@ -56,23 +56,20 @@ public ResponseEntity<byte[]> convertToImage(@ModelAttribute ConvertToImageReque
String filename =
Filenames.toSimpleFileName(file.getOriginalFilename())
.replaceFirst("[.][^.]+$", "");
try {
result =
PdfUtils.convertFromPdf(
pdfBytes,
imageFormat.toUpperCase(),
colorTypeResult,
singleImage,
Integer.valueOf(dpi),
filename);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

result =
PdfUtils.convertFromPdf(
pdfBytes,
imageFormat.toUpperCase(),
colorTypeResult,
singleImage,
Integer.valueOf(dpi),
filename);


if(result == null || result.length == 0) {
logger.error("resultant bytes for {} is null, error converting ", filename);
}
if (singleImage) {
String docName = filename + "." + imageFormat;
MediaType mediaType = MediaType.parseMediaType(getMediaType(imageFormat));
Expand Down
19 changes: 13 additions & 6 deletions src/main/resources/messages_ar_AR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ visitGithub=Visit Github Repository
donate=Donate
color=Color
sponsor=Sponsor

info=Info


###############
Expand Down Expand Up @@ -102,12 +102,18 @@ pipelineOptions.validateButton=Validate
#############
# NAVBAR #
#############
navbar.convert=تحويل
navbar.security=الأمان
navbar.other=أخرى
navbar.favorite=Favorites
navbar.darkmode=الوضع الداكن
navbar.pageOps=عمليات الصفحة
navbar.language=Languages
navbar.settings=إعدادات
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +748,7 @@ extractImages.submit=استخراج
fileToPDF.title=ملف إلى PDF
fileToPDF.header=تحويل أي ملف إلى PDF
fileToPDF.credit=تستخدم هذه الخدمة ليبر أوفيس وأونوكونف لتحويل الملفات.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=يجب أن تتضمن أنواع الملفات المدعومة ما يلي ولكن للحصول على قائمة محدثة كاملة بالتنسيقات المدعومة ، يرجى الرجوع إلى وثائق LibreOffice
fileToPDF.submit=تحويل إلى PDF

Expand Down Expand Up @@ -794,7 +801,7 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
#multiTool
multiTool.title=أداة متعددة PDF
multiTool.header=أداة متعددة PDF
multiTool.uploadPrompts=Please Upload PDF
multiTool.uploadPrompts=File Name

#view pdf
viewPdf.title=View PDF
Expand Down
20 changes: 15 additions & 5 deletions src/main/resources/messages_bg_BG.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ visitGithub=Посетете Github Repository
donate=Направете дарение
color=Цвят
sponsor=Спонсор
info=Info




Expand Down Expand Up @@ -102,12 +104,18 @@ pipelineOptions.validateButton=Валидирай
#############
# NAVBAR #
#############
navbar.convert=Преобразуване
navbar.security=Сигурност
navbar.other=Разни
navbar.favorite=Favorites
navbar.darkmode=Тъмна тема
navbar.pageOps=Операции със страници
navbar.language=Languages
navbar.settings=Настройки
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +750,7 @@ extractImages.submit=Извличане
fileToPDF.title=Файл към PDF
fileToPDF.header=Конвертирайте всеки файл към PDF
fileToPDF.credit=Тази услуга използва LibreOffice и Unoconv за преобразуване на файлове.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=Поддържаните типове файлове трябва да включват по-долу, но за пълен актуализиран списък на поддържаните формати, моля, вижте документацията на LibreOffice
fileToPDF.submit=Преобразуване към PDF

Expand Down Expand Up @@ -794,7 +803,8 @@ pdfOrganiser.placeholder=(напр. 1,3,2 или 4-8,2,10-12 или 2n-1)
#multiTool
multiTool.title=PDF Мулти инструмент
multiTool.header=PDF Мулти инструмент
multiTool.uploadPrompts=Моля качете PDF
multiTool.uploadPrompts=File Name


#view pdf
viewPdf.title=Преглед на PDF
Expand Down
16 changes: 12 additions & 4 deletions src/main/resources/messages_ca_CA.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository
donate=Donate
color=Color
sponsor=Sponsor
info=Info



Expand Down Expand Up @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate
#############
# NAVBAR #
#############
navbar.convert=Converteix
navbar.security=Seguretat
navbar.other=Altres
navbar.favorite=Favorites
navbar.darkmode=Mode Fosc
navbar.pageOps=Operacions de Pàgina
navbar.language=Languages
navbar.settings=Opcions
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +749,7 @@ extractImages.submit=Extreu
fileToPDF.title=Arxiu a PDF
fileToPDF.header=Converteix arxiu a PDF
fileToPDF.credit=Utilitza LibreOffice i Unoconv per a la conversió.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=Els tipus de fitxers admesos haurien d'incloure el següent, però per obtenir una llista completa actualitzada dels formats compatibles, consulteu la documentació de LibreOffice
fileToPDF.submit=Converteix a PDF

Expand Down
16 changes: 12 additions & 4 deletions src/main/resources/messages_de_DE.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ visitGithub=GitHub-Repository besuchen
donate=Spenden
color=Farbe
sponsor=Sponsor
info=Info



Expand Down Expand Up @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validieren
#############
# NAVBAR #
#############
navbar.convert=Konvertieren
navbar.security=Sicherheit
navbar.other=Anderes
navbar.favorite=Favorites
navbar.darkmode=Dunkler Modus
navbar.pageOps=Seitenoperationen
navbar.language=Languages
navbar.settings=Einstellungen
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +749,7 @@ extractImages.submit=Extrahieren
fileToPDF.title=Datei in PDF
fileToPDF.header=Beliebige Dateien in PDF konvertieren
fileToPDF.credit=Dieser Dienst verwendet LibreOffice und Unoconv für die Dateikonvertierung.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=Unterstützte Dateitypen sollten die folgenden enthalten, eine vollständige aktualisierte Liste der unterstützten Formate finden Sie jedoch in der LibreOffice-Dokumentation
fileToPDF.submit=In PDF konvertieren

Expand Down
16 changes: 12 additions & 4 deletions src/main/resources/messages_el_GR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ visitGithub=Επισκεφθείτε το Αποθετήριο του Github
donate=Δωρισε
color=Χρώμα
sponsor=Yποστηρικτής
info=Info



Expand Down Expand Up @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Επικυρώνω
#############
# NAVBAR #
#############
navbar.convert=Μετατροπή
navbar.security=Ασφάλεια
navbar.other=Διάφορα
navbar.favorite=Favorites
navbar.darkmode=Μαύρο Θέμα
navbar.pageOps=Λειτουργίες σελίδας
navbar.language=Languages
navbar.settings=Ρυθμίσεις
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +749,7 @@ extractImages.submit=Εξαγωγή
fileToPDF.title=Αρχείο σε PDF
fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF
fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice
fileToPDF.submit=Μετατροπή σε PDF

Expand Down
18 changes: 13 additions & 5 deletions src/main/resources/messages_en_GB.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository
donate=Donate
color=Color
sponsor=Sponsor
info=Info



Expand Down Expand Up @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate
#############
# NAVBAR #
#############
navbar.convert=Convert
navbar.security=Security
navbar.other=Miscellaneous
navbar.favorite=Favorites
navbar.darkmode=Dark Mode
navbar.pageOps=Page Operations
navbar.language=Languages
navbar.settings=Settings
navbar.allTools=Tools
navbar.multiTool=Multi Tools
navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF
navbar.sections.security=Sign & Security
navbar.sections.advance=Advanced
navbar.sections.edit=View & Edit

#############
# SETTINGS #
Expand Down Expand Up @@ -742,6 +749,7 @@ extractImages.submit=Extract
fileToPDF.title=File to PDF
fileToPDF.header=Convert any file to PDF
fileToPDF.credit=This service uses LibreOffice and Unoconv for file conversion.
fileToPDF.supportedFileTypesInfo=Supported File types
fileToPDF.supportedFileTypes=Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation
fileToPDF.submit=Convert to PDF

Expand Down Expand Up @@ -794,7 +802,7 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
#multiTool
multiTool.title=PDF Multi Tool
multiTool.header=PDF Multi Tool
multiTool.uploadPrompts=Please Upload PDF
multiTool.uploadPrompts=File Name

#view pdf
viewPdf.title=View PDF
Expand Down
Loading

0 comments on commit 1f9a0ed

Please sign in to comment.