Compare commits

...

22 Commits

Author SHA1 Message Date
albanobattistella
908b409155 Update messages_it_IT.properties (#1649) 2024-08-08 22:06:13 +01:00
github-actions[bot]
4ad716f281 Update 3rd Party Licenses (#1648)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-08-08 21:41:40 +01:00
Diallo
148feda83f Bug fix UI crash when url is unrechable (#1642)
* feat: Add URL  reachability check in ConvertWebsiteToPDF

* Add tests for URL reachability in ConvertWebsiteToPdfTest

* test: Update URL in ConvertWebsiteToPdfTest for testing
2024-08-08 20:35:15 +00:00
dependabot[bot]
771b312ee8 Bump com.twelvemonkeys.imageio:imageio-tiff from 3.10.1 to 3.11.0 (#1503)
* Bump com.twelvemonkeys.imageio:imageio-tiff from 3.10.1 to 3.11.0

Bumps com.twelvemonkeys.imageio:imageio-tiff from 3.10.1 to 3.11.0.

---
updated-dependencies:
- dependency-name: com.twelvemonkeys.imageio:imageio-tiff
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update build.gradle

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-08-08 21:33:14 +01:00
github-actions[bot]
00a0670954 📝 Update README: Translation Progress Table (#1647)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-08-08 21:17:18 +01:00
github-actions[bot]
39423c247c 💾 Update Version (#1646)
💾 Sync Versions
> Made via sync_files.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-08-08 21:17:08 +01:00
Anthony Stirling
6d8d0bad56 langs 2024-08-08 21:15:41 +01:00
Anthony Stirling
a3374745f8 formatting 2024-08-08 21:13:59 +01:00
dependabot[bot]
d65a637a46 Bump alpine from 3.20.0 to 3.20.1 (#1505)
* Bump alpine from 3.20.0 to 3.20.1

Bumps alpine from 3.20.0 to 3.20.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update Dockerfile

* Update Dockerfile-fat

* Update Dockerfile-ultra-lite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-08-08 20:49:56 +01:00
PingLin8888
d0bf385d69 Issue1632 remove images (#1645)
* Implemented PdfImageRemovalService.java and PdfImageRemovalController.java. Image can be removed testing using Postman, but the file size doesn't change.

* Fix removal logic in service file to decrease file size.

* Implement "Remove Image" feature on the website

Updated the front-end code to integrate the "Remove Image" feature. The new functionality is now fully operational on the website, allowing users to remove images as expected.

* Add comments to PdfImageRemovalController and PdfImageRemovalService.

* Change the google material icon in navbar, homepage and remove-image-pdf.html.
2024-08-08 20:38:36 +01:00
github-actions[bot]
bc35745768 📝 Update README: Translation Progress Table (#1640)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-08-07 22:19:08 +01:00
HimaGirija
e50391a44a Added multithreaded feature for image extraction (#1641)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-08-07 22:16:57 +01:00
arsvendg
96b080528b Changes norwegian translation (#1639)
* Minor correction

* Endringer oversettelser

* Changes norwegian translation
2024-08-07 09:44:44 +01:00
Anthony Stirling
f35cbc4310 enhancement auto have label 2024-08-06 10:57:18 +01:00
github-actions[bot]
c09fc1541f 📝 Update README: Translation Progress Table (#1636)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-08-06 10:51:50 +01:00
Anthony Stirling
dff53310a7 lang 2024-08-06 10:50:47 +01:00
mylk13
ec537c6fde Add a checkbox to WatermarkController to convert the pdf to pdf-image (#1633)
* Add a checkbox to WatermarkController to convert the pdf to pdf-image

* 381: Fix messages_en_GB

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-08-06 08:11:52 +00:00
dependabot[bot]
ce70796fff Bump org.mockito:mockito-inline from 3.12.4 to 5.2.0 (#1635)
Bumps [org.mockito:mockito-inline](https://github.com/mockito/mockito) from 3.12.4 to 5.2.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.12.4...v5.2.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-06 09:10:14 +01:00
Mateusz Tylec
7db7192d95 Update polish translation (#1631) 2024-08-04 21:26:55 +01:00
github-actions[bot]
d00e7fe958 Update 3rd Party Licenses (#1627)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-08-03 13:47:59 +01:00
Anthony Stirling
510f39ad41 Update examples.feature 2024-08-03 13:47:47 +01:00
Ludy
950a0c4b21 Bump org.springframework.boot from 3.3.0 to 3.3.2 & Gradle 8 compatibility (#1626)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-08-03 13:18:51 +01:00
64 changed files with 1071 additions and 304 deletions

View File

@@ -1,6 +1,8 @@
name: Feature Request name: Feature Request
description: Submit a new feature request. description: Submit a new feature request.
title: "[Feature Request]: " title: "[Feature Request]: "
labels:
- enhancement
body: body:
- type: markdown - type: markdown
attributes: attributes:

View File

@@ -46,4 +46,4 @@ Docker:
Test: Test:
- changed-files: - changed-files:
- any-glob-to-any-file: 'cucumber/**/*' - any-glob-to-any-file: 'cucumber/**/*'
- any-glob-to-any-file: 'test*' - any-glob-to-any-file: 'src/test**/*'

View File

@@ -1,5 +1,5 @@
# Main stage # Main stage
FROM alpine:3.20.0 FROM alpine:3.20.2
# Copy necessary files # Copy necessary files
COPY scripts /scripts COPY scripts /scripts
@@ -45,8 +45,8 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
# CV # CV
py3-opencv \ py3-opencv \
# python3/pip # python3/pip
python3 && \ python3 \
wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \ py3-pip && \
# uno unoconv and HTML # uno unoconv and HTML
pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \ pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \
mv /usr/share/tessdata /usr/share/tessdata-original && \ mv /usr/share/tessdata /usr/share/tessdata-original && \

View File

@@ -12,7 +12,7 @@ RUN DOCKER_ENABLE_SECURITY=true \
./gradlew clean build ./gradlew clean build
# Main stage # Main stage
FROM alpine:3.20.0 FROM alpine:3.20.2
# Copy necessary files # Copy necessary files
COPY scripts /scripts COPY scripts /scripts
@@ -61,8 +61,8 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
# CV # CV
py3-opencv \ py3-opencv \
# python3/pip # python3/pip
python3 && \ python3 \
wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \ py3-pip && \
# uno unoconv and HTML # uno unoconv and HTML
pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \ pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \
mv /usr/share/tessdata /usr/share/tessdata-original && \ mv /usr/share/tessdata /usr/share/tessdata-original && \

View File

@@ -1,5 +1,5 @@
# use alpine # use alpine
FROM alpine:3.20.0 FROM alpine:3.20.2
ARG VERSION_TAG ARG VERSION_TAG

View File

@@ -170,41 +170,41 @@ Stirling PDF currently supports 38!
| Language | Progress | | Language | Progress |
| ------------------------------------------- | -------------------------------------- | | ------------------------------------------- | -------------------------------------- |
| Arabic (العربية) (ar_AR) | ![45%](https://geps.dev/progress/45) | | Arabic (العربية) (ar_AR) | ![45%](https://geps.dev/progress/45) |
| Basque (Euskara) (eu_ES) | ![62%](https://geps.dev/progress/62) | | Basque (Euskara) (eu_ES) | ![61%](https://geps.dev/progress/61) |
| Bulgarian (Български) (bg_BG) | ![94%](https://geps.dev/progress/94) | | Bulgarian (Български) (bg_BG) | ![94%](https://geps.dev/progress/94) |
| Catalan (Català) (ca_CA) | ![48%](https://geps.dev/progress/48) | | Catalan (Català) (ca_CA) | ![48%](https://geps.dev/progress/48) |
| Croatian (Hrvatski) (hr_HR) | ![95%](https://geps.dev/progress/95) | | Croatian (Hrvatski) (hr_HR) | ![94%](https://geps.dev/progress/94) |
| Czech (Česky) (cs_CZ) | ![90%](https://geps.dev/progress/90) | | Czech (Česky) (cs_CZ) | ![89%](https://geps.dev/progress/89) |
| Danish (Dansk) (da_DK) | ![10%](https://geps.dev/progress/10) | | Danish (Dansk) (da_DK) | ![9%](https://geps.dev/progress/9) |
| Dutch (Nederlands) (nl_NL) | ![96%](https://geps.dev/progress/96) | | Dutch (Nederlands) (nl_NL) | ![95%](https://geps.dev/progress/95) |
| English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) |
| English (US) (en_US) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) |
| French (Français) (fr_FR) | ![94%](https://geps.dev/progress/94) | | French (Français) (fr_FR) | ![93%](https://geps.dev/progress/93) |
| German (Deutsch) (de_DE) | ![100%](https://geps.dev/progress/100) | | German (Deutsch) (de_DE) | ![99%](https://geps.dev/progress/99) |
| Greek (Ελληνικά) (el_GR) | ![82%](https://geps.dev/progress/82) | | Greek (Ελληνικά) (el_GR) | ![81%](https://geps.dev/progress/81) |
| Hindi (हिंदी) (hi_IN) | ![77%](https://geps.dev/progress/77) | | Hindi (हिंदी) (hi_IN) | ![76%](https://geps.dev/progress/76) |
| Hungarian (Magyar) (hu_HU) | ![76%](https://geps.dev/progress/76) | | Hungarian (Magyar) (hu_HU) | ![75%](https://geps.dev/progress/75) |
| Indonesia (Bahasa Indonesia) (id_ID) | ![76%](https://geps.dev/progress/76) | | Indonesia (Bahasa Indonesia) (id_ID) | ![76%](https://geps.dev/progress/76) |
| Irish (Gaeilge) (ga_IE) | ![99%](https://geps.dev/progress/99) | | Irish (Gaeilge) (ga_IE) | ![98%](https://geps.dev/progress/98) |
| Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) | | Italian (Italiano) (it_IT) | ![98%](https://geps.dev/progress/98) |
| Japanese (日本語) (ja_JP) | ![90%](https://geps.dev/progress/90) | | Japanese (日本語) (ja_JP) | ![89%](https://geps.dev/progress/89) |
| Korean (한국어) (ko_KR) | ![84%](https://geps.dev/progress/84) | | Korean (한국어) (ko_KR) | ![84%](https://geps.dev/progress/84) |
| Norwegian (Norsk) (no_NB) | ![96%](https://geps.dev/progress/96) | | Norwegian (Norsk) (no_NB) | ![97%](https://geps.dev/progress/97) |
| Polish (Polski) (pl_PL) | ![90%](https://geps.dev/progress/90) | | Polish (Polski) (pl_PL) | ![92%](https://geps.dev/progress/92) |
| Portuguese (Português) (pt_PT) | ![78%](https://geps.dev/progress/78) | | Portuguese (Português) (pt_PT) | ![78%](https://geps.dev/progress/78) |
| Portuguese Brazilian (Português) (pt_BR) | ![60%](https://geps.dev/progress/60) | | Portuguese Brazilian (Português) (pt_BR) | ![59%](https://geps.dev/progress/59) |
| Romanian (Română) (ro_RO) | ![39%](https://geps.dev/progress/39) | | Romanian (Română) (ro_RO) | ![38%](https://geps.dev/progress/38) |
| Russian (Русский) (ru_RU) | ![84%](https://geps.dev/progress/84) | | Russian (Русский) (ru_RU) | ![83%](https://geps.dev/progress/83) |
| Sebian Latin alphabet (Srpski) (sr_LATN_RS) | ![78%](https://geps.dev/progress/78) | | Sebian Latin alphabet (Srpski) (sr_LATN_RS) | ![78%](https://geps.dev/progress/78) |
| Simplified Chinese (简体中文) (zh_CN) | ![99%](https://geps.dev/progress/99) | | Simplified Chinese (简体中文) (zh_CN) | ![98%](https://geps.dev/progress/98) |
| Slovakian (Slovensky) (sk_SK) | ![92%](https://geps.dev/progress/92) | | Slovakian (Slovensky) (sk_SK) | ![91%](https://geps.dev/progress/91) |
| Spanish (Español) (es_ES) | ![98%](https://geps.dev/progress/98) | | Spanish (Español) (es_ES) | ![97%](https://geps.dev/progress/97) |
| Swedish (Svenska) (sv_SE) | ![39%](https://geps.dev/progress/39) | | Swedish (Svenska) (sv_SE) | ![39%](https://geps.dev/progress/39) |
| Thai (ไทย) (th_TH) | ![100%](https://geps.dev/progress/100) | | Thai (ไทย) (th_TH) | ![99%](https://geps.dev/progress/99) |
| Traditional Chinese (繁體中文) (zh_TW) | ![98%](https://geps.dev/progress/98) | | Traditional Chinese (繁體中文) (zh_TW) | ![97%](https://geps.dev/progress/97) |
| Turkish (Türkçe) (tr_TR) | ![99%](https://geps.dev/progress/99) | | Turkish (Türkçe) (tr_TR) | ![98%](https://geps.dev/progress/98) |
| Ukrainian (Українська) (uk_UA) | ![90%](https://geps.dev/progress/90) | | Ukrainian (Українська) (uk_UA) | ![89%](https://geps.dev/progress/89) |
| Vietnamese (Tiếng Việt) (vi_VN) | ![99%](https://geps.dev/progress/99) | | Vietnamese (Tiếng Việt) (vi_VN) | ![98%](https://geps.dev/progress/98) |
## Contributing (creating issues, translations, fixing bugs, etc.) ## Contributing (creating issues, translations, fixing bugs, etc.)

View File

@@ -1,6 +1,6 @@
plugins { plugins {
id "java" id "java"
id "org.springframework.boot" version "3.3.0" id "org.springframework.boot" version "3.3.2"
id "io.spring.dependency-management" version "1.1.6" id "io.spring.dependency-management" version "1.1.6"
id "org.springdoc.openapi-gradle-plugin" version "1.8.0" id "org.springdoc.openapi-gradle-plugin" version "1.8.0"
id "io.swagger.swaggerhub" version "1.3.2" id "io.swagger.swaggerhub" version "1.3.2"
@@ -16,10 +16,12 @@ ext {
} }
group = "stirling.software" group = "stirling.software"
version = "0.26.2" version = "0.27.0"
// 17 is lowest but we support and recommend 21 java {
sourceCompatibility = "17" // 17 is lowest but we support and recommend 21
sourceCompatibility = JavaVersion.VERSION_17
}
repositories { repositories {
mavenCentral() mavenCentral()
@@ -106,7 +108,7 @@ dependencies {
// implementation "org.yaml:snakeyaml:2.2" // implementation "org.yaml:snakeyaml:2.2"
implementation 'com.github.Carleslc.Simple-YAML:Simple-Yaml:1.8.4' implementation 'com.github.Carleslc.Simple-YAML:Simple-Yaml:1.8.4'
// Exclude Tomcat and include Jetty // Exclude Tomcat and include Jetty
implementation("org.springframework.boot:spring-boot-starter-web:$springBootVersion") { implementation("org.springframework.boot:spring-boot-starter-web:$springBootVersion") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat"
@@ -132,8 +134,8 @@ dependencies {
implementation "org.apache.xmlgraphics:batik-all:1.17" implementation "org.apache.xmlgraphics:batik-all:1.17"
// TwelveMonkeys // TwelveMonkeys
implementation "com.twelvemonkeys.imageio:imageio-batik:3.10.1" implementation "com.twelvemonkeys.imageio:imageio-batik:3.11.0"
implementation "com.twelvemonkeys.imageio:imageio-bmp:3.10.1" implementation "com.twelvemonkeys.imageio:imageio-bmp:3.11.0"
// implementation "com.twelvemonkeys.imageio:imageio-hdr:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-hdr:3.10.1"
// implementation "com.twelvemonkeys.imageio:imageio-icns:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-icns:3.10.1"
// implementation "com.twelvemonkeys.imageio:imageio-iff:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-iff:3.10.1"
@@ -145,8 +147,8 @@ dependencies {
// implementation "com.twelvemonkeys.imageio:imageio-sgi:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-sgi:3.10.1"
// implementation "com.twelvemonkeys.imageio:imageio-tga:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-tga:3.10.1"
// implementation "com.twelvemonkeys.imageio:imageio-thumbsdb:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-thumbsdb:3.10.1"
implementation "com.twelvemonkeys.imageio:imageio-tiff:3.10.1" implementation "com.twelvemonkeys.imageio:imageio-tiff:3.11.0"
implementation "com.twelvemonkeys.imageio:imageio-webp:3.10.1" implementation "com.twelvemonkeys.imageio:imageio-webp:3.11.0"
// implementation "com.twelvemonkeys.imageio:imageio-xwd:3.10.1" // implementation "com.twelvemonkeys.imageio:imageio-xwd:3.10.1"
implementation "commons-io:commons-io:2.16.1" implementation "commons-io:commons-io:2.16.1"
@@ -185,7 +187,7 @@ dependencies {
compileOnly "org.projectlombok:lombok:1.18.32" compileOnly "org.projectlombok:lombok:1.18.32"
annotationProcessor "org.projectlombok:lombok:1.18.32" annotationProcessor "org.projectlombok:lombok:1.18.32"
testImplementation 'org.mockito:mockito-inline:3.12.4' testImplementation 'org.mockito:mockito-inline:5.2.0'
} }
tasks.withType(JavaCompile).configureEach { tasks.withType(JavaCompile).configureEach {
@@ -196,7 +198,7 @@ compileJava {
options.compilerArgs << "-parameters" options.compilerArgs << "-parameters"
} }
task writeVersion { task writeVersion {
def propsFile = file("src/main/resources/version.properties") def propsFile = file("src/main/resources/version.properties")
def props = new Properties() def props = new Properties()
props.setProperty("version", version) props.setProperty("version", version)
@@ -226,6 +228,6 @@ tasks.named("test") {
useJUnitPlatform() useJUnitPlatform()
} }
task printVersion { task printVersion {
println project.version println project.version
} }

View File

@@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
appVersion: 0.26.2 appVersion: 0.27.0
description: locally hosted web application that allows you to perform various operations description: locally hosted web application that allows you to perform various operations
on PDF files on PDF files
home: https://github.com/Stirling-Tools/Stirling-PDF home: https://github.com/Stirling-Tools/Stirling-PDF

View File

@@ -94,7 +94,7 @@ Feature: API Validation
When I send the API request to the endpoint "/api/v1/misc/remove-blanks" When I send the API request to the endpoint "/api/v1/misc/remove-blanks"
Then the response content type should be "application/octet-stream" Then the response content type should be "application/octet-stream"
And the response file should have extension ".zip" And the response file should have extension ".zip"
And the response ZIP should contain 2 files And the response ZIP should contain 1 files
And the response file should have size greater than 0 And the response file should have size greater than 0
@positive @flatten @positive @flatten

View File

@@ -78,7 +78,8 @@ public class SPdfApplication {
// custom javs settings file // custom javs settings file
if (Files.exists(Paths.get("configs/custom_settings.yml"))) { if (Files.exists(Paths.get("configs/custom_settings.yml"))) {
String existingLocation = propertyFiles.getOrDefault("spring.config.additional-location", ""); String existingLocation =
propertyFiles.getOrDefault("spring.config.additional-location", "");
if (!existingLocation.isEmpty()) { if (!existingLocation.isEmpty()) {
existingLocation += ","; existingLocation += ",";
} }

View File

@@ -137,6 +137,7 @@ public class EndpointConfiguration {
addEndpointToGroup("Other", "auto-rename"); addEndpointToGroup("Other", "auto-rename");
addEndpointToGroup("Other", "get-info-on-pdf"); addEndpointToGroup("Other", "get-info-on-pdf");
addEndpointToGroup("Other", "show-javascript"); addEndpointToGroup("Other", "show-javascript");
addEndpointToGroup("Other", "remove-image-pdf");
// CLI // CLI
addEndpointToGroup("CLI", "compress-pdf"); addEndpointToGroup("CLI", "compress-pdf");
@@ -221,6 +222,7 @@ public class EndpointConfiguration {
addEndpointToGroup("Java", "split-pdf-by-sections"); addEndpointToGroup("Java", "split-pdf-by-sections");
addEndpointToGroup("Java", REMOVE_BLANKS); addEndpointToGroup("Java", REMOVE_BLANKS);
addEndpointToGroup("Java", "pdf-to-text"); addEndpointToGroup("Java", "pdf-to-text");
addEndpointToGroup("Java", "remove-image-pdf");
// Javascript // Javascript
addEndpointToGroup("Javascript", "pdf-organizer"); addEndpointToGroup("Javascript", "pdf-organizer");

View File

@@ -0,0 +1,82 @@
package stirling.software.SPDF.controller.api;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import io.swagger.v3.oas.annotations.Operation;
import stirling.software.SPDF.model.api.PDFFile;
import stirling.software.SPDF.service.PdfImageRemovalService;
import stirling.software.SPDF.utils.WebResponseUtils;
/**
* Controller class for handling PDF image removal requests. Provides an endpoint to remove images
* from a PDF file to reduce its size.
*/
@RestController
@RequestMapping("/api/v1/general")
public class PdfImageRemovalController {
// Service for removing images from PDFs
@Autowired private PdfImageRemovalService pdfImageRemovalService;
/**
* Constructor for dependency injection of PdfImageRemovalService.
*
* @param pdfImageRemovalService The service used for removing images from PDFs.
*/
public PdfImageRemovalController(PdfImageRemovalService pdfImageRemovalService) {
this.pdfImageRemovalService = pdfImageRemovalService;
}
/**
* Endpoint to remove images from a PDF file.
*
* <p>This method processes the uploaded PDF file, removes all images, and returns the modified
* PDF file with a new name indicating that images were removed.
*
* @param file The PDF file with images to be removed.
* @return ResponseEntity containing the modified PDF file as byte array with appropriate
* content type and filename.
* @throws IOException If an error occurs while processing the PDF file.
*/
@PostMapping(consumes = "multipart/form-data", value = "/remove-image-pdf")
@Operation(
summary = "Remove images from file to reduce the file size.",
description =
"This endpoint remove images from file to reduce the file size.Input:PDF Output:PDF Type:MISO")
public ResponseEntity<byte[]> removeImages(@ModelAttribute PDFFile file) throws IOException {
MultipartFile pdf = file.getFileInput();
// Convert the MultipartFile to a byte array
byte[] pdfBytes = pdf.getBytes();
// Load the PDF document from the byte array
PDDocument document = Loader.loadPDF(pdfBytes);
// Remove images from the PDF document using the service
PDDocument modifiedDocument = pdfImageRemovalService.removeImagesFromPdf(document);
// Create a ByteArrayOutputStream to hold the modified PDF data
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// Save the modified PDF document to the output stream
modifiedDocument.save(outputStream);
modifiedDocument.close();
// Generate a new filename for the modified PDF
String mergedFileName =
pdf.getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_removed_images.pdf";
// Convert the byte array to a web response and return it
return WebResponseUtils.bytesToWebResponse(outputStream.toByteArray(), mergedFileName);
}
}

View File

@@ -39,6 +39,12 @@ public class ConvertWebsiteToPDF {
if (!URL.matches("^https?://.*") || !GeneralUtils.isValidURL(URL)) { if (!URL.matches("^https?://.*") || !GeneralUtils.isValidURL(URL)) {
throw new IllegalArgumentException("Invalid URL format provided."); throw new IllegalArgumentException("Invalid URL format provided.");
} }
// validate the URL is reachable
if (!GeneralUtils.isURLReachable(URL)) {
throw new IllegalArgumentException("URL is not reachable, please provide a valid URL.");
}
Path tempOutputFile = null; Path tempOutputFile = null;
byte[] pdfBytes; byte[] pdfBytes;
try { try {

View File

@@ -1,13 +1,16 @@
package stirling.software.SPDF.controller.api.misc; package stirling.software.SPDF.controller.api.misc;
import java.awt.Graphics2D; import java.awt.*;
import java.awt.Image;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage; import java.awt.image.RenderedImage;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.zip.Deflater; import java.util.zip.Deflater;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
@@ -47,16 +50,19 @@ public class ExtractImagesController {
@Operation( @Operation(
summary = "Extract images from a PDF file", summary = "Extract images from a PDF file",
description = description =
"This endpoint extracts images from a given PDF file and returns them in a zip file. Users can specify the output image format. Input:PDF Output:IMAGE/ZIP Type:SIMO") "This endpoint extracts images from a given PDF file and returns them in a zip file. Users can specify the output image format. Input: PDF Output: IMAGE/ZIP Type: SIMO")
public ResponseEntity<byte[]> extractImages(@ModelAttribute PDFWithImageFormatRequest request) public ResponseEntity<byte[]> extractImages(@ModelAttribute PDFWithImageFormatRequest request)
throws IOException { throws IOException, InterruptedException, ExecutionException {
MultipartFile file = request.getFileInput(); MultipartFile file = request.getFileInput();
String format = request.getFormat(); String format = request.getFormat();
System.out.println( System.out.println(
System.currentTimeMillis() + "file=" + file.getName() + ", format=" + format); System.currentTimeMillis() + " file=" + file.getName() + ", format=" + format);
PDDocument document = Loader.loadPDF(file.getBytes()); PDDocument document = Loader.loadPDF(file.getBytes());
// Determine if multithreading should be used based on PDF size or number of pages
boolean useMultithreading = shouldUseMultithreading(file, document);
// Create ByteArrayOutputStream to write zip file to byte array // Create ByteArrayOutputStream to write zip file to byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -66,71 +72,51 @@ public class ExtractImagesController {
// Set compression level // Set compression level
zos.setLevel(Deflater.BEST_COMPRESSION); zos.setLevel(Deflater.BEST_COMPRESSION);
int imageIndex = 1;
String filename = String filename =
Filenames.toSimpleFileName(file.getOriginalFilename()) Filenames.toSimpleFileName(file.getOriginalFilename())
.replaceFirst("[.][^.]+$", ""); .replaceFirst("[.][^.]+$", "");
int pageNum = 0;
Set<Integer> processedImages = new HashSet<>(); Set<Integer> processedImages = new HashSet<>();
// Iterate over each page
for (PDPage page : document.getPages()) {
++pageNum;
// Extract images from page
for (COSName name : page.getResources().getXObjectNames()) {
if (page.getResources().isImageXObject(name)) {
PDImageXObject image = (PDImageXObject) page.getResources().getXObject(name);
int imageHash = image.hashCode();
if (processedImages.contains(imageHash)) {
continue; // Skip already processed images
}
processedImages.add(imageHash);
// Convert image to desired format if (useMultithreading) {
RenderedImage renderedImage = image.getImage(); // Executor service to handle multithreading
BufferedImage bufferedImage = null; ExecutorService executor =
if ("png".equalsIgnoreCase(format)) { Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
bufferedImage = Set<Future<Void>> futures = new HashSet<>();
new BufferedImage(
renderedImage.getWidth(),
renderedImage.getHeight(),
BufferedImage.TYPE_INT_ARGB);
} else if ("jpeg".equalsIgnoreCase(format) || "jpg".equalsIgnoreCase(format)) {
bufferedImage =
new BufferedImage(
renderedImage.getWidth(),
renderedImage.getHeight(),
BufferedImage.TYPE_INT_RGB);
} else if ("gif".equalsIgnoreCase(format)) {
bufferedImage =
new BufferedImage(
renderedImage.getWidth(),
renderedImage.getHeight(),
BufferedImage.TYPE_BYTE_INDEXED);
}
// Write image to zip file // Iterate over each page
String imageName = for (int pgNum = 0; pgNum < document.getPages().getCount(); pgNum++) {
filename + "_" + imageIndex + " (Page " + pageNum + ")." + format; PDPage page = document.getPage(pgNum);
ZipEntry zipEntry = new ZipEntry(imageName); int pageNum = document.getPages().indexOf(page) + 1;
zos.putNextEntry(zipEntry); // Submit a task for processing each page
Future<Void> future =
executor.submit(
() -> {
extractImagesFromPage(
page, format, filename, pageNum, processedImages, zos);
return null;
});
Graphics2D g = bufferedImage.createGraphics(); futures.add(future);
g.drawImage((Image) renderedImage, 0, 0, null); }
g.dispose();
// Write image bytes to zip file
ByteArrayOutputStream imageBaos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, format, imageBaos);
zos.write(imageBaos.toByteArray());
zos.closeEntry(); // Wait for all tasks to complete
imageIndex++; for (Future<Void> future : futures) {
} future.get();
}
// Close executor service
executor.shutdown();
} else {
// Single-threaded extraction
for (int pgNum = 0; pgNum < document.getPages().getCount(); pgNum++) {
PDPage page = document.getPage(pgNum);
extractImagesFromPage(page, format, filename, pgNum + 1, processedImages, zos);
} }
} }
// Close ZipOutputStream and PDDocument // Close PDDocument and ZipOutputStream
zos.close();
document.close(); document.close();
zos.close();
// Create ByteArrayResource from byte array // Create ByteArrayResource from byte array
byte[] zipContents = baos.toByteArray(); byte[] zipContents = baos.toByteArray();
@@ -138,4 +124,69 @@ public class ExtractImagesController {
return WebResponseUtils.boasToWebResponse( return WebResponseUtils.boasToWebResponse(
baos, filename + "_extracted-images.zip", MediaType.APPLICATION_OCTET_STREAM); baos, filename + "_extracted-images.zip", MediaType.APPLICATION_OCTET_STREAM);
} }
private boolean shouldUseMultithreading(MultipartFile file, PDDocument document) {
// Criteria: Use multithreading if file size > 10MB or number of pages > 20
long fileSizeInMB = file.getSize() / (1024 * 1024);
int numberOfPages = document.getPages().getCount();
return fileSizeInMB > 10 || numberOfPages > 20;
}
private void extractImagesFromPage(
PDPage page,
String format,
String filename,
int pageNum,
Set<Integer> processedImages,
ZipOutputStream zos)
throws IOException {
for (COSName name : page.getResources().getXObjectNames()) {
if (page.getResources().isImageXObject(name)) {
PDImageXObject image = (PDImageXObject) page.getResources().getXObject(name);
int imageHash = image.hashCode();
synchronized (processedImages) {
if (processedImages.contains(imageHash)) {
continue; // Skip already processed images
}
processedImages.add(imageHash);
}
RenderedImage renderedImage = image.getImage();
// Convert to standard RGB colorspace if needed
BufferedImage bufferedImage = convertToRGB(renderedImage, format);
// Write image to zip file
String imageName = filename + "_" + imageHash + " (Page " + pageNum + ")." + format;
synchronized (zos) {
zos.putNextEntry(new ZipEntry(imageName));
ByteArrayOutputStream imageBaos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, format, imageBaos);
zos.write(imageBaos.toByteArray());
zos.closeEntry();
}
}
}
}
private BufferedImage convertToRGB(RenderedImage renderedImage, String format) {
int width = renderedImage.getWidth();
int height = renderedImage.getHeight();
BufferedImage rgbImage;
if ("png".equalsIgnoreCase(format)) {
rgbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
} else if ("jpeg".equalsIgnoreCase(format) || "jpg".equalsIgnoreCase(format)) {
rgbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
} else if ("gif".equalsIgnoreCase(format)) {
rgbImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_INDEXED);
} else {
rgbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
}
Graphics2D g = rgbImage.createGraphics();
g.drawImage((Image) renderedImage, 0, 0, null);
g.dispose();
return rgbImage;
}
} }

View File

@@ -1,21 +1,14 @@
package stirling.software.SPDF.controller.api.security; package stirling.software.SPDF.controller.api.security;
import java.awt.Color; import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import org.apache.pdfbox.Loader; import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
import org.apache.pdfbox.pdmodel.common.PDRectangle; import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@@ -32,6 +25,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.model.PDFText; import stirling.software.SPDF.model.PDFText;
import stirling.software.SPDF.model.api.security.RedactPdfRequest; import stirling.software.SPDF.model.api.security.RedactPdfRequest;
import stirling.software.SPDF.pdf.TextFinder; import stirling.software.SPDF.pdf.TextFinder;
import stirling.software.SPDF.utils.PdfUtils;
import stirling.software.SPDF.utils.WebResponseUtils; import stirling.software.SPDF.utils.WebResponseUtils;
@RestController @RestController
@@ -81,22 +75,9 @@ public class RedactController {
} }
if (convertPDFToImage) { if (convertPDFToImage) {
PDDocument imageDocument = new PDDocument(); PDDocument convertedPdf = PdfUtils.convertPdfToPdfImage(document);
PDFRenderer pdfRenderer = new PDFRenderer(document);
pdfRenderer.setSubsamplingAllowed(true);
for (int page = 0; page < document.getNumberOfPages(); ++page) {
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
PDPage newPage = new PDPage(new PDRectangle(bim.getWidth(), bim.getHeight()));
imageDocument.addPage(newPage);
PDImageXObject pdImage = LosslessFactory.createFromImage(imageDocument, bim);
PDPageContentStream contentStream =
new PDPageContentStream(
imageDocument, newPage, AppendMode.APPEND, true, true);
contentStream.drawImage(pdImage, 0, 0);
contentStream.close();
}
document.close(); document.close();
document = imageDocument; document = convertedPdf;
} }
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();

View File

@@ -36,6 +36,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.model.api.security.AddWatermarkRequest; import stirling.software.SPDF.model.api.security.AddWatermarkRequest;
import stirling.software.SPDF.utils.PdfUtils;
import stirling.software.SPDF.utils.WebResponseUtils; import stirling.software.SPDF.utils.WebResponseUtils;
@RestController @RestController
@@ -60,6 +61,7 @@ public class WatermarkController {
float opacity = request.getOpacity(); float opacity = request.getOpacity();
int widthSpacer = request.getWidthSpacer(); int widthSpacer = request.getWidthSpacer();
int heightSpacer = request.getHeightSpacer(); int heightSpacer = request.getHeightSpacer();
boolean convertPdfToImage = request.isConvertPDFToImage();
// Load the input PDF // Load the input PDF
PDDocument document = Loader.loadPDF(pdfFile.getBytes()); PDDocument document = Loader.loadPDF(pdfFile.getBytes());
@@ -104,6 +106,12 @@ public class WatermarkController {
contentStream.close(); contentStream.close();
} }
if (convertPdfToImage) {
PDDocument convertedPdf = PdfUtils.convertPdfToPdfImage(document);
document.close();
document = convertedPdf;
}
return WebResponseUtils.pdfDocToWebResponse( return WebResponseUtils.pdfDocToWebResponse(
document, document,
Filenames.toSimpleFileName(pdfFile.getOriginalFilename()) Filenames.toSimpleFileName(pdfFile.getOriginalFilename())

View File

@@ -310,4 +310,11 @@ public class GeneralWebController {
model.addAttribute("currentPage", "auto-split-pdf"); model.addAttribute("currentPage", "auto-split-pdf");
return "auto-split-pdf"; return "auto-split-pdf";
} }
@GetMapping("/remove-image-pdf")
@Hidden
public String removeImagePdfForm(Model model) {
model.addAttribute("currentPage", "remove-image-pdf");
return "remove-image-pdf";
}
} }

View File

@@ -44,4 +44,7 @@ public class AddWatermarkRequest extends PDFFile {
@Schema(description = "The height spacer between watermark elements", example = "50") @Schema(description = "The height spacer between watermark elements", example = "50")
private int heightSpacer; private int heightSpacer;
@Schema(description = "Convert the redacted PDF to an image", defaultValue = "false")
private boolean convertPDFToImage;
} }

View File

@@ -0,0 +1,41 @@
package stirling.software.SPDF.service;
import java.io.IOException;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
import org.springframework.stereotype.Service;
/** Service class responsible for removing image objects from a PDF document. */
@Service
public class PdfImageRemovalService {
/**
* Removes all image objects from the provided PDF document.
*
* This method iterates over each page in the document and removes any image XObjects found
* in the page's resources.
*
* @param document The PDF document from which images will be removed.
* @return The modified PDF document with images removed.
* @throws IOException If an error occurs while processing the PDF document.
*/
public PDDocument removeImagesFromPdf(PDDocument document) throws IOException {
// Iterate over each page in the PDF document
for (PDPage page : document.getPages()) {
PDResources resources = page.getResources();
// Iterate over all XObject names in the page's resources
for (COSName name : resources.getXObjectNames()) {
// Check if the XObject is an image
if (resources.isImageXObject(name)) {
// Remove the image XObject by setting it to null
resources.put(name, (PDXObject) null);
}
}
}
return document;
}
}

View File

@@ -13,6 +13,8 @@ import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.net.URL;
import java.net.HttpURLConnection;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -71,6 +73,21 @@ public class GeneralUtils {
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
return false; return false;
} }
}
public static boolean isURLReachable(String urlStr) {
try {
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
return (200 <= responseCode && responseCode <= 399);
} catch (MalformedURLException e) {
return false;
} catch (IOException e) {
return false;
}
} }
public static File multipartToFile(MultipartFile multipart) throws IOException { public static File multipartToFile(MultipartFile multipart) throws IOException {
@@ -95,19 +112,16 @@ public class GeneralUtils {
sizeStr = sizeStr.replace(",", ".").replace(" ", ""); sizeStr = sizeStr.replace(",", ".").replace(" ", "");
try { try {
if (sizeStr.endsWith("KB")) { if (sizeStr.endsWith("KB")) {
return (long) return (long) (Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2)) * 1024);
(Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2)) * 1024);
} else if (sizeStr.endsWith("MB")) { } else if (sizeStr.endsWith("MB")) {
return (long) return (long) (Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2))
(Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2)) * 1024
* 1024 * 1024);
* 1024);
} else if (sizeStr.endsWith("GB")) { } else if (sizeStr.endsWith("GB")) {
return (long) return (long) (Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2))
(Double.parseDouble(sizeStr.substring(0, sizeStr.length() - 2)) * 1024
* 1024 * 1024
* 1024 * 1024);
* 1024);
} else if (sizeStr.endsWith("B")) { } else if (sizeStr.endsWith("B")) {
return Long.parseLong(sizeStr.substring(0, sizeStr.length() - 1)); return Long.parseLong(sizeStr.substring(0, sizeStr.length() - 1));
} else { } else {
@@ -170,13 +184,15 @@ public class GeneralUtils {
int n = 0; int n = 0;
while (true) { while (true) {
// Replace 'n' with the current value of n, correctly handling numbers before 'n' // Replace 'n' with the current value of n, correctly handling numbers before
// 'n'
String sanitizedExpression = insertMultiplicationBeforeN(expression, n); String sanitizedExpression = insertMultiplicationBeforeN(expression, n);
Double result = evaluator.evaluate(sanitizedExpression); Double result = evaluator.evaluate(sanitizedExpression);
// Check if the result is null or not within bounds // Check if the result is null or not within bounds
if (result == null || result <= 0 || result.intValue() > maxValue) { if (result == null || result <= 0 || result.intValue() > maxValue) {
if (n != 0) break; if (n != 0)
break;
} else { } else {
results.add(result.intValue()); results.add(result.intValue());
} }

View File

@@ -341,6 +341,30 @@ public class PdfUtils {
} }
} }
/**
* Converts a given Pdf file to PDF-Image.
*
* @param document to be converted. Note: the caller is responsible for closing the document
* @return converted document to PDF-Image
* @throws IOException if conversion fails
*/
public static PDDocument convertPdfToPdfImage(PDDocument document) throws IOException {
PDDocument imageDocument = new PDDocument();
PDFRenderer pdfRenderer = new PDFRenderer(document);
pdfRenderer.setSubsamplingAllowed(true);
for (int page = 0; page < document.getNumberOfPages(); ++page) {
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
PDPage newPage = new PDPage(new PDRectangle(bim.getWidth(), bim.getHeight()));
imageDocument.addPage(newPage);
PDImageXObject pdImage = LosslessFactory.createFromImage(imageDocument, bim);
PDPageContentStream contentStream =
new PDPageContentStream(imageDocument, newPage, AppendMode.APPEND, true, true);
contentStream.drawImage(pdImage, 0, 0);
contentStream.close();
}
return imageDocument;
}
private static BufferedImage prepareImageForPdfToImage( private static BufferedImage prepareImageForPdfToImage(
int maxWidth, int height, String imageType) { int maxWidth, int height, String imageType) {
BufferedImage combined; BufferedImage combined;

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (مسافة بين كل علامة مائي
watermark.selectText.7=التعتيم (0٪ - 100٪): watermark.selectText.7=التعتيم (0٪ - 100٪):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=إضافة علامة مائية watermark.submit=إضافة علامة مائية
watermark.type.1=نص watermark.type.1=نص
watermark.type.2=صورة watermark.type.2=صورة
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Книга към PDF
home.BookToPDF.desc=Преобразува формати на книги/комикси в PDF с помощта на calibre home.BookToPDF.desc=Преобразува формати на книги/комикси в PDF с помощта на calibre
BookToPDF.tags=Книга,комикс,calibre,конвертиране,манга,Amazon,Kindle BookToPDF.tags=Книга,комикс,calibre,конвертиране,манга,Amazon,Kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=дължинаSpacer (Разстояние между в
watermark.selectText.7=Непрозрачност (0% - 100%): watermark.selectText.7=Непрозрачност (0% - 100%):
watermark.selectText.8=Тип воден знак: watermark.selectText.8=Тип воден знак:
watermark.selectText.9=Изображение за воден знак: watermark.selectText.9=Изображение за воден знак:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Добавяне на воден знак watermark.submit=Добавяне на воден знак
watermark.type.1=Текст watermark.type.1=Текст
watermark.type.2=Изображение watermark.type.2=Изображение
@@ -1124,3 +1129,10 @@ error.showStack=Покажи проследяване на стека
error.copyStack=Копиране на проследяване на стека error.copyStack=Копиране на проследяване на стека
error.githubSubmit=GitHub - Изпратете запитване error.githubSubmit=GitHub - Изпратете запитване
error.discordSubmit=Discord - Изпратете запитване за поддръжка error.discordSubmit=Discord - Изпратете запитване за поддръжка
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=separació d'alçada (Espai vertical entre cada Marca d'A
watermark.selectText.7=Opacitat (0% - 100%): watermark.selectText.7=Opacitat (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Afegir Marca d'Aigua watermark.submit=Afegir Marca d'Aigua
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Kniha na PDF
home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre
BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Výška mezery (Mezera mezi každým vodoznakem svisle):
watermark.selectText.7=Průhlednost (0% - 100%): watermark.selectText.7=Průhlednost (0% - 100%):
watermark.selectText.8=Typ vodoznaku: watermark.selectText.8=Typ vodoznaku:
watermark.selectText.9=Obrázek vodoznaku: watermark.selectText.9=Obrázek vodoznaku:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Přidat vodoznak watermark.submit=Přidat vodoznak
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Obrázek watermark.type.2=Obrázek
@@ -1124,3 +1129,10 @@ error.showStack=Zobrazit stopu zásobníku
error.copyStack=Kopírovat stopu zásobníku error.copyStack=Kopírovat stopu zásobníku
error.githubSubmit=GitHub - Odeslat požadavek error.githubSubmit=GitHub - Odeslat požadavek
error.discordSubmit=Discord - Odeslat příspěvek podpory error.discordSubmit=Discord - Odeslat příspěvek podpory
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -1,7 +1,7 @@
########### ###########
# Generic # # Generic #
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr=left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
pdfPrompt=Vælg PDF-fil(er) pdfPrompt=Vælg PDF-fil(er)
@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Space between each watermark vertically):
watermark.selectText.7=Opacity (0% - 100%): watermark.selectText.7=Opacity (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Add Watermark watermark.submit=Add Watermark
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Vis Stack Trace
error.copyStack=Kopier Stack Trace error.copyStack=Kopier Stack Trace
error.githubSubmit=GitHub - Indsend en ticket error.githubSubmit=GitHub - Indsend en ticket
error.discordSubmit=Discord - Indsend Support post error.discordSubmit=Discord - Indsend Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Buch als PDF
home.BookToPDF.desc=Konvertiert Buch-/Comic-Formate mithilfe von Calibre in PDF home.BookToPDF.desc=Konvertiert Buch-/Comic-Formate mithilfe von Calibre in PDF
BookToPDF.tags=buch,comic,calibre,convert,manga,amazon,kindle BookToPDF.tags=buch,comic,calibre,convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=höheSpacer (vertikaler Abstand zwischen den einzelnen Wa
watermark.selectText.7=Deckkraft (0% - 100 %): watermark.selectText.7=Deckkraft (0% - 100 %):
watermark.selectText.8=Wasserzeichen Typ: watermark.selectText.8=Wasserzeichen Typ:
watermark.selectText.9=Wasserzeichen-Bild: watermark.selectText.9=Wasserzeichen-Bild:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Wasserzeichen hinzufügen watermark.submit=Wasserzeichen hinzufügen
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Bild watermark.type.2=Bild
@@ -1124,3 +1129,10 @@ error.showStack=Stack-Trace anzeigen
error.copyStack=Stack-Trace kopieren error.copyStack=Stack-Trace kopieren
error.githubSubmit=GitHub - Ein Ticket einreichen error.githubSubmit=GitHub - Ein Ticket einreichen
error.discordSubmit=Discord - Unterstützungsbeitrag einreichen error.discordSubmit=Discord - Unterstützungsbeitrag einreichen
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book σε PDF
home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Κενό μεταξύ κάθε υδατογ
watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%): watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%):
watermark.selectText.8=Τύπος Υδατογραφήματος: watermark.selectText.8=Τύπος Υδατογραφήματος:
watermark.selectText.9=Εικόνα Υδατογραφήματος: watermark.selectText.9=Εικόνα Υδατογραφήματος:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Προσθήκη Υδατογραφήματος watermark.submit=Προσθήκη Υδατογραφήματος
watermark.type.1=Κείμενο watermark.type.1=Κείμενο
watermark.type.2=Εικόνα watermark.type.2=Εικόνα
@@ -1124,3 +1129,10 @@ error.showStack=Εμφάνιση Stack Trace
error.copyStack=Αντιγραφή Stack Trace error.copyStack=Αντιγραφή Stack Trace
error.githubSubmit=GitHub - Υποβάλετε ένα ticket error.githubSubmit=GitHub - Υποβάλετε ένα ticket
error.discordSubmit=Discord - Υποβάλετε ένα Support post error.discordSubmit=Discord - Υποβάλετε ένα Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Space between each watermark vertically):
watermark.selectText.7=Opacity (0% - 100%): watermark.selectText.7=Opacity (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Add Watermark watermark.submit=Add Watermark
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Space between each watermark vertically):
watermark.selectText.7=Opacity (0% - 100%): watermark.selectText.7=Opacity (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Add Watermark watermark.submit=Add Watermark
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Libro a PDF
home.BookToPDF.desc=Convierte formatos de Libro/Cómic a PDF usando Calibre home.BookToPDF.desc=Convierte formatos de Libro/Cómic a PDF usando Calibre
BookToPDF.tags=Libro,Cómic,Calibre,Convertir,manga,Amazon,Kindle BookToPDF.tags=Libro,Cómic,Calibre,Convertir,manga,Amazon,Kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Alto (Espacio entre cada marca de agua verticalmente):
watermark.selectText.7=Opacidad (0% - 100%): watermark.selectText.7=Opacidad (0% - 100%):
watermark.selectText.8=Tipo de marca de agua: watermark.selectText.8=Tipo de marca de agua:
watermark.selectText.9=Imagen de marca de agua: watermark.selectText.9=Imagen de marca de agua:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Añadir marca de agua watermark.submit=Añadir marca de agua
watermark.type.1=Texto watermark.type.1=Texto
watermark.type.2=Imagen watermark.type.2=Imagen
@@ -1124,3 +1129,10 @@ error.showStack=Mostrar seguimiento de pila
error.copyStack=Mostrar seguimiento de pila error.copyStack=Mostrar seguimiento de pila
error.githubSubmit=GitHub - Enviar un ticket error.githubSubmit=GitHub - Enviar un ticket
error.discordSubmit=Discord - Enviar mensaje de soporte error.discordSubmit=Discord - Enviar mensaje de soporte
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Altuera (ur-marka bakoitzaren arteko espazioa bertikalean
watermark.selectText.7=Opakutasuna (0% - 100%): watermark.selectText.7=Opakutasuna (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Gehitu ur-marka watermark.submit=Gehitu ur-marka
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=eBook vers PDF
home.BookToPDF.desc=Convertit les formats de livres/bandes dessinées en PDF à l'aide de calibre home.BookToPDF.desc=Convertit les formats de livres/bandes dessinées en PDF à l'aide de calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (espace entre chaque filigrane verticalement
watermark.selectText.7=Opacité (de 0% à 100%) watermark.selectText.7=Opacité (de 0% à 100%)
watermark.selectText.8=Type de filigrane watermark.selectText.8=Type de filigrane
watermark.selectText.9=Image du filigrane watermark.selectText.9=Image du filigrane
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Ajouter un filigrane watermark.submit=Ajouter un filigrane
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Afficher la Stack Trace
error.copyStack=Copier la Stack Trace error.copyStack=Copier la Stack Trace
error.githubSubmit=GitHub - Créer un ticket error.githubSubmit=GitHub - Créer un ticket
error.discordSubmit=Discord - Poster un message de demande dassistance error.discordSubmit=Discord - Poster un message de demande dassistance
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -1,7 +1,7 @@
########### ###########
# Generic # # Generic #
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr=left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
pdfPrompt=Roghnaigh PDF(s) pdfPrompt=Roghnaigh PDF(s)
@@ -461,6 +461,10 @@ home.BookToPDF.title=Leabhar a thiontú go PDF
home.BookToPDF.desc=Tiontaíonn sé formáidí Leabhair/Comics go PDF ag baint úsáide as calibre home.BookToPDF.desc=Tiontaíonn sé formáidí Leabhair/Comics go PDF ag baint úsáide as calibre
BookToPDF.tags=Leabhar, Comic, Calibre, Tiontaigh, manga, amazon, kindle, epub, mobi, azw3, docx, rtf, txt, html, lit, fb2, pdb, lrf BookToPDF.tags=Leabhar, Comic, Calibre, Tiontaigh, manga, amazon, kindle, epub, mobi, azw3, docx, rtf, txt, html, lit, fb2, pdb, lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -691,7 +695,7 @@ removeCertSign.submit=Bain Síniú
removeBlanks.title=Bain Bearnaí removeBlanks.title=Bain Bearnaí
removeBlanks.header=Bain Leathanaigh Bhána removeBlanks.header=Bain Leathanaigh Bhána
removeBlanks.threshold=Tairseach Bánachta picteilíní: removeBlanks.threshold=Tairseach Bánachta picteilíní:
removeBlanks.thresholdDesc=An tairseach chun a chinneadh cé chomh bán is gá picteilín bán a bheith le rangú mar 'Bán'. 0 removeBlanks.thresholdDesc=An tairseach chun a chinneadh cé chomh bán is gá picteilín bán a bheith le rangú mar 'Bán'. 0
removeBlanks.whitePercent=Céatadán Bán (%): removeBlanks.whitePercent=Céatadán Bán (%):
removeBlanks.whitePercentDesc=Céatadán an leathanaigh a chaithfidh picteilíní 'bán' a bheith ann lena bhaint removeBlanks.whitePercentDesc=Céatadán an leathanaigh a chaithfidh picteilíní 'bán' a bheith ann lena bhaint
removeBlanks.submit=Bain Bearnaí removeBlanks.submit=Bain Bearnaí
@@ -945,6 +949,7 @@ watermark.selectText.6=spásaire airde (Spás idir gach comhartha uisce go hinge
watermark.selectText.7=Teimhneacht (0% - 100%): watermark.selectText.7=Teimhneacht (0% - 100%):
watermark.selectText.8=Cineál Comhartha Uisce: watermark.selectText.8=Cineál Comhartha Uisce:
watermark.selectText.9=Íomhá Comhartha Uisce: watermark.selectText.9=Íomhá Comhartha Uisce:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Cuir Uisce leis watermark.submit=Cuir Uisce leis
watermark.type.1=Téacs watermark.type.1=Téacs
watermark.type.2=Íomha watermark.type.2=Íomha
@@ -1124,3 +1129,10 @@ error.showStack=Taispeáin Stack Trace
error.copyStack=Cóipeáil Stack Trace error.copyStack=Cóipeáil Stack Trace
error.githubSubmit=GitHub - Cuir ticéad isteach error.githubSubmit=GitHub - Cuir ticéad isteach
error.discordSubmit=Discord - Cuir post Tacaíochta error.discordSubmit=Discord - Cuir post Tacaíochta
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=ऊंचाई स्पेसर (प्रत्ये
watermark.selectText.7=अपारदर्शिता (0% - 100%): watermark.selectText.7=अपारदर्शिता (0% - 100%):
watermark.selectText.8=वॉटरमार्क प्रकार: watermark.selectText.8=वॉटरमार्क प्रकार:
watermark.selectText.9=वॉटरमार्क छवि: watermark.selectText.9=वॉटरमार्क छवि:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=वॉटरमार्क जोड़ें watermark.submit=वॉटरमार्क जोड़ें
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book u PDF
home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre
BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Visina razmaka (Razmak između svakog vodenog žiga okomi
watermark.selectText.7=Neprozirnost (0% - 100%): watermark.selectText.7=Neprozirnost (0% - 100%):
watermark.selectText.8=Vrsta vodenog žiga: watermark.selectText.8=Vrsta vodenog žiga:
watermark.selectText.9=Slika vodenog žiga: watermark.selectText.9=Slika vodenog žiga:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Dodaj vodeni žig watermark.submit=Dodaj vodeni žig
watermark.type.1=Tekst watermark.type.1=Tekst
watermark.type.2=Slika watermark.type.2=Slika
@@ -1124,3 +1129,10 @@ error.showStack=Prikaži Stack Trace
error.copyStack=Kopiraj Stack Trace error.copyStack=Kopiraj Stack Trace
error.githubSubmit=GitHub - Pošaljite ticket error.githubSubmit=GitHub - Pošaljite ticket
error.discordSubmit=Discord - Pošalji objavu podrške error.discordSubmit=Discord - Pošalji objavu podrške
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Hely a vízjelek között függőlegesen):
watermark.selectText.7=Átlátszóság (0% - 100%): watermark.selectText.7=Átlátszóság (0% - 100%):
watermark.selectText.8=Vízjel típusa: watermark.selectText.8=Vízjel típusa:
watermark.selectText.9=Vízjel képe: watermark.selectText.9=Vízjel képe:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Vízjel hozzáadása watermark.submit=Vízjel hozzáadása
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal):
watermark.selectText.7=Opacity (0% - 100%): watermark.selectText.7=Opacity (0% - 100%):
watermark.selectText.8=Tipe Watermark: watermark.selectText.8=Tipe Watermark:
watermark.selectText.9=Gambar Watermark: watermark.selectText.9=Gambar Watermark:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Tambahkan Watermark watermark.submit=Tambahkan Watermark
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Libro in PDF
home.BookToPDF.desc=Converte i formati di libri/fumetti in PDF utilizzando Calibre home.BookToPDF.desc=Converte i formati di libri/fumetti in PDF utilizzando Calibre
BookToPDF.tags=Libro,fumetto,calibre,conversione,manga,amazon,kindle BookToPDF.tags=Libro,fumetto,calibre,conversione,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=spazio verticale (tra ogni filigrana):
watermark.selectText.7=Opacità (0% - 100%): watermark.selectText.7=Opacità (0% - 100%):
watermark.selectText.8=Tipo di filigrana: watermark.selectText.8=Tipo di filigrana:
watermark.selectText.9=Immagine filigrana: watermark.selectText.9=Immagine filigrana:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Aggiungi Filigrana watermark.submit=Aggiungi Filigrana
watermark.type.1=Testo watermark.type.1=Testo
watermark.type.2=Immagine watermark.type.2=Immagine
@@ -1124,3 +1129,10 @@ error.showStack=Mostra traccia dello stack
error.copyStack=Copia traccia dello stack error.copyStack=Copia traccia dello stack
error.githubSubmit=GitHub: invia un ticket error.githubSubmit=GitHub: invia un ticket
error.discordSubmit=Discord: invia post di supporto error.discordSubmit=Discord: invia post di supporto
#remove-image
removeImage.title=Rimuovere immagine
removeImage.header=Rimuovi immagine
removeImage.removeImage=Rimuovi immagine
removeImage.submit=Rimuovi immagine

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=PDFを書籍に変換
home.BookToPDF.desc=calibreを使用してPDFを書籍/コミック形式に変換します home.BookToPDF.desc=calibreを使用してPDFを書籍/コミック形式に変換します
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=高さスペース (各透かし間の垂直方向のス
watermark.selectText.7=不透明度 (0% - 100%): watermark.selectText.7=不透明度 (0% - 100%):
watermark.selectText.8=透かしの種類: watermark.selectText.8=透かしの種類:
watermark.selectText.9=透かしの画像: watermark.selectText.9=透かしの画像:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=透かしを追加 watermark.submit=透かしを追加
watermark.type.1=テキスト watermark.type.1=テキスト
watermark.type.2=画像 watermark.type.2=画像
@@ -1124,3 +1129,10 @@ error.showStack=スタックトレースを表示
error.copyStack=スタックトレースをコピー error.copyStack=スタックトレースをコピー
error.githubSubmit=GitHub - チケットを提出 error.githubSubmit=GitHub - チケットを提出
error.discordSubmit=Discord - サポート投稿を提出 error.discordSubmit=Discord - サポート投稿を提出
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=책을 PDF로
home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환 home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=세로 간격 (각 워터마크 사이의 세로 공간):
watermark.selectText.7=투명도 (0% - 100%): watermark.selectText.7=투명도 (0% - 100%):
watermark.selectText.8=워터마크 유형: watermark.selectText.8=워터마크 유형:
watermark.selectText.9=워터마크 이미지: watermark.selectText.9=워터마크 이미지:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=워터마크 추가 watermark.submit=워터마크 추가
watermark.type.1=텍스트 watermark.type.1=텍스트
watermark.type.2=이미지 watermark.type.2=이미지
@@ -1124,3 +1129,10 @@ error.showStack=스택 추적 보기
error.copyStack=스택 추적 복사 error.copyStack=스택 추적 복사
error.githubSubmit=GitHub - 티켓 제출 error.githubSubmit=GitHub - 티켓 제출
error.discordSubmit=Discord - 문의 게시 error.discordSubmit=Discord - 문의 게시
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Boek naar PDF
home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre
BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=hoogteSpacer (Ruimte tussen elk watermerk verticaal):
watermark.selectText.7=Transparantie (0% - 100%): watermark.selectText.7=Transparantie (0% - 100%):
watermark.selectText.8=Type watermerk: watermark.selectText.8=Type watermerk:
watermark.selectText.9=Watermerk afbeelding: watermark.selectText.9=Watermerk afbeelding:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Watermerk toevoegen watermark.submit=Watermerk toevoegen
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Geeft tracering weer
error.copyStack=Kopieer tracering error.copyStack=Kopieer tracering
error.githubSubmit=GitHub - Dien een ticket in error.githubSubmit=GitHub - Dien een ticket in
error.discordSubmit=Discord - Maak een support post error.discordSubmit=Discord - Maak een support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -192,21 +192,21 @@ adminUserSettings.changeUserRole=Endre Brukerens Rolle
adminUserSettings.authenticated=Autentisert adminUserSettings.authenticated=Autentisert
database.title=Database Import/Export database.title=Database Import/Eksport
database.header=Database Import/Export database.header=Database Import/Eksport
database.fileName=File Name database.fileName=Fil navn
database.creationDate=Creation Date database.creationDate=Opprettelsesdato
database.fileSize=File Size database.fileSize=Filstørrelse
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Slett sikkerhetskopifil
database.importBackupFile=Import Backup File database.importBackupFile=Importer sikkerhetskopifil
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Last ned sikkerhetskopifil
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Når du importerer data, er det avgjørende å sikre riktig struktur. Hvis du er usikker på hva du gjør, bør du søke råd og støtte fra en profesjonell. En feil i strukturen kan føre til applikasjonsfeil, inkludert fullstendig manglende evne til å kjøre applikasjonen.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Filnavnet spiller ingen rolle ved opplasting. Det vil bli omdøpt etterpå for å følge formatet backup_user_yyyyMMddHHmm.sql, for å sikre en konsekvent navnekonvensjon.
database.submit=Import Backup database.submit=Importer sikkerhetskopi
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Import til database vellykket
database.fileNotFound=File not Found database.fileNotFound=Fil ikke funnet
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Fil må ikke være tom eller null
database.failedImportFile=Failed Import File database.failedImportFile=Import av fil mislyktes
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -461,6 +461,10 @@ home.BookToPDF.title=Bok til PDF
home.BookToPDF.desc=Konverter bøker/tegneserier til PDF ved hjelp av calibre home.BookToPDF.desc=Konverter bøker/tegneserier til PDF ved hjelp av calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -706,8 +710,8 @@ removeAnnotations.submit=Fjern
#compare #compare
compare.title=Sammenlign compare.title=Sammenlign
compare.header=Sammenlign PDF-er compare.header=Sammenlign PDF-er
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Uthevingsfarge 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Uthevingsfarge 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Sammenlign compare.submit=Sammenlign
@@ -945,6 +949,7 @@ watermark.selectText.6=Høydeavstand (Avstand mellom hvert vannmerke vertikalt):
watermark.selectText.7=Opasitet (0% - 100%): watermark.selectText.7=Opasitet (0% - 100%):
watermark.selectText.8=Vannmerketype: watermark.selectText.8=Vannmerketype:
watermark.selectText.9=Vannmerkebilde: watermark.selectText.9=Vannmerkebilde:
watermark.selectText.10=Konverter PDF til PDF-Bilde
watermark.submit=Legg til vannmerke watermark.submit=Legg til vannmerke
watermark.type.1=Tekst watermark.type.1=Tekst
watermark.type.2=Bilde watermark.type.2=Bilde
@@ -1124,3 +1129,10 @@ error.showStack=Vis stakksporing
error.copyStack=Kopier stakksporing error.copyStack=Kopier stakksporing
error.githubSubmit=GitHub - Send inn en billett error.githubSubmit=GitHub - Send inn en billett
error.discordSubmit=Discord - Send inn støtteinnlegg error.discordSubmit=Discord - Send inn støtteinnlegg
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -38,13 +38,13 @@ delete=usuń
username=nazwa użytkownika username=nazwa użytkownika
password=hasło password=hasło
welcome=Witaj welcome=Witaj
property=własnośc property=własność
black=czarny black=czarny
white=biały white=biały
red=czerwony red=czerwony
green=zielony green=zielony
blue=niebieski blue=niebieski
custom=Własny custom=Własny...
WorkInProgess=Praca w toku, proszę zgłaszać błędy! WorkInProgess=Praca w toku, proszę zgłaszać błędy!
poweredBy=Zasilany poweredBy=Zasilany
yes=tak yes=tak
@@ -93,7 +93,7 @@ pipeline.deletePrompt=Na pewno chcesz skasować automatyzacje
###################### ######################
pipelineOptions.header=Konfiguracja automatyzacji pipelineOptions.header=Konfiguracja automatyzacji
pipelineOptions.pipelineNameLabel=Nazwa automatyzacji pipelineOptions.pipelineNameLabel=Nazwa automatyzacji
pipelineOptions.saveSettings=Zapisz automatyzacje pipelineOptions.saveSettings=Zapisz ustawienia operacji
pipelineOptions.pipelineNamePrompt=Podaj nazwę automatyzacji pipelineOptions.pipelineNamePrompt=Podaj nazwę automatyzacji
pipelineOptions.selectOperation=Wybierz operację pipelineOptions.selectOperation=Wybierz operację
pipelineOptions.addOperationButton=Dodaj operację pipelineOptions.addOperationButton=Dodaj operację
@@ -125,7 +125,7 @@ navbar.sections.edit=Podgląd i edycja
############# #############
settings.title=Ustawienia settings.title=Ustawienia
settings.update=Dostępna aktualizacja settings.update=Dostępna aktualizacja
settings.updateAvailable=Wersja {0} jest obecenia zainstalowana , dostępna jest nowa wersja({1}). settings.updateAvailable=Wersja {0} jest obecenia zainstalowana, dostępna jest nowa wersja ({1}).
settings.appVersion=Wersja aplikacji: settings.appVersion=Wersja aplikacji:
settings.downloadOption.title=Wybierz opcję pobierania (w przypadku pobierania pojedynczych plików innych niż ZIP): settings.downloadOption.title=Wybierz opcję pobierania (w przypadku pobierania pojedynczych plików innych niż ZIP):
settings.downloadOption.1=Otwórz w tym samym oknie settings.downloadOption.1=Otwórz w tym samym oknie
@@ -152,7 +152,7 @@ changeCreds.submit=Zapisz zmiany
account.title=Ustawienia konta account.title=Ustawienia konta
account.accountSettings=Ustawienia konta account.accountSettings=Ustawienia konta
account.adminSettings=Admin - kontrola kont account.adminSettings=Admin - kontrola kont
account.userControlSettings=Kontrola praw uzytkownika account.userControlSettings=Kontrola praw użytkownika
account.changeUsername=Zmień nazwę użytkownika account.changeUsername=Zmień nazwę użytkownika
account.newUsername=Nowa nazwa użytkownika account.newUsername=Nowa nazwa użytkownika
account.password=Potwierdź hasło account.password=Potwierdź hasło
@@ -172,41 +172,41 @@ account.syncToAccount=Wczytaj dane konta z przeglądarki
adminUserSettings.title=Ustawienia konta użytkownika adminUserSettings.title=Ustawienia konta użytkownika
adminUserSettings.header=Ustawienia praw administratora adminUserSettings.header=Ustawienia praw administratora
adminUserSettings.admin=administrator adminUserSettings.admin=Administrator
adminUserSettings.user=użytkownik adminUserSettings.user=Użytkownik
adminUserSettings.addUser=dodaj nowego użytkownika adminUserSettings.addUser=Dodaj nowego użytkownika
adminUserSettings.deleteUser=usuń użytkownika adminUserSettings.deleteUser=Usuń użytkownika
adminUserSettings.confirmDeleteUser=Czy na pewno usunąć użytkownika ? adminUserSettings.confirmDeleteUser=Czy na pewno usunąć użytkownika?
adminUserSettings.usernameInfo=Niewłaściwa nazwa użytkownika - musi zawierać litery, cyfry i @._+- LUB być adresem email. adminUserSettings.usernameInfo=Niewłaściwa nazwa użytkownika - musi zawierać litery, cyfry i @._+- LUB być adresem email.
adminUserSettings.roles=Role adminUserSettings.roles=Role
adminUserSettings.role=Rola adminUserSettings.role=Rola
adminUserSettings.actions=Akcje adminUserSettings.actions=Akcje
adminUserSettings.apiUser=Ograniczony Użytkownik API adminUserSettings.apiUser=Ograniczony Użytkownik API
adminUserSettings.extraApiUser=Dodatkowy ograniczony Użytkownik API adminUserSettings.extraApiUser=Dodatkowy ograniczony Użytkownik API
adminUserSettings.webOnlyUser=Uzytkownik tylko WEB adminUserSettings.webOnlyUser=Użytkownik tylko WEB
adminUserSettings.demoUser=Użytkownik DEMO adminUserSettings.demoUser=Użytkownik DEMO
adminUserSettings.internalApiUser=Wenętrzny użytkownik API adminUserSettings.internalApiUser=Wewnętrzny użytkownik API
adminUserSettings.forceChange=Wymuś zmianę hasło po zalogowaniu adminUserSettings.forceChange=Wymuś zmianę hasło po zalogowaniu
adminUserSettings.submit=Zapisz użytkownika adminUserSettings.submit=Zapisz użytkownika
adminUserSettings.changeUserRole=Zmień rolę użytkownika adminUserSettings.changeUserRole=Zmień rolę użytkownika
adminUserSettings.authenticated=Zalogowany adminUserSettings.authenticated=Zalogowany
database.title=Database Import/Export database.title=Import/Eksport bazy danych
database.header=Database Import/Export database.header=Import/Eksport bazy danych
database.fileName=File Name database.fileName=Nazwa pliku
database.creationDate=Creation Date database.creationDate=Data utworzenia
database.fileSize=File Size database.fileSize=Rozmiar pliku
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Usuń plik kopii zapasowej
database.importBackupFile=Import Backup File database.importBackupFile=Importuj plik kopii zapasowej
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Pobierz plik kopii zapasowej
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Podczas importowania danych, ważne jest, aby upewnić się, że struktura jest poprawna. Jeśli nie jesteś pewien, co robisz, skontaktuj się z profesjonalistą. Błąd w strukturze może spowodować awarie aplikacji, aż do całkowitej niemożności jej uruchomienia.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Nazwa pliku nie ma znaczenia podczas przesyłania. Zostanie on później przemianowany, aby przestrzegać formatu backup_user_yyyyMMddHHmm.sql, zapewniając spójną konwencję nazewnictwa.
database.submit=Import Backup database.submit=Importuj kopię zapasową
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Import do bazy danych zakończony sukcesem
database.fileNotFound=File not Found database.fileNotFound=Plik nie znaleziony
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Plik nie może być pusty
database.failedImportFile=Failed Import File database.failedImportFile=Nie udało się zaimportować pliku
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -216,8 +216,8 @@ home.searchBar=Szukaj opcji ...
home.viewPdf.title=Podejrzyj PDF home.viewPdf.title=Podejrzyj PDF
home.viewPdf.desc=View, annotate, add text or images home.viewPdf.desc=Wyświetl, adnotuj, dodaj tekst lub obrazy
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=wyświetl,czytaj,adnotuj,tekst,obraz
home.multiTool.title=Multi narzędzie PDF home.multiTool.title=Multi narzędzie PDF
home.multiTool.desc=Łącz, dziel, obracaj, zmieniaj kolejność i usuwaj strony home.multiTool.desc=Łącz, dziel, obracaj, zmieniaj kolejność i usuwaj strony
@@ -250,7 +250,7 @@ pdfOrganiser.tags=duplex,even,odd,sort,move
home.addImage.title=Dodaj obraz home.addImage.title=Dodaj obraz
home.addImage.desc=Dodaje obraz w wybranym miejscu w dokumencie PDF (moduł w budowie) home.addImage.desc=Dodaje obraz w wybranym miejscu w dokumencie PDF
addImage.tags=img,jpg,picture,photo addImage.tags=img,jpg,picture,photo
home.watermark.title=Dodaj znak wodny home.watermark.title=Dodaj znak wodny
@@ -281,7 +281,7 @@ compressPdfs.tags=squish,small,tiny
home.changeMetadata.title=Zmień metadane home.changeMetadata.title=Zmień metadane
home.changeMetadata.desc=Zmień/Usuń/Dodaj metadane w dokumencie PDF home.changeMetadata.desc=Zmień/Usuń/Dodaj metadane w dokumencie PDF
changeMetadata.tags==Title,author,date,creation,time,publisher,producer,stats changeMetadata.tags=Title,author,date,creation,time,publisher,producer,stats
home.fileToPDF.title=Konwertuj plik do PDF home.fileToPDF.title=Konwertuj plik do PDF
home.fileToPDF.desc=Konwertuj dowolny plik do dokumentu PDF (DOCX, PNG, XLS, PPT, TXT i więcej) home.fileToPDF.desc=Konwertuj dowolny plik do dokumentu PDF (DOCX, PNG, XLS, PPT, TXT i więcej)
@@ -304,7 +304,7 @@ home.PDFToWord.title=PDF na Word
home.PDFToWord.desc=Konwertuj dokument PDF na formaty Word (DOC, DOCX i ODT) home.PDFToWord.desc=Konwertuj dokument PDF na formaty Word (DOC, DOCX i ODT)
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile
home.PDFToPresentation.title=PDF na Prezentację home.PDFToPresentation.title=PDF na Prezentację
home.PDFToPresentation.desc=Konwertuj dokument PDF na formaty prezentacji (PPT, PPTX i ODP) home.PDFToPresentation.desc=Konwertuj dokument PDF na formaty prezentacji (PPT, PPTX i ODP)
PDFToPresentation.tags=slides,show,office,microsoft PDFToPresentation.tags=slides,show,office,microsoft
@@ -326,7 +326,7 @@ home.ScannerImageSplit.desc=Podziel na wiele zdjęć z jednego zdjęcia/PDF
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize
home.sign.title=Podpis home.sign.title=Podpis
home.sign.desc=Dodaje podpis do dokument PDF za pomocą rysunku, tekstu lub obrazu home.sign.desc=Dodaje podpis do dokumentu PDF za pomocą rysunku, tekstu lub obrazu
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature sign.tags=authorize,initials,drawn-signature,text-sign,image-signature
home.flatten.title=Spłaszcz home.flatten.title=Spłaszcz
@@ -370,7 +370,7 @@ home.pipeline.desc=Wykonaj wiele akcji na dokumentach PDF, tworząc automatyzacj
pipeline.tags=automate,sequence,scripted,batch-process pipeline.tags=automate,sequence,scripted,batch-process
home.add-page-numbers.title=Dodaj numery stron home.add-page-numbers.title=Dodaj numery stron
home.add-page-numbers.desc=Dodaj numbery strony w dokumencie PDF w podanej lokacji home.add-page-numbers.desc=Dodaj numery strony w dokumencie PDF w podanej lokalizacji
add-page-numbers.tags=paginate,label,organize,index add-page-numbers.tags=paginate,label,organize,index
home.auto-rename.title=Automatycznie zmień nazwę PDF home.auto-rename.title=Automatycznie zmień nazwę PDF
@@ -382,7 +382,7 @@ home.adjust-contrast.desc=Zmień kolor/nasycenie/jasność w dokumencie PDF
adjust-contrast.tags=color-correction,tune,modify,enhance adjust-contrast.tags=color-correction,tune,modify,enhance
home.crop.title=Przytnij PDF home.crop.title=Przytnij PDF
home.crop.desc=Przytnij dokument PDF w celu zmiejszenia rozmiaru home.crop.desc=Przytnij dokument PDF w celu zmniejszenia rozmiaru
crop.tags=trim,shrink,edit,shape crop.tags=trim,shrink,edit,shape
home.autoSplitPDF.title=Automatycznie podziel strony home.autoSplitPDF.title=Automatycznie podziel strony
@@ -390,7 +390,7 @@ home.autoSplitPDF.desc=Automatycznie podziel dokument na strony
autoSplitPDF.tags=QR-based,separate,scan-segment,organize autoSplitPDF.tags=QR-based,separate,scan-segment,organize
home.sanitizePdf.title=Dezynfekcja home.sanitizePdf.title=Dezynfekcja
home.sanitizePdf.desc=Usuń skrupt i inne elementy z dokumentu PDF home.sanitizePdf.desc=Usuń skrypt i inne elementy z dokumentu PDF
sanitizePdf.tags=clean,secure,safe,remove-threats sanitizePdf.tags=clean,secure,safe,remove-threats
home.URLToPDF.title=Strona WWW do PDFa home.URLToPDF.title=Strona WWW do PDFa
@@ -427,16 +427,16 @@ home.showJS.desc=Znajduje i pokazuje załączony kod JS w dokumencie PDF
showJS.tags=JS showJS.tags=JS
home.autoRedact.title=Zaciemnij home.autoRedact.title=Zaciemnij
home.autoRedact.desc=Zaciemnia dokument PDF bazująć na podanej wartości home.autoRedact.desc=Zaciemnia dokument PDF bazując na podanej wartości
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=Redact,Hide,black out,black,marker,hidden
home.tableExtraxt.title=PDF do CSV home.tableExtraxt.title=PDF do CSV
home.tableExtraxt.desc=Konwertuje table z PDF do pliku CSV home.tableExtraxt.desc=Konwertuje tabele z PDF do pliku CSV
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV,Table Extraction,extract,convert
home.autoSizeSplitPDF.title=Podziel (Rozmiar/Ilość stron) home.autoSizeSplitPDF.title=Podziel (Rozmiar/Ilość stron)
home.autoSizeSplitPDF.desc=Rozdziela dokument PDF na wiele dokumentów bazuj na podanym rozmiarze, ilości stron bądź ilości dokumentów home.autoSizeSplitPDF.desc=Rozdziela dokument PDF na wiele dokumentów bazując na podanym rozmiarze, ilości stron bądź ilości dokumentów
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf,split,document,organization
@@ -449,7 +449,7 @@ home.split-by-sections.desc=Podziel strony PDF w mniejsze sekcje
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=Section Split, Divide, Customize
home.AddStampRequest.title=Dodaj pieczęć home.AddStampRequest.title=Dodaj pieczęć
home.AddStampRequest.desc=Dodaj pieczęć tesktową/obrazową w wyznaczonej lokalizacji dokumentu home.AddStampRequest.desc=Dodaj pieczęć tekstową/obrazową w wyznaczonej lokalizacji dokumentu
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
@@ -461,6 +461,10 @@ home.BookToPDF.title=eBook do PDF
home.BookToPDF.desc=Zapisuje ebooka do PDF za pomocą Calibre home.BookToPDF.desc=Zapisuje ebooka do PDF za pomocą Calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -481,8 +485,8 @@ login.oauth2RequestNotFound=Błąd logowania OAuth2
login.oauth2InvalidUserInfoResponse=Niewłaściwe dane logowania login.oauth2InvalidUserInfoResponse=Niewłaściwe dane logowania
login.oauth2invalidRequest=Nieprawidłowe żądanie login.oauth2invalidRequest=Nieprawidłowe żądanie
login.oauth2AccessDenied=Brak dostępu login.oauth2AccessDenied=Brak dostępu
login.oauth2InvalidTokenResponse=Nieprawidłowy odpowiedź na token login.oauth2InvalidTokenResponse=Nieprawidłowa odpowiedź na token
login.oauth2InvalidIdToken=Nieprawidłowa wartośc tokenu login.oauth2InvalidIdToken=Nieprawidłowa wartość tokenu
#auto-redact #auto-redact
@@ -569,7 +573,7 @@ AddStampRequest.stampType=Typ pieczęci
AddStampRequest.stampText=Tekst w pieczęci AddStampRequest.stampText=Tekst w pieczęci
AddStampRequest.stampImage=Obraz w pieczęci AddStampRequest.stampImage=Obraz w pieczęci
AddStampRequest.alphabet=Alfabet AddStampRequest.alphabet=Alfabet
AddStampRequest.fontSize=Rozmiar Czcionki/Obrazu AddStampRequest.fontSize=Rozmiar czcionki/obrazu
AddStampRequest.rotation=Obrót AddStampRequest.rotation=Obrót
AddStampRequest.opacity=Przeźroczystość AddStampRequest.opacity=Przeźroczystość
AddStampRequest.position=Pozycja AddStampRequest.position=Pozycja
@@ -584,7 +588,7 @@ AddStampRequest.submit=Wyślij
sanitizePDF.title=Dezynfekuj PDF sanitizePDF.title=Dezynfekuj PDF
sanitizePDF.header=Dezynfekuj dokument PDF sanitizePDF.header=Dezynfekuj dokument PDF
sanitizePDF.selectText.1=Usuń elementy JavaScript sanitizePDF.selectText.1=Usuń elementy JavaScript
sanitizePDF.selectText.2=Usuń załącznone pliki sanitizePDF.selectText.2=Usuń załączone pliki
sanitizePDF.selectText.3=Usuń metadane sanitizePDF.selectText.3=Usuń metadane
sanitizePDF.selectText.4=Usuń linki sanitizePDF.selectText.4=Usuń linki
sanitizePDF.selectText.5=Usuń czcionki sanitizePDF.selectText.5=Usuń czcionki
@@ -601,23 +605,23 @@ addPageNumbers.selectText.4=Numer początkowy
addPageNumbers.selectText.5=Ilość stron do ponumerowania addPageNumbers.selectText.5=Ilość stron do ponumerowania
addPageNumbers.selectText.6=Tekst własny addPageNumbers.selectText.6=Tekst własny
addPageNumbers.customTextDesc=Tekst własny addPageNumbers.customTextDesc=Tekst własny
addPageNumbers.numberPagesDesc=Strony do numeracji, wszystkie (all),1-5, 2,5,9 addPageNumbers.numberPagesDesc=Strony do numeracji, wszystkie (all), 1-5, 2, 5, 9
addPageNumbers.customNumberDesc=Domyślnie do {n}, również akceptuje 'Strona {n} z {total},Teskt-{n},'{filename}-{n} addPageNumbers.customNumberDesc=Domyślnie do {n}, również akceptuje 'Strona {n} z {total},Teskt-{n},'{filename}-{n}
addPageNumbers.submit=Dodaj numerację stron addPageNumbers.submit=Dodaj numerację stron
#auto-rename #auto-rename
auto-rename.title=Automatczna zmiana nazwy auto-rename.title=Automatyczna zmiana nazwy
auto-rename.header=Automatczna zmiana nazwy dokumentu PDF auto-rename.header=Automatyczna zmiana nazwy dokumentu PDF
auto-rename.submit=Automatczna zmiana nazwy auto-rename.submit=Automatyczna zmiana nazwy
#adjustContrast #adjustContrast
adjustContrast.title=Dopasuj kontrast adjustContrast.title=Dopasuj kontrast
adjustContrast.header=Dopasuj kontrast adjustContrast.header=Dopasuj kontrast
adjustContrast.contrast=kontrast: adjustContrast.contrast=Kontrast:
adjustContrast.brightness=jasność: adjustContrast.brightness=Jasność:
adjustContrast.saturation=nasycenie: adjustContrast.saturation=Nasycenie:
adjustContrast.download=Pobierz adjustContrast.download=Pobierz
@@ -630,11 +634,11 @@ crop.submit=Wyślij
#autoSplitPDF #autoSplitPDF
autoSplitPDF.title=Automatycznie podziel PDF autoSplitPDF.title=Automatycznie podziel PDF
autoSplitPDF.header=Automatycznie podziel PDF autoSplitPDF.header=Automatycznie podziel PDF
autoSplitPDF.description=Drukuj, wstaw, skanuj, wyślij i pozwól nam automatycznie posortować dokumenty. autoSplitPDF.description=Drukuj, wstaw, skanuj, wyślij i pozwól nam automatycznie posortować dokumenty. Bez ręcznego sortowania.
autoSplitPDF.selectText.1=Wydrukuj strony separacji z poniższych wzorów - (mogą być czarno-białe) autoSplitPDF.selectText.1=Wydrukuj strony separacji z poniższych wzorów - (mogą być czarno-białe)
autoSplitPDF.selectText.2=Skanuj wszystkie swoje dokumenty na raz, wstawiając stronę separator między nie. autoSplitPDF.selectText.2=Skanuj wszystkie swoje dokumenty na raz, wstawiając stronę separator między nie.
autoSplitPDF.selectText.3=Wyślij pojedyńczy duży plik PDF zawierający skan i pozwól Stirling zająć się resztą. autoSplitPDF.selectText.3=Wyślij pojedynczy duży plik PDF zawierający skan i pozwól Stirling PDF zająć się resztą.
autoSplitPDF.selectText.4=Strony separacji sa automatycznie wykrywane i usuwane, gwarantując ładny finalny dokument. autoSplitPDF.selectText.4=Strony separacji są automatycznie wykrywane i usuwane, gwarantując ładny finalny dokument.
autoSplitPDF.formPrompt=Wyślij dokument PDF zawierający strony podziału z Stirling PDF. autoSplitPDF.formPrompt=Wyślij dokument PDF zawierający strony podziału z Stirling PDF.
autoSplitPDF.duplexMode=Skanowanie dwustronne autoSplitPDF.duplexMode=Skanowanie dwustronne
autoSplitPDF.dividerDownload1=Pobierz 'Auto Splitter Divider (minimal).pdf' autoSplitPDF.dividerDownload1=Pobierz 'Auto Splitter Divider (minimal).pdf'
@@ -666,11 +670,11 @@ scalePages.submit=Wykonaj
certSign.title=Podpisywanie certyfikatem certSign.title=Podpisywanie certyfikatem
certSign.header=Podpisz dokument PDF certyfikatem prywatnym (moduł w budowie) certSign.header=Podpisz dokument PDF certyfikatem prywatnym (moduł w budowie)
certSign.selectPDF=Wybierz dokument PDF do podpisania: certSign.selectPDF=Wybierz dokument PDF do podpisania:
certSign.jksNote=Notka: jeśli twój typ certyfikatu nie jest widoczny na liście , skonwertuj go do formatu Java Keystore (.jks) używając polecenia keytool. Następnie wybierz plik .JKS poniżej z listy. certSign.jksNote=Notka: jeśli twój typ certyfikatu nie jest widoczny na liście, skonwertuj go do formatu Java Keystore (.jks) używając polecenia keytool. Następnie wybierz plik .JKS poniżej z listy.
certSign.selectKey=Wybierz plik klucza prywatnego (format PKCS#8, może to być .pem lub .der): certSign.selectKey=Wybierz plik klucza prywatnego (format PKCS#8, może to być .pem lub .der):
certSign.selectCert=Wybierz plik certyfikatu (format X.509, może to być .pem lub .der): certSign.selectCert=Wybierz plik certyfikatu (format X.509, może to być .pem lub .der):
certSign.selectP12=Wybierz plik magazynu kluczy PKCS#12 (.p12 lub .pfx) (opcjonalnie, jeśli jest podany, powinien zawierać klucz prywatny i certyfikat): certSign.selectP12=Wybierz plik magazynu kluczy PKCS#12 (.p12 lub .pfx) (opcjonalnie, jeśli jest podany, powinien zawierać klucz prywatny i certyfikat):
certSign.selectJKS=Wybierz plik Java Keystore(.jks lub .keystore): certSign.selectJKS=Wybierz plik Java Keystore (.jks lub .keystore):
certSign.certType=Typ certyfikatu certSign.certType=Typ certyfikatu
certSign.password=Wprowadź hasło do magazynu kluczy lub klucza prywatnego (jeśli istnieje): certSign.password=Wprowadź hasło do magazynu kluczy lub klucza prywatnego (jeśli istnieje):
certSign.showSig=Wyświetl podpis certSign.showSig=Wyświetl podpis
@@ -792,7 +796,7 @@ extractImages.submit=Wyodrębnij
fileToPDF.title=Plik na PDF fileToPDF.title=Plik na PDF
fileToPDF.header=Konwertuj dowolny plik na dokument PDF fileToPDF.header=Konwertuj dowolny plik na dokument PDF
fileToPDF.credit=Ta usługa używa LibreOffice i Unoconv do konwersji plików. fileToPDF.credit=Ta usługa używa LibreOffice i Unoconv do konwersji plików.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Obsługiwane typy plików
fileToPDF.supportedFileTypes=Obsługiwane typy plików powinny być zgodne z poniższymi, jednak pełną zaktualizowaną listę obsługiwanych formatów można znaleźć w dokumentacji LibreOffice fileToPDF.supportedFileTypes=Obsługiwane typy plików powinny być zgodne z poniższymi, jednak pełną zaktualizowaną listę obsługiwanych formatów można znaleźć w dokumentacji LibreOffice
fileToPDF.submit=Konwertuj na PDF fileToPDF.submit=Konwertuj na PDF
@@ -803,7 +807,7 @@ compress.header=Kompresuj PDF
compress.credit=Ta usługa używa Ghostscript do kompresji/optymalizacji PDF. compress.credit=Ta usługa używa Ghostscript do kompresji/optymalizacji PDF.
compress.selectText.1=Tryb ręczny - Od 1 do 4 compress.selectText.1=Tryb ręczny - Od 1 do 4
compress.selectText.2=Poziom optymalizacji: compress.selectText.2=Poziom optymalizacji:
compress.selectText.3=4 (Straszne dla obrazów tekstowych) compress.selectText.3=4 (Duże dla obrazów tekstowych)
compress.selectText.4=Tryb automatyczny - Automatycznie dostosowuje jakość, aby uzyskać dokładny rozmiar pliku PDF compress.selectText.4=Tryb automatyczny - Automatycznie dostosowuje jakość, aby uzyskać dokładny rozmiar pliku PDF
compress.selectText.5=Oczekiwany rozmiar pliku PDF (np. 25 MB, 10,8 MB, 25 KB) compress.selectText.5=Oczekiwany rozmiar pliku PDF (np. 25 MB, 10,8 MB, 25 KB)
compress.submit=Kompresuj compress.submit=Kompresuj
@@ -820,9 +824,9 @@ addImage.submit=Dodaj obraz
#merge #merge
merge.title=Połącz merge.title=Połącz
merge.header=Połącz wiele dokumentów PDF (2+) merge.header=Połącz wiele dokumentów PDF (2+)
merge.sortByName=Sort by name merge.sortByName=Sortuj po nazwie
merge.sortByDate=Sort by date merge.sortByDate=Sortuj po dacie
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Usuń podpis cyfrowy w scalonym pliku?
merge.submit=Połącz merge.submit=Połącz
@@ -834,7 +838,7 @@ pdfOrganiser.mode=Tryb
pdfOrganiser.mode.1=Własna kolejność stron pdfOrganiser.mode.1=Własna kolejność stron
pdfOrganiser.mode.2=Odwrotny pdfOrganiser.mode.2=Odwrotny
pdfOrganiser.mode.3=Dwustronny pdfOrganiser.mode.3=Dwustronny
pdfOrganiser.mode.4=Ksiązki pdfOrganiser.mode.4=Książki
pdfOrganiser.mode.5=Spiętej książki pdfOrganiser.mode.5=Spiętej książki
pdfOrganiser.mode.6=Rozdziel parzyste-nieparzyste pdfOrganiser.mode.6=Rozdziel parzyste-nieparzyste
pdfOrganiser.mode.7=Usuń pierwszą pdfOrganiser.mode.7=Usuń pierwszą
@@ -916,7 +920,7 @@ addPassword.title=Dodaj hasło
addPassword.header=Dodaj hasło (zaszyfruj) addPassword.header=Dodaj hasło (zaszyfruj)
addPassword.selectText.1=Wybierz plik PDF do zaszyfrowania addPassword.selectText.1=Wybierz plik PDF do zaszyfrowania
addPassword.selectText.2=Hasło addPassword.selectText.2=Hasło
addPassword.selectText.3=Długość hasła addPassword.selectText.3=Długość klucza szyfrowania
addPassword.selectText.4=Wyższe wartości są silniejsze, ale niższe wartości zapewniają lepszą kompatybilność. addPassword.selectText.4=Wyższe wartości są silniejsze, ale niższe wartości zapewniają lepszą kompatybilność.
addPassword.selectText.5=Uprawnienia do zmian addPassword.selectText.5=Uprawnienia do zmian
addPassword.selectText.6=Zablokuj zmiany w dokumencie addPassword.selectText.6=Zablokuj zmiany w dokumencie
@@ -928,7 +932,7 @@ addPassword.selectText.11=Zablokuj modyfikacje adnotacji
addPassword.selectText.12=Zablokuj drukowanie addPassword.selectText.12=Zablokuj drukowanie
addPassword.selectText.13=Zablokuj drukowanie różnych formatów addPassword.selectText.13=Zablokuj drukowanie różnych formatów
addPassword.selectText.14=Hasło właściciela addPassword.selectText.14=Hasło właściciela
addPassword.selectText.15=Ogranicza akcje które można wykonać na dokumencie, kiedy jest otwarty (nie wspierany przez wszystkie przeglądarki) addPassword.selectText.15=Ogranicza akcje, które można wykonać na dokumencie, kiedy jest otwarty (nie wspierany przez wszystkie przeglądarki)
addPassword.selectText.16=Ogranicza otwarcie dokumentu addPassword.selectText.16=Ogranicza otwarcie dokumentu
addPassword.submit=Zablokuj addPassword.submit=Zablokuj
@@ -945,6 +949,7 @@ watermark.selectText.6=Odstęp w pionie (odstęp między każdym znakiem wodnym
watermark.selectText.7=Nieprzezroczystość (0% - 100%): watermark.selectText.7=Nieprzezroczystość (0% - 100%):
watermark.selectText.8=Typ znaku wodnego: watermark.selectText.8=Typ znaku wodnego:
watermark.selectText.9=Obraz znaku wodnego: watermark.selectText.9=Obraz znaku wodnego:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Dodaj znak wodny watermark.submit=Dodaj znak wodny
watermark.type.1=Tekst watermark.type.1=Tekst
watermark.type.2=Obraz watermark.type.2=Obraz
@@ -1045,7 +1050,7 @@ PDFToXML.submit=Konwertuj
PDFToCSV.title=PDF na CSV PDFToCSV.title=PDF na CSV
PDFToCSV.header=PDF na CSV PDFToCSV.header=PDF na CSV
PDFToCSV.prompt=Choose page to extract table PDFToCSV.prompt=Choose page to extract table
PDFToCSV.submit=Wyci?g PDFToCSV.submit=Zatwierdź
#split-by-size-or-count #split-by-size-or-count
split-by-size-or-count.title=Podziel PDF przez ilość stron bądź rozmiar split-by-size-or-count.title=Podziel PDF przez ilość stron bądź rozmiar
@@ -1100,7 +1105,7 @@ licenses.title=Licencje stron trzecich
licenses.header=Licencje stron trzecich licenses.header=Licencje stron trzecich
licenses.module=Moduł licenses.module=Moduł
licenses.version=Wersja licenses.version=Wersja
licenses.license=Licencha licenses.license=Licencja
#survey #survey
survey.nav=Ankieta survey.nav=Ankieta
@@ -1124,3 +1129,10 @@ error.showStack=Pokaż Stack Trace
error.copyStack=Kopiuj Stack Trace error.copyStack=Kopiuj Stack Trace
error.githubSubmit=GitHub - wyślij zgłoszenie error.githubSubmit=GitHub - wyślij zgłoszenie
error.discordSubmit=Discord - wyślij posta z prośbą o pomoc error.discordSubmit=Discord - wyślij posta z prośbą o pomoc
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Espaçamento Vertical (heightSpacer)
watermark.selectText.7=Opacidade (0% - 100%) watermark.selectText.7=Opacidade (0% - 100%)
watermark.selectText.8=Tipo de Marca d'Água watermark.selectText.8=Tipo de Marca d'Água
watermark.selectText.9=Imagem da Marca d'Água watermark.selectText.9=Imagem da Marca d'Água
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Adicionar Marca d'Água watermark.submit=Adicionar Marca d'Água
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Espaçamento Vertical (heightSpacer)
watermark.selectText.7=Opacidade (0% - 100%) watermark.selectText.7=Opacidade (0% - 100%)
watermark.selectText.8=Tipo de Marca d'Água watermark.selectText.8=Tipo de Marca d'Água
watermark.selectText.9=Imagem da Marca d'Água watermark.selectText.9=Imagem da Marca d'Água
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Adicionar Marca d'Água watermark.submit=Adicionar Marca d'Água
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (Spațiu între fiecare filigran pe vertical
watermark.selectText.7=Opacitate (0% - 100%): watermark.selectText.7=Opacitate (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Adăugați Filigran watermark.submit=Adăugați Filigran
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Книга в PDF
home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (пробел между каждым вод
watermark.selectText.7=Непрозрачность (0% - 100%): watermark.selectText.7=Непрозрачность (0% - 100%):
watermark.selectText.8=Тип водяного знака: watermark.selectText.8=Тип водяного знака:
watermark.selectText.9=Изображение водяного знака: watermark.selectText.9=Изображение водяного знака:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Добавить водяной знак watermark.submit=Добавить водяной знак
watermark.type.1=Текст watermark.type.1=Текст
watermark.type.2=Изображение watermark.type.2=Изображение
@@ -1124,3 +1129,10 @@ error.showStack=Показать стек вызовов
error.copyStack=Скопировать стек вызовов error.copyStack=Скопировать стек вызовов
error.githubSubmit=GitHub - Отправить заявку error.githubSubmit=GitHub - Отправить заявку
error.discordSubmit=Discord - Отправить запрос в поддержку error.discordSubmit=Discord - Отправить запрос в поддержку
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Kniha do PDF
home.BookToPDF.desc=Konvertuje formáty kníh/komiksov do PDF pomocou Calibre home.BookToPDF.desc=Konvertuje formáty kníh/komiksov do PDF pomocou Calibre
BookToPDF.tags=kniha, komiks, Calibre, konvertovať, manga, amazon, kindle BookToPDF.tags=kniha, komiks, Calibre, konvertovať, manga, amazon, kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Výška medzery (Medzera medzi jednotlivými vodotlačami
watermark.selectText.7=Priehľadnosť (0% - 100%): watermark.selectText.7=Priehľadnosť (0% - 100%):
watermark.selectText.8=Typ vodotlače: watermark.selectText.8=Typ vodotlače:
watermark.selectText.9=Obrázok vodotlače: watermark.selectText.9=Obrázok vodotlače:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Pridať vodotlač watermark.submit=Pridať vodotlač
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Obrázok watermark.type.2=Obrázok
@@ -1124,3 +1129,10 @@ error.showStack=Zobraziť sledovanie zásobníka
error.copyStack=Kopírovať sledovanie zásobníka error.copyStack=Kopírovať sledovanie zásobníka
error.githubSubmit=GitHub - Podajte tiket error.githubSubmit=GitHub - Podajte tiket
error.discordSubmit=Discord - Podajte príspevok na podporu error.discordSubmit=Discord - Podajte príspevok na podporu
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Visina razmaka (Razmak između svakog vodenog žiga verti
watermark.selectText.7=Opačitost (0% - 100%): watermark.selectText.7=Opačitost (0% - 100%):
watermark.selectText.8=Tip vodenog žiga: watermark.selectText.8=Tip vodenog žiga:
watermark.selectText.9=Slika vodenog žiga: watermark.selectText.9=Slika vodenog žiga:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Dodaj vodeni žig watermark.submit=Dodaj vodeni žig
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Book to PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (mellanrum mellan varje vattenstämpel verti
watermark.selectText.7=Opacitet (0% - 100%): watermark.selectText.7=Opacitet (0% - 100%):
watermark.selectText.8=Watermark Type: watermark.selectText.8=Watermark Type:
watermark.selectText.9=Watermark Image: watermark.selectText.9=Watermark Image:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Lägg till vattenstämpel watermark.submit=Lägg till vattenstämpel
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Image watermark.type.2=Image
@@ -1124,3 +1129,10 @@ error.showStack=Show Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copy Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submit a ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submit Support post
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=หนังสือเป็น PDF
home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre
BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=ตัวเว้นระยะความสูง (
watermark.selectText.7=ความทึบ (0% - 100%): watermark.selectText.7=ความทึบ (0% - 100%):
watermark.selectText.8=ประเภทลายน้ำ: watermark.selectText.8=ประเภทลายน้ำ:
watermark.selectText.9=ภาพลายน้ำ: watermark.selectText.9=ภาพลายน้ำ:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=เพิ่มลายน้ำ watermark.submit=เพิ่มลายน้ำ
watermark.type.1=ข้อความ watermark.type.1=ข้อความ
watermark.type.2=ภาพ watermark.type.2=ภาพ
@@ -1124,3 +1129,10 @@ error.showStack=แสดง Stack Trace
error.copyStack=คัดลอก Stack Trace error.copyStack=คัดลอก Stack Trace
error.githubSubmit=GitHub - ส่งตั๋ว error.githubSubmit=GitHub - ส่งตั๋ว
error.discordSubmit=Discord - ส่งโพสต์การสนับสนุน error.discordSubmit=Discord - ส่งโพสต์การสนับสนุน
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Kitaptan PDF'ye
home.BookToPDF.desc=calibre kullanarak Kitap/Karikatür formatlarını PDF'ye dönüştürür home.BookToPDF.desc=calibre kullanarak Kitap/Karikatür formatlarını PDF'ye dönüştürür
BookToPDF.tags=Kitap,Çizgi Roman,Calibre,Dönüştür,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Kitap,Çizgi Roman,Calibre,Dönüştür,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=yükseklikBoşluk (Dikeyde her filigran arasında boşluk
watermark.selectText.7=Opaklık (0% - 100%): watermark.selectText.7=Opaklık (0% - 100%):
watermark.selectText.8=Filigran Türü: watermark.selectText.8=Filigran Türü:
watermark.selectText.9=Filigran Resmi: watermark.selectText.9=Filigran Resmi:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Filigran Ekle watermark.submit=Filigran Ekle
watermark.type.1=Metin watermark.type.1=Metin
watermark.type.2=Resim watermark.type.2=Resim
@@ -1124,3 +1129,10 @@ error.showStack=Yığın İzlemesini Göster
error.copyStack=Yığın İzini Kopyala error.copyStack=Yığın İzini Kopyala
error.githubSubmit=GitHub - Hata gönderin error.githubSubmit=GitHub - Hata gönderin
error.discordSubmit=Discord - Destek gönderisi gönderin error.discordSubmit=Discord - Destek gönderisi gönderin
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=Книга у PDF
home.BookToPDF.desc=Конвертує формати книги/комікса у PDF за допомогою calibre home.BookToPDF.desc=Конвертує формати книги/комікса у PDF за допомогою calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer (проміжок між кожним вод
watermark.selectText.7=Непрозорість (0% - 100%): watermark.selectText.7=Непрозорість (0% - 100%):
watermark.selectText.8=Тип водяного знаку: watermark.selectText.8=Тип водяного знаку:
watermark.selectText.9=Зображення водяного знаку: watermark.selectText.9=Зображення водяного знаку:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Додати водяний знак watermark.submit=Додати водяний знак
watermark.type.1=Текст watermark.type.1=Текст
watermark.type.2=Зображення watermark.type.2=Зображення
@@ -1124,3 +1129,10 @@ error.showStack=Показати стек викликів
error.copyStack=Скопіювати стек викликів error.copyStack=Скопіювати стек викликів
error.githubSubmit=GitHub - Надіслати запит error.githubSubmit=GitHub - Надіслати запит
error.discordSubmit=Discord - Надіслати повідомлення підтримки error.discordSubmit=Discord - Надіслати повідомлення підтримки
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -1,7 +1,7 @@
########### ###########
# Generic # # Generic #
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr=left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
pdfPrompt=Chọn (các) tệp PDF pdfPrompt=Chọn (các) tệp PDF
@@ -461,6 +461,10 @@ home.BookToPDF.title=Sách sang PDF
home.BookToPDF.desc=Chuyển đổi định dạng sách/truyện tranh sang PDF bằng calibre home.BookToPDF.desc=Chuyển đổi định dạng sách/truyện tranh sang PDF bằng calibre
BookToPDF.tags=Sách,Truyện tranh,Calibre,Chuyển đổi,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Sách,Truyện tranh,Calibre,Chuyển đổi,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=Khoảng cách dọc (Khoảng cách giữa mỗi hình m
watermark.selectText.7=Độ mờ (0% - 100%): watermark.selectText.7=Độ mờ (0% - 100%):
watermark.selectText.8=Loại hình mờ: watermark.selectText.8=Loại hình mờ:
watermark.selectText.9=Hình ảnh hình mờ: watermark.selectText.9=Hình ảnh hình mờ:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=Thêm hình mờ watermark.submit=Thêm hình mờ
watermark.type.1=Văn bản watermark.type.1=Văn bản
watermark.type.2=Hình ảnh watermark.type.2=Hình ảnh
@@ -1124,3 +1129,10 @@ error.showStack=Hiển thị Stack Trace
error.copyStack=Sao chép Stack Trace error.copyStack=Sao chép Stack Trace
error.githubSubmit=GitHub - Gửi ticket error.githubSubmit=GitHub - Gửi ticket
error.discordSubmit=Discord - Gửi bài đăng hỗ trợ error.discordSubmit=Discord - Gửi bài đăng hỗ trợ
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -192,8 +192,8 @@ adminUserSettings.changeUserRole=更改用户角色
adminUserSettings.authenticated=已验证 adminUserSettings.authenticated=已验证
database.title=数据库 导入/导出 database.title=数据库 导入/导出
database.header=数据库 导入/导出 database.header=数据库 导入/导出
database.fileName=文件名 database.fileName=文件名
database.creationDate=创建时间 database.creationDate=创建时间
database.fileSize=文件大小 database.fileSize=文件大小
@@ -461,6 +461,10 @@ home.BookToPDF.title=电子书转PDF
home.BookToPDF.desc=使用Calibre将电子书/漫画转换成PDF home.BookToPDF.desc=使用Calibre将电子书/漫画转换成PDF
BookToPDF.tags=电子书、漫画、Calibre、转换、日本漫画、亚马逊、kindle BookToPDF.tags=电子书、漫画、Calibre、转换、日本漫画、亚马逊、kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=垂直间距(每个水印之间的垂直距离):
watermark.selectText.7=透明度0% - 100% watermark.selectText.7=透明度0% - 100%
watermark.selectText.8=水印类型: watermark.selectText.8=水印类型:
watermark.selectText.9=水印图片: watermark.selectText.9=水印图片:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=添加水印 watermark.submit=添加水印
watermark.type.1=文字 watermark.type.1=文字
watermark.type.2=图片 watermark.type.2=图片
@@ -1124,3 +1129,10 @@ error.showStack=显示堆栈跟踪
error.copyStack=复制堆栈跟踪 error.copyStack=复制堆栈跟踪
error.githubSubmit=GitHub - 提交工单 error.githubSubmit=GitHub - 提交工单
error.discordSubmit=Discord - 提交支持帖子 error.discordSubmit=Discord - 提交支持帖子
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -461,6 +461,10 @@ home.BookToPDF.title=電子書轉 PDF
home.BookToPDF.desc=使用 calibre 將書籍/漫畫格式轉換為 PDF home.BookToPDF.desc=使用 calibre 將書籍/漫畫格式轉換為 PDF
BookToPDF.tags=電子書,漫畫,Calibre,轉換,日本漫畫,亞馬遜,kindle BookToPDF.tags=電子書,漫畫,Calibre,轉換,日本漫畫,亞馬遜,kindle
home.removeImagePdf.title=Remove image
home.removeImagePdf.desc=Remove image from PDF to reduce file size
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
########################### ###########################
# # # #
@@ -945,6 +949,7 @@ watermark.selectText.6=heightSpacer每個浮水印之間的垂直間距
watermark.selectText.7=不透明度0% - 100% watermark.selectText.7=不透明度0% - 100%
watermark.selectText.8=浮水印類型: watermark.selectText.8=浮水印類型:
watermark.selectText.9=浮水印影像: watermark.selectText.9=浮水印影像:
watermark.selectText.10=Convert PDF to PDF-Image
watermark.submit=新增浮水印 watermark.submit=新增浮水印
watermark.type.1=文字 watermark.type.1=文字
watermark.type.2=圖片 watermark.type.2=圖片
@@ -1124,3 +1129,10 @@ error.showStack=顯示堆疊追蹤
error.copyStack=複製堆疊追蹤 error.copyStack=複製堆疊追蹤
error.githubSubmit=GitHub - 提交工單 error.githubSubmit=GitHub - 提交工單
error.discordSubmit=Discord - 提交支援帖子 error.discordSubmit=Discord - 提交支援帖子
#remove-image
removeImage.title=Remove image
removeImage.header=Remove image
removeImage.removeImage=Remove image
removeImage.submit=Remove image

View File

@@ -24,56 +24,56 @@
{ {
"moduleName": "com.fasterxml.jackson.core:jackson-annotations", "moduleName": "com.fasterxml.jackson.core:jackson-annotations",
"moduleUrl": "https://github.com/FasterXML/jackson", "moduleUrl": "https://github.com/FasterXML/jackson",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.core:jackson-core", "moduleName": "com.fasterxml.jackson.core:jackson-core",
"moduleUrl": "https://github.com/FasterXML/jackson-core", "moduleUrl": "https://github.com/FasterXML/jackson-core",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.core:jackson-databind", "moduleName": "com.fasterxml.jackson.core:jackson-databind",
"moduleUrl": "https://github.com/FasterXML/jackson", "moduleUrl": "https://github.com/FasterXML/jackson",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", "moduleName": "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml",
"moduleUrl": "https://github.com/FasterXML/jackson-dataformats-text", "moduleUrl": "https://github.com/FasterXML/jackson-dataformats-text",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8", "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8",
"moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8", "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310", "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson.module:jackson-module-parameter-names", "moduleName": "com.fasterxml.jackson.module:jackson-module-parameter-names",
"moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names", "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "com.fasterxml.jackson:jackson-bom", "moduleName": "com.fasterxml.jackson:jackson-bom",
"moduleUrl": "https://github.com/FasterXML/jackson-bom", "moduleUrl": "https://github.com/FasterXML/jackson-bom",
"moduleVersion": "2.17.1", "moduleVersion": "2.17.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -194,13 +194,13 @@
}, },
{ {
"moduleName": "com.twelvemonkeys.imageio:imageio-batik", "moduleName": "com.twelvemonkeys.imageio:imageio-batik",
"moduleVersion": "3.10.1", "moduleVersion": "3.11.0",
"moduleLicense": "The BSD License", "moduleLicense": "The BSD License",
"moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license"
}, },
{ {
"moduleName": "com.twelvemonkeys.imageio:imageio-bmp", "moduleName": "com.twelvemonkeys.imageio:imageio-bmp",
"moduleVersion": "3.10.1", "moduleVersion": "3.11.0",
"moduleLicense": "The BSD License", "moduleLicense": "The BSD License",
"moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license"
}, },
@@ -224,13 +224,13 @@
}, },
{ {
"moduleName": "com.twelvemonkeys.imageio:imageio-tiff", "moduleName": "com.twelvemonkeys.imageio:imageio-tiff",
"moduleVersion": "3.10.1", "moduleVersion": "3.11.0",
"moduleLicense": "The BSD License", "moduleLicense": "The BSD License",
"moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license"
}, },
{ {
"moduleName": "com.twelvemonkeys.imageio:imageio-webp", "moduleName": "com.twelvemonkeys.imageio:imageio-webp",
"moduleVersion": "3.10.1", "moduleVersion": "3.11.0",
"moduleLicense": "The BSD License", "moduleLicense": "The BSD License",
"moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license"
}, },
@@ -279,7 +279,7 @@
{ {
"moduleName": "io.micrometer:micrometer-commons", "moduleName": "io.micrometer:micrometer-commons",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.0", "moduleVersion": "1.13.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -293,14 +293,14 @@
{ {
"moduleName": "io.micrometer:micrometer-jakarta9", "moduleName": "io.micrometer:micrometer-jakarta9",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.0", "moduleVersion": "1.13.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "io.micrometer:micrometer-observation", "moduleName": "io.micrometer:micrometer-observation",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.0", "moduleVersion": "1.13.2",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -424,7 +424,7 @@
}, },
{ {
"moduleName": "net.bytebuddy:byte-buddy", "moduleName": "net.bytebuddy:byte-buddy",
"moduleVersion": "1.14.16", "moduleVersion": "1.14.18",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -513,7 +513,7 @@
{ {
"moduleName": "org.apache.tomcat.embed:tomcat-embed-el", "moduleName": "org.apache.tomcat.embed:tomcat-embed-el",
"moduleUrl": "https://tomcat.apache.org/", "moduleUrl": "https://tomcat.apache.org/",
"moduleVersion": "10.1.24", "moduleVersion": "10.1.26",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -533,7 +533,7 @@
{ {
"moduleName": "org.aspectj:aspectjweaver", "moduleName": "org.aspectj:aspectjweaver",
"moduleUrl": "https://www.eclipse.org/aspectj/", "moduleUrl": "https://www.eclipse.org/aspectj/",
"moduleVersion": "1.9.22", "moduleVersion": "1.9.22.1",
"moduleLicense": "Eclipse Public License - v 2.0", "moduleLicense": "Eclipse Public License - v 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt" "moduleLicenseUrl": "https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt"
}, },
@@ -587,182 +587,182 @@
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-common", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-common",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-servlet", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-servlet",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-annotations", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-annotations",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-plus", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-plus",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlet", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlet",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlets", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlets",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-webapp", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-webapp",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-client", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-client",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-common", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-common",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-server", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-server",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-api", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-api",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-common", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-common",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-alpn-client", "moduleName": "org.eclipse.jetty:jetty-alpn-client",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-client", "moduleName": "org.eclipse.jetty:jetty-client",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-ee", "moduleName": "org.eclipse.jetty:jetty-ee",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-http", "moduleName": "org.eclipse.jetty:jetty-http",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-io", "moduleName": "org.eclipse.jetty:jetty-io",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-plus", "moduleName": "org.eclipse.jetty:jetty-plus",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-security", "moduleName": "org.eclipse.jetty:jetty-security",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-server", "moduleName": "org.eclipse.jetty:jetty-server",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-session", "moduleName": "org.eclipse.jetty:jetty-session",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-util", "moduleName": "org.eclipse.jetty:jetty-util",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-xml", "moduleName": "org.eclipse.jetty:jetty-xml",
"moduleUrl": "https://eclipse.dev/jetty/", "moduleUrl": "https://eclipse.dev/jetty/",
"moduleVersion": "12.0.9", "moduleVersion": "12.0.11",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
@@ -878,28 +878,28 @@
{ {
"moduleName": "org.springframework.boot:spring-boot", "moduleName": "org.springframework.boot:spring-boot",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-actuator", "moduleName": "org.springframework.boot:spring-boot-actuator",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-actuator-autoconfigure", "moduleName": "org.springframework.boot:spring-boot-actuator-autoconfigure",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-autoconfigure", "moduleName": "org.springframework.boot:spring-boot-autoconfigure",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@@ -913,7 +913,7 @@
{ {
"moduleName": "org.springframework.boot:spring-boot-starter", "moduleName": "org.springframework.boot:spring-boot-starter",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@@ -927,7 +927,7 @@
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-aop", "moduleName": "org.springframework.boot:spring-boot-starter-aop",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@@ -941,7 +941,7 @@
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-jdbc", "moduleName": "org.springframework.boot:spring-boot-starter-jdbc",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@@ -955,14 +955,14 @@
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-json", "moduleName": "org.springframework.boot:spring-boot-starter-json",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-logging", "moduleName": "org.springframework.boot:spring-boot-starter-logging",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@@ -997,140 +997,140 @@
{ {
"moduleName": "org.springframework.data:spring-data-commons", "moduleName": "org.springframework.data:spring-data-commons",
"moduleUrl": "https://spring.io/projects/spring-data", "moduleUrl": "https://spring.io/projects/spring-data",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.data:spring-data-jpa", "moduleName": "org.springframework.data:spring-data-jpa",
"moduleUrl": "https://projects.spring.io/spring-data-jpa", "moduleUrl": "https://projects.spring.io/spring-data-jpa",
"moduleVersion": "3.3.0", "moduleVersion": "3.3.2",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-config", "moduleName": "org.springframework.security:spring-security-config",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-core", "moduleName": "org.springframework.security:spring-security-core",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-crypto", "moduleName": "org.springframework.security:spring-security-crypto",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-client", "moduleName": "org.springframework.security:spring-security-oauth2-client",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-core", "moduleName": "org.springframework.security:spring-security-oauth2-core",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-jose", "moduleName": "org.springframework.security:spring-security-oauth2-jose",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-web", "moduleName": "org.springframework.security:spring-security-web",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.0", "moduleVersion": "6.3.1",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-aop", "moduleName": "org.springframework:spring-aop",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-aspects", "moduleName": "org.springframework:spring-aspects",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-beans", "moduleName": "org.springframework:spring-beans",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-context", "moduleName": "org.springframework:spring-context",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-core", "moduleName": "org.springframework:spring-core",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-expression", "moduleName": "org.springframework:spring-expression",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-jcl", "moduleName": "org.springframework:spring-jcl",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-jdbc", "moduleName": "org.springframework:spring-jdbc",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-orm", "moduleName": "org.springframework:spring-orm",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-tx", "moduleName": "org.springframework:spring-tx",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-web", "moduleName": "org.springframework:spring-web",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.8", "moduleVersion": "6.1.11",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },

View File

@@ -0,0 +1,22 @@
.filename {
flex-grow: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-right: 10px;
}
.arrows {
flex-shrink: 0;
display: flex;
justify-content: flex-end;
}
.arrows .btn {
margin: 0 3px;
}
.move-up span,
.move-down span {
font-weight: bold;
font-size: 1.2em;
}

View File

@@ -195,6 +195,9 @@
<div <div
th:replace="~{fragments/navbarEntry :: navbarEntry ('get-info-on-pdf', 'info', 'home.getPdfInfo.title', 'home.getPdfInfo.desc', 'getPdfInfo.tags', 'other')}"> th:replace="~{fragments/navbarEntry :: navbarEntry ('get-info-on-pdf', 'info', 'home.getPdfInfo.title', 'home.getPdfInfo.desc', 'getPdfInfo.tags', 'other')}">
</div> </div>
<div
th:replace="~{fragments/navbarEntry :: navbarEntry ('remove-image-pdf','remove_selection', 'home.removeImagePdf.title', 'home.removeImagePdf.desc', 'removeImagePdf.tags', 'other')}">
</div>
</div> </div>
<!-- Advance menu items --> <!-- Advance menu items -->
<div class="col-lg-2 col-sm-6 py px-xl-1 px-2"> <div class="col-lg-2 col-sm-6 py px-xl-1 px-2">

View File

@@ -229,6 +229,9 @@
<div <div
th:replace="~{fragments/card :: card(id='stamp', cardTitle=#{home.AddStampRequest.title}, cardText=#{home.AddStampRequest.desc}, cardLink='stamp', toolIcon='approval', tags=#{AddStampRequest.tags}, toolGroup='security')}"> th:replace="~{fragments/card :: card(id='stamp', cardTitle=#{home.AddStampRequest.title}, cardText=#{home.AddStampRequest.desc}, cardLink='stamp', toolIcon='approval', tags=#{AddStampRequest.tags}, toolGroup='security')}">
</div> </div>
<div
th:replace="~{fragments/card :: card(id='remove-image-pdf', cardTitle=#{home.removeImagePdf.title}, cardText=#{home.removeImagePdf.desc}, cardLink='remove-image-pdf', toolIcon='remove_selection', tags=#{removeImagePdf.tags}, toolGroup='other')}">
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}"
xmlns:th="https://www.thymeleaf.org">
<head>
<th:block
th:insert="~{fragments/common :: head(title=#{removeImage.title}, header=#{removeImage.header})}"></th:block>
<link rel="stylesheet" th:href="@{'/css/removeImage.css'}">
</head>
<body>
<th:block th:insert="~{fragments/common :: game}"></th:block>
<div id="page-container">
<div id="content-wrap">
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon word">remove_selection</span>
<span class="tool-header-text" th:text="#{removeImage.header}"></span>
</div>
<form action="api/v1/general/remove-image-pdf" method="post" enctype="multipart/form-data">
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
<br>
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{removeImage.submit}"></button>
</form>
</div>
</div>
</div>
</div>
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
</div>
</body>
</html>

View File

@@ -104,6 +104,10 @@
<label for="heightSpacer" th:text="#{watermark.selectText.6}"></label> <label for="heightSpacer" th:text="#{watermark.selectText.6}"></label>
<input type="text" id="heightSpacer" name="heightSpacer" class="form-control" value="50"> <input type="text" id="heightSpacer" name="heightSpacer" class="form-control" value="50">
</div> </div>
<div class="mb-3 form-check">
<input type="checkbox" id="convertPDFToImage" name="convertPDFToImage">
<label for="convertPDFToImage" th:text="#{watermark.selectText.10}"></label>
</div>
<div class="mb-3 text-center"> <div class="mb-3 text-center">
<input type="submit" id="submitBtn" th:value="#{watermark.submit}" class="btn btn-primary"> <input type="submit" id="submitBtn" th:value="#{watermark.submit}" class="btn btn-primary">
</div> </div>

View File

@@ -0,0 +1,41 @@
package stirling.software.SPDF.controller.api.converters;
import org.junit.jupiter.api.Test;
import org.springframework.http.ResponseEntity;
import stirling.software.SPDF.model.api.converters.UrlToPdfRequest;
import static org.junit.jupiter.api.Assertions.*;
public class ConvertWebsiteToPdfTest {
@Test
public void test_exemption_is_thrown_when_invalid_url_format_provided() {
String invalid_format_Url = "invalid-url";
// Arrange
ConvertWebsiteToPDF convertWebsiteToPDF = new ConvertWebsiteToPDF();
UrlToPdfRequest request = new UrlToPdfRequest();
request.setUrlInput(invalid_format_Url);
// Act
IllegalArgumentException thrown = assertThrows(IllegalArgumentException.class, () -> {
convertWebsiteToPDF.urlToPdf(request);
});
// Assert
assertEquals("Invalid URL format provided.", thrown.getMessage());
}
@Test
public void test_exemption_is_thrown_when_url_is_not_reachable() {
String unreachable_Url = "https://www.googleeeexyz.com";
// Arrange
ConvertWebsiteToPDF convertWebsiteToPDF = new ConvertWebsiteToPDF();
UrlToPdfRequest request = new UrlToPdfRequest();
request.setUrlInput(unreachable_Url);
// Act
IllegalArgumentException thrown = assertThrows(IllegalArgumentException.class, () -> {
convertWebsiteToPDF.urlToPdf(request);
});
// Assert
assertEquals("URL is not reachable, please provide a valid URL.", thrown.getMessage());
}
}