mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-09-12 17:52:13 +02:00
Merge branch 'main' into session_2025_03_22
This commit is contained in:
commit
d1b481c1cc
@ -41,7 +41,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -129,7 +129,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/PR-Demo-cleanup.yml
vendored
2
.github/workflows/PR-Demo-cleanup.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/auto-labeler.yml
vendored
2
.github/workflows/auto-labeler.yml
vendored
@ -13,7 +13,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -62,7 +62,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -106,7 +106,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/check_properties.yml
vendored
2
.github/workflows/check_properties.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/dependency-review.yml
vendored
2
.github/workflows/dependency-review.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/licenses-update.yml
vendored
2
.github/workflows/licenses-update.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/manage-label.yml
vendored
2
.github/workflows/manage-label.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
issues: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
26
.github/workflows/multiOSReleases.yml
vendored
26
.github/workflows/multiOSReleases.yml
vendored
@ -2,13 +2,13 @@ name: Test Installers Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [created]
|
||||
inputs:
|
||||
test_mode:
|
||||
description: "Run in test mode (skips release step)"
|
||||
description: "Run in test mode (skip release step)"
|
||||
required: false
|
||||
default: "false"
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@ -21,7 +21,7 @@ jobs:
|
||||
versionMac: ${{ steps.versionNumberMac.outputs.versionNumberMac }}
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -56,7 +56,7 @@ jobs:
|
||||
file_suffix: ""
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -106,7 +106,7 @@ jobs:
|
||||
file_suffix: ""
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -144,7 +144,7 @@ jobs:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -175,7 +175,7 @@ jobs:
|
||||
STIRLING_PDF_DESKTOP_UI: true
|
||||
BROWSER_OPEN: true
|
||||
|
||||
- name: ☕ Set up JDK (x86_64)
|
||||
- name: Set up JDK (x86_64)
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
curl -L -o jdk.tar.gz https://cdn.azul.com/zulu/bin/zulu17.56.15-ca-jdk17.0.14-macosx_x64.tar.gz
|
||||
@ -200,10 +200,10 @@ jobs:
|
||||
ls -lah ./build/jpackage/
|
||||
mkdir ./binaries
|
||||
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
||||
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe"
|
||||
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe"
|
||||
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
|
||||
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
|
||||
mv "./build/jpackage/x86_64/Stirling-PDF (x86_64)-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg"
|
||||
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
|
||||
mv "./build/jpackage/x86_64/Stirling PDF (x86_64)-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg"
|
||||
else
|
||||
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb"
|
||||
fi
|
||||
@ -234,7 +234,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -297,7 +297,7 @@ jobs:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/pre_commit.yml
vendored
2
.github/workflows/pre_commit.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/push-docker.yml
vendored
2
.github/workflows/push-docker.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
6
.github/workflows/releaseArtifacts.yml
vendored
6
.github/workflows/releaseArtifacts.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
version: ${{ steps.versionNumber.outputs.versionNumber }}
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -83,7 +83,7 @@ jobs:
|
||||
file_suffix: ""
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -161,7 +161,7 @@ jobs:
|
||||
file_suffix: ""
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/scorecards.yml
vendored
2
.github/workflows/scorecards.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/sonarqube.yml
vendored
2
.github/workflows/sonarqube.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
2
.github/workflows/swagger.yml
vendored
2
.github/workflows/swagger.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
4
.github/workflows/sync_files.yml
vendored
4
.github/workflows/sync_files.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
committer: ${{ steps.committer.outputs.committer }}
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -57,7 +57,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
6
.github/workflows/testdriver.yml
vendored
6
.github/workflows/testdriver.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -105,7 +105,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
@ -134,7 +134,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
|
||||
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
|
@ -148,7 +148,7 @@ Stirling-PDF currently supports 39 languages!
|
||||
| Simplified Chinese (简体中文) (zh_CN) |  |
|
||||
| Slovakian (Slovensky) (sk_SK) |  |
|
||||
| Slovenian (Slovenščina) (sl_SI) |  |
|
||||
| Spanish (Español) (es_ES) |  |
|
||||
| Spanish (Español) (es_ES) |  |
|
||||
| Swedish (Svenska) (sv_SE) |  |
|
||||
| Thai (ไทย) (th_TH) |  |
|
||||
| Tibetan (བོད་ཡིག་) (zh_BO) |  |
|
||||
|
52
build.gradle
52
build.gradle
@ -23,7 +23,7 @@ ext {
|
||||
imageioVersion = "3.12.0"
|
||||
lombokVersion = "1.18.38"
|
||||
bouncycastleVersion = "1.80"
|
||||
springSecuritySamlVersion = "6.4.4"
|
||||
springSecuritySamlVersion = "6.4.5"
|
||||
openSamlVersion = "4.3.2"
|
||||
tempJrePath = null
|
||||
}
|
||||
@ -118,10 +118,10 @@ jpackage {
|
||||
input = "build/libs"
|
||||
destination = "${projectDir}/build/jpackage"
|
||||
mainJar = "Stirling-PDF-${project.version}.jar"
|
||||
appName = "Stirling-PDF"
|
||||
appName = "Stirling PDF"
|
||||
appVersion = project.version
|
||||
// appVersion = "2005.45.1"
|
||||
vendor = "Stirling-Software"
|
||||
vendor = "Stirling PDF Inc"
|
||||
appDescription = "Stirling PDF - Your Local PDF Editor"
|
||||
icon = "src/main/resources/static/favicon.ico"
|
||||
verbose = true
|
||||
@ -153,7 +153,7 @@ jpackage {
|
||||
winShortcutPrompt = true // Lets user choose whether to create shortcuts
|
||||
winDirChooser = true // Allows users to choose installation directory
|
||||
winPerUserInstall = false
|
||||
winMenuGroup = "Stirling Software"
|
||||
winMenuGroup = "Stirling PDF"
|
||||
winUpgradeUuid = "2a43ed0c-b8c2-40cf-89e1-751129b87641" // Unique identifier for updates
|
||||
winHelpUrl = "https://github.com/Stirling-Tools/Stirling-PDF"
|
||||
winUpdateUrl = "https://github.com/Stirling-Tools/Stirling-PDF/releases"
|
||||
@ -166,8 +166,8 @@ jpackage {
|
||||
appVersion = getMacVersion(project.version.toString())
|
||||
icon = "src/main/resources/static/favicon.icns"
|
||||
type = "dmg"
|
||||
macPackageIdentifier = "Stirling-PDF"
|
||||
macPackageName = "Stirling-PDF"
|
||||
macPackageIdentifier = "Stirling PDF"
|
||||
macPackageName = "Stirling PDF"
|
||||
macAppCategory = "public.app-category.productivity"
|
||||
macSign = false // Enable signing
|
||||
macAppStore = false // Not targeting App Store initially
|
||||
@ -251,18 +251,32 @@ tasks.register('jpackageMacX64') {
|
||||
|
||||
def result = exec {
|
||||
commandLine 'jpackage',
|
||||
'--type', 'dmg',
|
||||
'--name', 'Stirling-PDF (x86_64)',
|
||||
'--input', 'build/libs',
|
||||
'--main-jar', "Stirling-PDF-${project.version}.jar",
|
||||
'--main-class', 'org.springframework.boot.loader.launch.JarLauncher',
|
||||
'--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"),
|
||||
'--dest', 'build/jpackage/x86_64',
|
||||
'--icon', 'src/main/resources/static/favicon.icns',
|
||||
'--app-version', getMacVersion(project.version.toString()),
|
||||
'--mac-package-name', 'Stirling-PDF (x86_64)',
|
||||
'--mac-package-identifier', 'Stirling-PDF (x86_64)',
|
||||
'--mac-app-category', 'public.app-category.productivity'
|
||||
'--type', 'dmg',
|
||||
'--name', 'Stirling PDF (x86_64)',
|
||||
'--input', 'build/libs',
|
||||
'--main-jar', "Stirling-PDF-${project.version}.jar",
|
||||
'--main-class', 'org.springframework.boot.loader.launch.JarLauncher',
|
||||
'--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"),
|
||||
'--dest', 'build/jpackage/x86_64',
|
||||
'--icon', 'src/main/resources/static/favicon.icns',
|
||||
'--app-version', getMacVersion(project.version.toString()),
|
||||
'--mac-package-name', 'Stirling PDF (x86_64)',
|
||||
'--mac-package-identifier', 'Stirling PDF (x86_64)',
|
||||
'--mac-app-category', 'public.app-category.productivity',
|
||||
|
||||
// Java options
|
||||
'--java-options', '-DBROWSER_OPEN=true',
|
||||
'--java-options', '-DSTIRLING_PDF_DESKTOP_UI=true',
|
||||
'--java-options', '-Djava.awt.headless=false',
|
||||
'--java-options', '-Dapple.awt.UIElement=true',
|
||||
'--java-options', '--add-opens=java.base/java.lang=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/java.awt.event=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/sun.awt=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/sun.awt.windows=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/sun.lwawt=ALL-UNNAMED',
|
||||
'--java-options', '--add-opens=java.desktop/sun.lwawt.macosx=ALL-UNNAMED'
|
||||
|
||||
standardOutput = outputStream
|
||||
errorOutput = errorStream
|
||||
ignoreExitValue = true
|
||||
@ -494,7 +508,7 @@ dependencies {
|
||||
implementation "com.drewnoakes:metadata-extractor:2.19.0"
|
||||
|
||||
implementation "commons-io:commons-io:2.19.0"
|
||||
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0"
|
||||
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6"
|
||||
//general PDF
|
||||
|
||||
// https://mvnrepository.com/artifact/com.opencsv/opencsv
|
||||
|
@ -51,7 +51,7 @@ public class PipelineController {
|
||||
this.postHogService = postHogService;
|
||||
}
|
||||
|
||||
@PostMapping("/handleData")
|
||||
@PostMapping(value = "/handleData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public ResponseEntity<byte[]> handleData(@ModelAttribute HandleDataRequest request)
|
||||
throws JsonMappingException, JsonProcessingException {
|
||||
MultipartFile[] files = request.getFileInput();
|
||||
|
@ -22,6 +22,7 @@ import org.bouncycastle.cms.SignerInformationStore;
|
||||
import org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder;
|
||||
import org.bouncycastle.util.Store;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -58,7 +59,7 @@ public class ValidateSignatureController {
|
||||
description =
|
||||
"Validates the digital signatures in a PDF file against default or custom"
|
||||
+ " certificates. Input:PDF Output:JSON Type:SISO")
|
||||
@PostMapping(value = "/validate-signature")
|
||||
@PostMapping(value = "/validate-signature", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public ResponseEntity<List<SignatureValidationResult>> validateSignature(
|
||||
@ModelAttribute SignatureValidationRequest request) throws IOException {
|
||||
List<SignatureValidationResult> results = new ArrayList<>();
|
||||
|
@ -6,10 +6,12 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public class PDFFile {
|
||||
@Schema(description = "The input PDF file")
|
||||
@Schema(description = "The input PDF file", format = "binary")
|
||||
private MultipartFile fileInput;
|
||||
}
|
||||
|
@ -39,5 +39,6 @@ server.servlet.session.timeout:30m
|
||||
springdoc.api-docs.path=/v1/api-docs
|
||||
# Set the URL of the OpenAPI JSON for the Swagger UI
|
||||
springdoc.swagger-ui.url=/v1/api-docs
|
||||
springdoc.swagger-ui.path=/index.html
|
||||
posthog.api.key=phc_fiR65u5j6qmXTYL56MNrLZSWqLaDW74OrZH0Insd2xq
|
||||
posthog.host=https://eu.i.posthog.com
|
||||
|
@ -10,18 +10,18 @@ multiPdfPrompt=Seleccionar PDFs (2+)
|
||||
multiPdfDropPrompt=Seleccione (o arrastre y suelte) todos los PDFs que quiera
|
||||
imgPrompt=Seleccionar Imagen(es)
|
||||
genericSubmit=Enviar
|
||||
uploadLimit=Maximum file size:
|
||||
uploadLimitExceededSingular=is too large. Maximum allowed size is
|
||||
uploadLimitExceededPlural=are too large. Maximum allowed size is
|
||||
uploadLimit=Tamaño máximo de archivo:
|
||||
uploadLimitExceededSingular=es demasiado grande. El tamaño máximo permitido es
|
||||
uploadLimitExceededPlural=son demasiado grandes. El tamaño máximo permitido es
|
||||
processTimeWarning=Advertencia: este proceso puede tardar hasta un minuto dependiendo del tamaño del archivo
|
||||
pageOrderPrompt=Orden de páginas (Introduzca una lista de números de página separados por coma):
|
||||
pageSelectionPrompt=Selección de página personalizada (Intruduzca una lista de números de página separados por comas 1,5,6 o funciones como 2n+1) :
|
||||
pageSelectionPrompt=Selección de página personalizada (Introduzca una lista de números de página separados por comas 1,5,6 o funciones como 2n+1):
|
||||
goToPage=Ir a
|
||||
true=Verdadero
|
||||
false=Falso
|
||||
unknown=Desconocido
|
||||
save=Guardar
|
||||
saveToBrowser=Guardar en el Navegador
|
||||
saveToBrowser=Guardar en el navegador
|
||||
close=Cerrar
|
||||
filesSelected=archivos seleccionados
|
||||
noFavourites=No se agregaron favoritos
|
||||
@ -59,7 +59,7 @@ userNotFoundMessage=Usuario no encontrado.
|
||||
incorrectPasswordMessage=La contraseña actual no es correcta.
|
||||
usernameExistsMessage=El nuevo nombre de usuario está en uso.
|
||||
invalidUsernameMessage=Nombre de usuario no válido, el nombre de usuario solo puede contener letras, números y los siguientes caracteres especiales @._+- o debe ser una dirección de correo electrónico válida.
|
||||
invalidPasswordMessage=La contraseña no puede dejarse en blanco y no puede ni empezar ni terminar con espacios.
|
||||
invalidPasswordMessage=La contraseña no puede dejarse en blanco y no puede empezar ni terminar con espacios.
|
||||
confirmPasswordErrorMessage=Deben coincidir Nueva Contraseña y Confirmar Nueva Contraseña.
|
||||
deleteCurrentUserMessage=No puede eliminar el usuario que tiene la sesión actualmente en uso.
|
||||
deleteUsernameExistsMessage=El usuario no existe y no puede eliminarse.
|
||||
@ -86,37 +86,37 @@ loading=Cargando...
|
||||
addToDoc=Agregar al Documento
|
||||
reset=Restablecer
|
||||
apply=Aplicar
|
||||
noFileSelected=No file selected. Please upload one.
|
||||
noFileSelected=No ha seleccionado ningún archivo. Por favor, cargue uno.
|
||||
|
||||
legal.privacy=Política de Privacidad
|
||||
legal.terms=Términos y Condiciones
|
||||
legal.accessibility=Accesibilidad
|
||||
legal.cookie=Política de Cookies
|
||||
legal.impressum=Impresión
|
||||
legal.showCookieBanner=Cookie Preferences
|
||||
legal.showCookieBanner=Preferencias de cookies
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Menú de canalización (Alfa)
|
||||
pipeline.header=Menú de automatización (Alfa)
|
||||
pipeline.uploadButton=Cargar personalización
|
||||
pipeline.configureButton=Configurar
|
||||
pipeline.defaultOption=Personalizar
|
||||
pipeline.submitButton=Enviar
|
||||
pipeline.help=Ayuda de Canalización
|
||||
pipeline.help=Ayuda de automatización
|
||||
pipeline.scanHelp=Ayuda de escaneado de carpetas
|
||||
pipeline.deletePrompt=¿Seguro que quiere eliminar la canalización?
|
||||
pipeline.deletePrompt=¿Seguro que quiere eliminar la automatización?
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Configuración de la canalización
|
||||
pipelineOptions.pipelineNameLabel=Nombre de la canalización
|
||||
pipelineOptions.saveSettings=Guardar configuración de la canalización
|
||||
pipelineOptions.pipelineNamePrompt=Introduzca aquí el nombre de la canalización
|
||||
pipelineOptions.header=Configuración de la automatización
|
||||
pipelineOptions.pipelineNameLabel=Nombre de la automatización
|
||||
pipelineOptions.saveSettings=Guardar configuración de la automatización
|
||||
pipelineOptions.pipelineNamePrompt=Introduzca aquí el nombre de la automatización
|
||||
pipelineOptions.selectOperation=Seleccione la operación
|
||||
pipelineOptions.addOperationButton=Añadir operación
|
||||
pipelineOptions.pipelineHeader=Canalización:
|
||||
pipelineOptions.pipelineHeader=Automatización:
|
||||
pipelineOptions.saveButton=Descargar
|
||||
pipelineOptions.validateButton=Validar
|
||||
|
||||
@ -237,31 +237,31 @@ adminUserSettings.activeUsers=Usuarios Activos:
|
||||
adminUserSettings.disabledUsers=Usuarios deshabilitados:
|
||||
adminUserSettings.totalUsers=Usuarios totales:
|
||||
adminUserSettings.lastRequest=Última petición
|
||||
adminUserSettings.usage=View Usage
|
||||
adminUserSettings.usage=Ver uso
|
||||
|
||||
endpointStatistics.title=Endpoint Statistics
|
||||
endpointStatistics.header=Endpoint Statistics
|
||||
endpointStatistics.title=Estadísticas de funciones
|
||||
endpointStatistics.header=Estadísticas de funciones
|
||||
endpointStatistics.top10=Top 10
|
||||
endpointStatistics.top20=Top 20
|
||||
endpointStatistics.all=All
|
||||
endpointStatistics.refresh=Refresh
|
||||
endpointStatistics.includeHomepage=Include Homepage ('/')
|
||||
endpointStatistics.includeLoginPage=Include Login Page ('/login')
|
||||
endpointStatistics.totalEndpoints=Total Endpoints
|
||||
endpointStatistics.totalVisits=Total Visits
|
||||
endpointStatistics.showing=Showing
|
||||
endpointStatistics.selectedVisits=Selected Visits
|
||||
endpointStatistics.endpoint=Endpoint
|
||||
endpointStatistics.visits=Visits
|
||||
endpointStatistics.percentage=Percentage
|
||||
endpointStatistics.loading=Loading...
|
||||
endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
|
||||
endpointStatistics.home=Home
|
||||
endpointStatistics.login=Login
|
||||
endpointStatistics.top=Top
|
||||
endpointStatistics.numberOfVisits=Number of Visits
|
||||
endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
|
||||
endpointStatistics.retry=Retry
|
||||
endpointStatistics.all=Todas
|
||||
endpointStatistics.refresh=Refrescar
|
||||
endpointStatistics.includeHomepage=Incluir página de inicio ('/')
|
||||
endpointStatistics.includeLoginPage=Incluir página de inicio de sesión ('/login')
|
||||
endpointStatistics.totalEndpoints=Funciones totales
|
||||
endpointStatistics.totalVisits=Visitas totales
|
||||
endpointStatistics.showing=Mostrando
|
||||
endpointStatistics.selectedVisits=Visitas seleccionadas
|
||||
endpointStatistics.endpoint=Funciones
|
||||
endpointStatistics.visits=Visitas
|
||||
endpointStatistics.percentage=Porcentaje
|
||||
endpointStatistics.loading=Cargando...
|
||||
endpointStatistics.failedToLoad=Falló la carga de los datos de funciones. Por favor, recargue para volver a intentarlo.
|
||||
endpointStatistics.home=Inicio
|
||||
endpointStatistics.login=Inicio de sesión
|
||||
endpointStatistics.top=Lo más usado
|
||||
endpointStatistics.numberOfVisits=Número de visitas
|
||||
endpointStatistics.visitsTooltip=Visitas: {0} ({1}% del total)
|
||||
endpointStatistics.retry=Reintentar
|
||||
|
||||
database.title=Base de Datos Importar/Exportar
|
||||
database.header=Base de Datos Importar/Exportar
|
||||
@ -275,14 +275,14 @@ database.downloadBackupFile=Descargar archivo de copia de seguridad
|
||||
database.info_1=Al importar datos, es fundamental garantizar la estructura correcta. Si no está seguro de lo que está haciendo, busque consejo y apoyo de un profesional. Un error en la estructura puede causar un mal funcionamiento de la aplicación, incluyendo la imposibilidad total de ejecutar la aplicación.
|
||||
database.info_2=El nombre del archivo no importa al cargarlo. Posteriormente se le cambiará el nombre para que siga el formato backup_user_yyyyMMddHHmm.sql, lo que garantiza una convención de nomenclatura coherente.
|
||||
database.submit=Importar Copia de Seguridad
|
||||
database.importIntoDatabaseSuccessed=Importación a la base de datos ha sido exitosa
|
||||
database.importIntoDatabaseSuccessed=La importación a la base de datos ha sido exitosa
|
||||
database.backupCreated=Respaldo de la Base de Datos exitoso
|
||||
database.fileNotFound=Archivo no encontrado
|
||||
database.fileNullOrEmpty=El archivo no debe ser nulo o vacío.
|
||||
database.fileNullOrEmpty=El archivo no puede ser nulo o vacío.
|
||||
database.failedImportFile=Archivo de importación fallido
|
||||
database.notSupported=Esta función no esta disponible para su conexión de Base de Datos
|
||||
|
||||
session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo.
|
||||
session.expired=Su sesión ha caducado. Actualice la página e inténtelo de nuevo.
|
||||
session.refreshPage=Refrescar Página
|
||||
|
||||
#############
|
||||
@ -301,8 +301,8 @@ home.hideFavorites=Ocultar Favoritos
|
||||
home.showFavorites=Mostrar Favoritos
|
||||
home.legacyHomepage=Página de inicio anterior
|
||||
home.newHomePage=¡Prueba nuestra nueva página de inicio!
|
||||
home.alphabetical=Alfabetico
|
||||
home.globalPopularity=Popularidad Global
|
||||
home.alphabetical=Alfabético
|
||||
home.globalPopularity=Las más populares
|
||||
home.sortBy=Ordenado por:
|
||||
|
||||
home.multiTool.title=Multi-herramienta PDF
|
||||
@ -311,15 +311,15 @@ multiTool.tags=Multi-herramienta,Multi-operación,Interfaz de usuario,Arrastrar
|
||||
|
||||
home.merge.title=Unir
|
||||
home.merge.desc=Unir fácilmente múltiples PDFs en uno
|
||||
merge.tags=Unir,Operaciones de página,Back end,lado del servidor
|
||||
merge.tags=Unir,Operaciones de página,Back end,Backend
|
||||
|
||||
home.split.title=Dividir
|
||||
home.split.desc=Dividir PDFs en múltiples documentos
|
||||
split.tags=Operaciones de página,dividir,Multi-página,cortar,lado del servidor
|
||||
split.tags=Operaciones de página,dividir,Multi-página,cortar,Backend
|
||||
|
||||
home.rotate.title=Rotar
|
||||
home.rotate.desc=Rotar fácilmente sus PDFs
|
||||
rotate.tags=lado del servidor
|
||||
rotate.tags=Backend
|
||||
|
||||
|
||||
home.imageToPdf.title=Imagen a PDF
|
||||
@ -451,7 +451,7 @@ home.scalePages.title=Escalar/ajustar tamaño de página
|
||||
home.scalePages.desc=Escalar/cambiar el tamaño de una pagina y/o su contenido
|
||||
scalePages.tags=cambiar tamaño,modificar,dimensionar,adaptar
|
||||
|
||||
home.pipeline.title=Secuencia
|
||||
home.pipeline.title=Automatización
|
||||
home.pipeline.desc=Ejecutar varias tareas a PDFs definiendo una secuencia de comandos
|
||||
pipeline.tags=automatizar,secuencia,con script,proceso por lotes
|
||||
|
||||
@ -548,7 +548,7 @@ AddStampRequest.tags=Sello, Añadir imagen, centrar imagen, Marca de agua, PDF,
|
||||
|
||||
home.removeImagePdf.title=Eliminar imagen
|
||||
home.removeImagePdf.desc=Eliminar imagen del PDF> para reducir el tamaño de archivo
|
||||
removeImagePdf.tags=Eliminar imagen,Operaciones de página,Back end,lado del servidor
|
||||
removeImagePdf.tags=Eliminar imagen,Operaciones de página,Back end,Backend
|
||||
|
||||
|
||||
home.splitPdfByChapters.title=Dividir PDF por capítulos
|
||||
@ -564,7 +564,7 @@ replace-color.title=Reemplazar-Invertir-Color
|
||||
replace-color.header=Reemplazar-Invertir Color en PDF
|
||||
home.replaceColorPdf.title=Reemplazar e Invertir Color
|
||||
home.replaceColorPdf.desc=Reemplaza el color del texto y el fondo en el PDF e invierte el color completo del PDF para reducir el tamaño del archivo
|
||||
replaceColorPdf.tags=Reemplazar Color,Operaciones de Página,Back end,Lado del servidor
|
||||
replaceColorPdf.tags=Reemplazar Color,Operaciones de Página,Back end,Backend
|
||||
replace-color.selectText.1=Opciones para Reemplazar o Invertir color
|
||||
replace-color.selectText.2=Predeterminado (Colores de alto contraste predeterminados)
|
||||
replace-color.selectText.3=Personalizado (Colores personalizados)
|
||||
@ -595,7 +595,7 @@ login.locked=Su cuenta se ha bloqueado.
|
||||
login.signinTitle=Por favor, inicie sesión
|
||||
login.ssoSignIn=Iniciar sesión a través del inicio de sesión único
|
||||
login.oAuth2AutoCreateDisabled=Usuario de creación automática de OAUTH2 DESACTIVADO
|
||||
login.oAuth2AdminBlockedUser=El registro o inicio de sesión de usuarios no registrados está actualmente bloqueado. Por favor, contáctese con el administrador.
|
||||
login.oAuth2AdminBlockedUser=El registro o inicio de sesión de usuarios no registrados está actualmente bloqueado. Por favor, póngase en contacto con el administrador.
|
||||
login.oauth2RequestNotFound=Solicitud de autorización no encontrada
|
||||
login.oauth2InvalidUserInfoResponse=Respuesta de información de usuario no válida
|
||||
login.oauth2invalidRequest=Solicitud no válida
|
||||
@ -604,9 +604,9 @@ login.oauth2InvalidTokenResponse=Respuesta de token no válida
|
||||
login.oauth2InvalidIdToken=Token de identificación no válido
|
||||
login.relyingPartyRegistrationNotFound=No hay registro de terceros confiables
|
||||
login.userIsDisabled=El usuario está desactivado, actualmente el acceso está bloqueado para ese nombre de usuario. Por favor, póngase en contacto con el administrador.
|
||||
login.alreadyLoggedIn=Ya has iniciado sesión en
|
||||
login.alreadyLoggedIn2=dispositivos. Cierra sesión en los dispositivos y vuelve a intentarlo.
|
||||
login.toManySessions=Tienes demasiadas sesiones activas
|
||||
login.alreadyLoggedIn=Ya ha iniciado sesión en
|
||||
login.alreadyLoggedIn2=dispositivos. Cierre sesión en los dispositivos y vuelva a intentarlo.
|
||||
login.toManySessions=Tiene demasiadas sesiones activas
|
||||
|
||||
#auto-redact
|
||||
autoRedact.title=Auto Censurar Texto
|
||||
@ -616,7 +616,7 @@ autoRedact.textsToRedactLabel=Texto para Censurar (separado por líneas)
|
||||
autoRedact.textsToRedactPlaceholder=por ej. \nConfidencial \nAlto-Secreto
|
||||
autoRedact.useRegexLabel=Usar Regex
|
||||
autoRedact.wholeWordSearchLabel=Búsqueda por palabra completa
|
||||
autoRedact.customPaddingLabel=Extra Padding personalizado
|
||||
autoRedact.customPaddingLabel=Espaciado adicional personalizado
|
||||
autoRedact.convertPDFToImageLabel=Convertir PDF a imagen PDF (Utilizado para eliminar el texto detrás del cajetín de censura)
|
||||
autoRedact.submitButton=Enviar
|
||||
|
||||
@ -626,26 +626,26 @@ redact.header=Censurar texto Manualmente
|
||||
redact.submit=Enviar
|
||||
redact.textBasedRedaction=Censura basada en texto
|
||||
redact.pageBasedRedaction=Censura basada en la página
|
||||
redact.convertPDFToImageLabel=Convertir PDF a PDF-Image (Utilizado para eliminar el texto detrás del cajetín de censura)
|
||||
redact.convertPDFToImageLabel=Convertir PDF a PDF-Imagen (Utilizado para eliminar el texto detrás del cajetín de censura)
|
||||
redact.pageRedactionNumbers.title=Páginas
|
||||
redact.pageRedactionNumbers.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
redact.pageRedactionNumbers.placeholder=(por ejemplo 1,2,8 o 4,7,12-16 o 2n-1)
|
||||
redact.redactionColor.title=Color del cajetín
|
||||
redact.export=Exportar
|
||||
redact.upload=Cargar
|
||||
redact.boxRedaction=Dibujar cajetín de censura
|
||||
redact.zoom=Zoom
|
||||
redact.zoomIn=Zoom in
|
||||
redact.zoomOut=Zoom out
|
||||
redact.nextPage=Siguiente página
|
||||
redact.previousPage=Pagina Anterior
|
||||
redact.zoomIn=Acercar
|
||||
redact.zoomOut=Alejar
|
||||
redact.nextPage=Página siguiente
|
||||
redact.previousPage=Pagina anterior
|
||||
redact.toggleSidebar=Activar/desactivar barra lateral
|
||||
redact.showThumbnails=Mostrar Miniaturas
|
||||
redact.showDocumentOutline=Mostra Esquema del documento (doble-click para expandir/colapsar elementos)
|
||||
redact.showDocumentOutline=Mostrar esquema del documento (doble clic para expandir/contraer elementos)
|
||||
redact.showAttatchments=Mostrar Adjuntos
|
||||
redact.showLayers=Mostrar Capas (doble-click para reiniciar las capas a su estado inicial)
|
||||
redact.colourPicker=Seleccionador de Color
|
||||
redact.findCurrentOutlineItem=Buscar elemento actual de esquema
|
||||
redact.applyChanges=Aplicar Cambios
|
||||
redact.showLayers=Mostrar Capas (doble clic para restablecer las capas a su estado inicial)
|
||||
redact.colourPicker=Selector de color
|
||||
redact.findCurrentOutlineItem=Resaltar el marcador
|
||||
redact.applyChanges=Aplicar cambios
|
||||
|
||||
#showJS
|
||||
showJS.title=Mostrar Javascript
|
||||
@ -664,7 +664,7 @@ pdfToSinglePage.submit=Convertir a página única
|
||||
pageExtracter.title=Extraer Páginas
|
||||
pageExtracter.header=Extraer Páginas
|
||||
pageExtracter.submit=Extraer
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
pageExtracter.placeholder=(por ejemplo, 1,2,8 o 4,7,12-16 o 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@ -739,10 +739,10 @@ sanitizePDF.title=Limpiar archivo PDF
|
||||
sanitizePDF.header=Limpiar un archivo PDF
|
||||
sanitizePDF.selectText.1=Eliminar código JavaScript
|
||||
sanitizePDF.selectText.2=Eliminar archivos incrustados
|
||||
sanitizePDF.selectText.3=Remove XMP metadata
|
||||
sanitizePDF.selectText.3=Eliminar metadatos XMP
|
||||
sanitizePDF.selectText.4=Eliminar enlaces
|
||||
sanitizePDF.selectText.5=Eliminar fuentes
|
||||
sanitizePDF.selectText.6=Remove Document Info Metadata
|
||||
sanitizePDF.selectText.6=Eliminar metadatos asociados al documento
|
||||
sanitizePDF.submit=Limpiar PDF
|
||||
|
||||
|
||||
@ -797,7 +797,7 @@ autoSplitPDF.submit=Entregar
|
||||
|
||||
|
||||
#pipeline
|
||||
pipeline.title=Canalización
|
||||
pipeline.title=Automatización
|
||||
|
||||
|
||||
#pageLayout
|
||||
@ -891,8 +891,8 @@ sign.last=Última página
|
||||
sign.next=Siguiente página
|
||||
sign.previous=Página anterior
|
||||
sign.maintainRatio=Activar/desactivar la relación de aspecto
|
||||
sign.undo=Undo
|
||||
sign.redo=Redo
|
||||
sign.undo=Deshacer
|
||||
sign.redo=Rehacer
|
||||
|
||||
#repair
|
||||
repair.title=Reparar
|
||||
@ -964,7 +964,7 @@ compress.header=Comprimir PDF
|
||||
compress.credit=Este servicio utiliza qpdf para compresión/optimización de PDF
|
||||
compress.grayscale.label=Aplicar escala de grises para compresión
|
||||
compress.selectText.1=Compression Settings
|
||||
compress.selectText.1.1=1-3 PDF compression,</br> 4-6 lite image compression,</br> 7-9 intense image compression Will dramatically reduce image quality
|
||||
compress.selectText.1.1=1-3 compresión PDF,</br> 4-6 compresión de imagen suave,</br> 7-9 compresión de imágenes intensa reducirá drásticamente la calidad de imagen
|
||||
compress.selectText.2=Nivel de optimización:
|
||||
compress.selectText.4=Modo automático: ajusta automáticamente la calidad para que el PDF tenga el tamaño exacto
|
||||
compress.selectText.5=Tamaño esperado del PDF (por ejemplo, 25 MB, 10.8 MB, 25 KB)
|
||||
@ -1003,8 +1003,8 @@ pdfOrganiser.mode.7=Quitar primera
|
||||
pdfOrganiser.mode.8=Quitar última
|
||||
pdfOrganiser.mode.9=Quitar primera y última
|
||||
pdfOrganiser.mode.10=Unir impar-par
|
||||
pdfOrganiser.mode.11=Duplicate all pages
|
||||
pdfOrganiser.placeholder=(por ej., 1,3,2 o 4-8,2,10-12 o 2n-1)
|
||||
pdfOrganiser.mode.11=Duplicar todas las páginas
|
||||
pdfOrganiser.placeholder=(por ejemplo, 1,3,2 o 4-8,2,10-12 o 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
@ -1054,7 +1054,7 @@ pageRemover.title=Eliminador de páginas
|
||||
pageRemover.header=Eliminador de páginas PDF
|
||||
pageRemover.pagesToDelete=Páginas a eliminar (introducir una lista de números de página separados por coma):
|
||||
pageRemover.submit=Eliminar Páginas
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
pageRemover.placeholder=(por ejemplo 1,2,6 o 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@ -1074,7 +1074,7 @@ split.desc.4=Documento #2: Páginas 2 y 3
|
||||
split.desc.5=Documento #3: Páginas 4, 5, 6 y 7
|
||||
split.desc.6=Documento #4: Página 8
|
||||
split.desc.7=Documento #5: Página 9
|
||||
split.desc.8=Documento #6: Páginas 10
|
||||
split.desc.8=Documento #6: Página 10
|
||||
split.splitPages=Introducir las páginas para dividir:
|
||||
split.submit=Dividir
|
||||
|
||||
@ -1106,7 +1106,7 @@ pdfToImage.grey=Escala de grises
|
||||
pdfToImage.blackwhite=Blanco y Negro (¡Puede perder datos!)
|
||||
pdfToImage.submit=Convertir
|
||||
pdfToImage.info=Python no está instalado. Se requiere para la conversión WebP.
|
||||
pdfToImage.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
pdfToImage.placeholder=(por ejemplo 1,2,8 o 4,7,12-16 o 2n-1)
|
||||
|
||||
|
||||
#addPassword
|
||||
@ -1201,7 +1201,7 @@ pdfToPDFA.credit=Este servicio usa libreoffice para la conversión a PDF/A
|
||||
pdfToPDFA.submit=Convertir
|
||||
pdfToPDFA.tip=Actualmente no funciona para múltiples entrada a la vez
|
||||
pdfToPDFA.outputFormat=Formato de salida
|
||||
pdfToPDFA.pdfWithDigitalSignature=El PDF contiene una firma digital. Esto se eliminará en el siguiente paso.
|
||||
pdfToPDFA.pdfWithDigitalSignature=El PDF contiene una firma digital. Ésta se eliminará en el siguiente paso.
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@ -1312,14 +1312,14 @@ survey.please=¡Considere realizar nuestra encuesta!
|
||||
survey.disabled=(La ventana emergente de la encuesta se desactivará en las siguientes actualizaciones, pero estará disponible al pie de la página.)
|
||||
survey.button=Realizar encuesta
|
||||
survey.dontShowAgain=No volver a mostrar
|
||||
survey.meeting.1=Si estás utilizando Stirling PDF en el trabajo, nos encantaría hablar contigo. Ofrecemos sesiones de soporte técnico a cambio de una sesión de descubrimiento de usuario de 15 minutos.
|
||||
survey.meeting.2=Esta es una oportunidad para:
|
||||
survey.meeting.3=Obtén ayuda con la implementación, integraciones o solución de problemas
|
||||
survey.meeting.4=Brinda comentarios directos sobre el rendimiento, casos extremos y carencias de funciones
|
||||
survey.meeting.5=Ayudanos a mejorar Stirling PDF para su uso en entornos empresariales reales
|
||||
survey.meeting.6=Si estás interesado, puedes agendar una reunión con nuestro equipo directamente. (Solo en inglés)
|
||||
survey.meeting.7=¡Esperamos conocer tus casos de uso y mejorar aún más Stirling PDF!
|
||||
survey.meeting.notInterested=¿No eres una empresa o no estás interesado en una reunión?
|
||||
survey.meeting.1=Si está utilizando Stirling-PDF en el trabajo, nos encantaría hablar con usted. Ofrecemos sesiones de soporte técnico a cambio de una sesión de descubrimiento de usuario de 15 minutos.
|
||||
survey.meeting.2=Es una oportunidad para:
|
||||
survey.meeting.3=Obtenga ayuda con la implementación, integraciones o solución de problemas
|
||||
survey.meeting.4=Brinde comentarios directos sobre el rendimiento, casos extremos y carencia de funciones
|
||||
survey.meeting.5=Ayúdenos a mejorar Stirling-PDF para su uso en entornos empresariales reales
|
||||
survey.meeting.6=Si está interesado, puede agendar una reunión con nuestro equipo directamente. (Sólo en inglés)
|
||||
survey.meeting.7=¡Esperamos conocer sus casos de uso y mejorar aún más Stirling-PDF!
|
||||
survey.meeting.notInterested=¿No es una empresa o no está interesado en una reunión?
|
||||
survey.meeting.button=Reservar reunión
|
||||
|
||||
#error
|
||||
@ -1375,13 +1375,13 @@ validateSignature.title=Validar firmas del PDF
|
||||
validateSignature.header=Validar firmas del PDF
|
||||
validateSignature.selectPDF=Seleccione el archivo PDF firmado
|
||||
validateSignature.submit=Validar firmas
|
||||
validateSignature.results=Resultados de la Validación
|
||||
validateSignature.status=Estador
|
||||
validateSignature.results=Resultados de la validación
|
||||
validateSignature.status=Estado de la validación
|
||||
validateSignature.signer=Firmante
|
||||
validateSignature.date=Fecha
|
||||
validateSignature.reason=Razón
|
||||
validateSignature.reason=Motivo
|
||||
validateSignature.location=Ubicación
|
||||
validateSignature.noSignatures=No se encontrario firmas digiales en este documento
|
||||
validateSignature.noSignatures=No se encontraron firmas digiales en este documento
|
||||
validateSignature.status.valid=Válido
|
||||
validateSignature.status.invalid=Inválido
|
||||
validateSignature.chain.invalid=Error en la validación de la cadena de certificados: no se puede verificar la identidad del firmante
|
||||
@ -1394,39 +1394,39 @@ validateSignature.signature.mathValid=La firma es matemáticamente válida aunqu
|
||||
validateSignature.selectCustomCert=Archivo de certificado personalizado X.509 (opcional)
|
||||
validateSignature.cert.info=Detalles Certificado
|
||||
validateSignature.cert.issuer=Emisor
|
||||
validateSignature.cert.subject=Subject
|
||||
validateSignature.cert.serialNumber=Número Serie
|
||||
validateSignature.cert.subject=Asunto
|
||||
validateSignature.cert.serialNumber=Número de Serie
|
||||
validateSignature.cert.validFrom=Válido desde
|
||||
validateSignature.cert.validUntil=Válido hasta
|
||||
validateSignature.cert.algorithm=Algoritmo
|
||||
validateSignature.cert.keySize=Tamaño llave
|
||||
validateSignature.cert.keySize=Tamaño de la clave
|
||||
validateSignature.cert.version=Versión
|
||||
validateSignature.cert.keyUsage=Uso de la llave
|
||||
validateSignature.cert.keyUsage=Uso de la clave
|
||||
validateSignature.cert.selfSigned=Autofirmado
|
||||
validateSignature.cert.bits=bits
|
||||
|
||||
####################
|
||||
# Cookie banner #
|
||||
####################
|
||||
cookieBanner.popUp.title=How we use Cookies
|
||||
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
|
||||
cookieBanner.popUp.description.2=If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
|
||||
cookieBanner.popUp.acceptAllBtn=Okay
|
||||
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
|
||||
cookieBanner.popUp.showPreferencesBtn=Manage preferences
|
||||
cookieBanner.preferencesModal.title=Consent Preferences Center
|
||||
cookieBanner.preferencesModal.acceptAllBtn=Accept all
|
||||
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
|
||||
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
|
||||
cookieBanner.preferencesModal.closeIconLabel=Close modal
|
||||
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
|
||||
cookieBanner.preferencesModal.subtitle=Cookie Usage
|
||||
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
|
||||
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
|
||||
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
|
||||
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
|
||||
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
|
||||
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they can’t be turned off.
|
||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||
cookieBanner.popUp.title=Cómo usamos las cookies
|
||||
cookieBanner.popUp.description.1=Usamos cookies y otras tecnologías para optimizar el funcionamiento de Stirling PDF, lo que contribuye a mejorar nuestras herramientas y a seguir desarrollando funciones que serán de su interés.
|
||||
cookieBanner.popUp.description.2=Si prefiere no hacerlo, al hacer clic en 'No gracias' se activarán únicamente las cookies esenciales necesarias para que todo funcione correctamente.
|
||||
cookieBanner.popUp.acceptAllBtn=De acuerdo
|
||||
cookieBanner.popUp.acceptNecessaryBtn=No, gracias
|
||||
cookieBanner.popUp.showPreferencesBtn=Gestionar preferencias
|
||||
cookieBanner.preferencesModal.title=Centro de Preferencias de Consentimiento
|
||||
cookieBanner.preferencesModal.acceptAllBtn=Aceptar todo
|
||||
cookieBanner.preferencesModal.acceptNecessaryBtn=Rechazar todo
|
||||
cookieBanner.preferencesModal.savePreferencesBtn=Guardar preferencias
|
||||
cookieBanner.preferencesModal.closeIconLabel=Cerrar diálogo
|
||||
cookieBanner.preferencesModal.serviceCounterLabel=Servicio|Servicios
|
||||
cookieBanner.preferencesModal.subtitle=Uso de cookies
|
||||
cookieBanner.preferencesModal.description.1=Stirling PDF utiliza cookies y tecnologías similares para mejorar su experiencia y entender cómo se usan nuestras herramientas. Esto nos ayuda a mejorar el rendimiento, desarrollar las funciones que le interesan y proporcionar soporte continuo a nuestros usuarios.
|
||||
cookieBanner.preferencesModal.description.2=Stirling PDF no puede—y nunca podrá—rastrear ni acceder al contenido de los documentos que utiliza.
|
||||
cookieBanner.preferencesModal.description.3=Su privacidad y confianza son el núcleo de lo que hacemos.
|
||||
cookieBanner.preferencesModal.necessary.title.1=Cookies estrictsamente necesarias
|
||||
cookieBanner.preferencesModal.necessary.title.2=Siempre activado
|
||||
cookieBanner.preferencesModal.necessary.description=Estas cookies son esenciales para que el sitio web funcione correctamente. Permiten funciones básicas como configurar sus preferencias de privacidad, iniciar sesión y completar formularios, por lo que no se pueden desactivar.
|
||||
cookieBanner.preferencesModal.analytics.title=Análisis
|
||||
cookieBanner.preferencesModal.analytics.description=Estas cookies nos ayudan a entender cómo se están utilizando nuestras herramientas, para que podamos centrarnos en desarrollar las funciones que nuestra comunidad valora más. Tenga la seguridad de que Stirling PDF no puede y nunca podrá rastrear el contenido de los documentos con los que trabaja.
|
||||
|
||||
|
@ -623,21 +623,21 @@
|
||||
{
|
||||
"moduleName": "io.swagger.core.v3:swagger-annotations-jakarta",
|
||||
"moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-annotations",
|
||||
"moduleVersion": "2.2.15",
|
||||
"moduleVersion": "2.2.29",
|
||||
"moduleLicense": "Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
|
||||
},
|
||||
{
|
||||
"moduleName": "io.swagger.core.v3:swagger-core-jakarta",
|
||||
"moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-core",
|
||||
"moduleVersion": "2.2.15",
|
||||
"moduleVersion": "2.2.29",
|
||||
"moduleLicense": "Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
|
||||
},
|
||||
{
|
||||
"moduleName": "io.swagger.core.v3:swagger-models-jakarta",
|
||||
"moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-models",
|
||||
"moduleVersion": "2.2.15",
|
||||
"moduleVersion": "2.2.29",
|
||||
"moduleLicense": "Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
|
||||
},
|
||||
@ -1256,6 +1256,13 @@
|
||||
"moduleLicense": "The MIT License",
|
||||
"moduleLicenseUrl": "https://jsoup.org/license"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.jspecify:jspecify",
|
||||
"moduleUrl": "https://jspecify.dev/docs/start-here",
|
||||
"moduleVersion": "1.0.0",
|
||||
"moduleLicense": "The Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.latencyutils:LatencyUtils",
|
||||
"moduleUrl": "http://latencyutils.github.io/LatencyUtils/",
|
||||
@ -1416,19 +1423,19 @@
|
||||
},
|
||||
{
|
||||
"moduleName": "org.springdoc:springdoc-openapi-starter-common",
|
||||
"moduleVersion": "2.2.0",
|
||||
"moduleVersion": "2.8.6",
|
||||
"moduleLicense": "The Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.springdoc:springdoc-openapi-starter-webmvc-api",
|
||||
"moduleVersion": "2.2.0",
|
||||
"moduleVersion": "2.8.6",
|
||||
"moduleLicense": "The Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.springdoc:springdoc-openapi-starter-webmvc-ui",
|
||||
"moduleVersion": "2.2.0",
|
||||
"moduleVersion": "2.8.6",
|
||||
"moduleLicense": "The Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||
},
|
||||
@ -1603,7 +1610,7 @@
|
||||
{
|
||||
"moduleName": "org.springframework.security:spring-security-saml2-service-provider",
|
||||
"moduleUrl": "https://spring.io/projects/spring-security",
|
||||
"moduleVersion": "6.4.4",
|
||||
"moduleVersion": "6.4.5",
|
||||
"moduleLicense": "Apache License, Version 2.0",
|
||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
|
||||
},
|
||||
@ -1738,10 +1745,16 @@
|
||||
},
|
||||
{
|
||||
"moduleName": "org.webjars:swagger-ui",
|
||||
"moduleUrl": "http://webjars.org",
|
||||
"moduleVersion": "5.2.0",
|
||||
"moduleLicense": "Apache 2.0",
|
||||
"moduleLicenseUrl": "https://github.com/swagger-api/swagger-ui"
|
||||
"moduleUrl": "https://www.webjars.org",
|
||||
"moduleVersion": "5.20.1",
|
||||
"moduleLicense": "Apache-2.0"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.webjars:webjars-locator-lite",
|
||||
"moduleUrl": "https://webjars.org",
|
||||
"moduleVersion": "1.0.1",
|
||||
"moduleLicense": "MIT",
|
||||
"moduleLicenseUrl": "https://github.com/webjars/webjars-locator-lite/blob/main/LICENSE.md"
|
||||
},
|
||||
{
|
||||
"moduleName": "org.yaml:snakeyaml",
|
||||
|
@ -37,3 +37,24 @@
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.footer-link-list {
|
||||
display: flex;
|
||||
flex-direction: row; /* Align links in a row */
|
||||
}
|
||||
|
||||
/* Responsive styles for smaller screens */
|
||||
@media (max-width: 650px) {
|
||||
.footer-link {
|
||||
font-size: 0.8rem; /* Adjust font size for smaller screens */
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 550px) {
|
||||
.footer-link {
|
||||
font-size: 1rem; /* Adjust font size for smaller screens */
|
||||
}
|
||||
.footer-link-list{
|
||||
flex-direction: column; /* Stack links vertically on smaller screens */
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
<div class="footer-center pb-4">
|
||||
<!-- Links section -->
|
||||
<div class="d-flex justify-content-center">
|
||||
<ul class="list-unstyled d-flex">
|
||||
<ul class="list-unstyled footer-link-list">
|
||||
<li><a class="footer-link px-2" id="licenses" target="_blank" th:href="@{'/licenses'}" th:text="#{licenses.nav}">Licenses</a></li>
|
||||
<li><a class="footer-link px-2" id="releases" target="_blank" th:href="@{'/releases'}" th:text="#{releases.footer}">Releases</a></li>
|
||||
<li><a class="footer-link px-2" id="survey" target="_blank" href="https://stirlingpdf.info/s/cm28y3niq000o56dv7liv8wsu" th:text="#{survey.nav}">Survey</a></li>
|
||||
|
Loading…
Reference in New Issue
Block a user