mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-09-03 17:52:30 +02:00
changes
This commit is contained in:
parent
e8d5755d16
commit
c453b2e908
@ -51,9 +51,10 @@ EXPOSE 8080
|
|||||||
|
|
||||||
# Set environment variables
|
# Set environment variables
|
||||||
ENV LOG_LEVEL=INFO
|
ENV LOG_LEVEL=INFO
|
||||||
|
ENV APP_NAME="Stirling PDF"
|
||||||
|
|
||||||
# Run the application
|
# Run the application
|
||||||
ENTRYPOINT ["java","-jar","/app.jar","-Dlogging.level=${LOG_LEVEL}"]
|
ENTRYPOINT ["java","-jar","/app.jar","-Dlogging.level=${LOG_LEVEL}", "-DAppName=${APP_NAME}"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,4 +11,10 @@ public class AppConfig {
|
|||||||
String version = getClass().getPackage().getImplementationVersion();
|
String version = getClass().getPackage().getImplementationVersion();
|
||||||
return (version != null) ? version : "0.3.3";
|
return (version != null) ? version : "0.3.3";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean(name = "appName")
|
||||||
|
public String appName() {
|
||||||
|
String appName = System.getProperty("AppName");
|
||||||
|
return (appName != null) ? appName : "Stirling PDF";
|
||||||
|
}
|
||||||
}
|
}
|
@ -16,7 +16,7 @@ public class Beans implements WebMvcConfigurer {
|
|||||||
@Bean
|
@Bean
|
||||||
public LocaleResolver localeResolver() {
|
public LocaleResolver localeResolver() {
|
||||||
SessionLocaleResolver slr = new SessionLocaleResolver();
|
SessionLocaleResolver slr = new SessionLocaleResolver();
|
||||||
slr.setDefaultLocale(Locale.US);
|
slr.setDefaultLocale(Locale.UK);
|
||||||
return slr;
|
return slr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ public class ConvertPDFToPDFA {
|
|||||||
@GetMapping("/pdf-to-pdfa")
|
@GetMapping("/pdf-to-pdfa")
|
||||||
public String pdfToPdfAForm(Model model) {
|
public String pdfToPdfAForm(Model model) {
|
||||||
model.addAttribute("currentPage", "pdf-to-pdfa");
|
model.addAttribute("currentPage", "pdf-to-pdfa");
|
||||||
return "pdf-to-pdfa";
|
return "convert/pdf-to-pdfa";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,8 +76,8 @@ home.changeMetadata.desc=Change/Remove/Add metadata from a PDF document
|
|||||||
home.fileToPDF.title=Convert file to PDF
|
home.fileToPDF.title=Convert file to PDF
|
||||||
home.fileToPDF.desc=Convert nearly any file to PDF (DOCX, PNG, XLS, PPT, TXT and more)
|
home.fileToPDF.desc=Convert nearly any file to PDF (DOCX, PNG, XLS, PPT, TXT and more)
|
||||||
|
|
||||||
home.ocr.title=Run OCR on PDF
|
home.ocr.title=Run OCR on PDF and/or Cleanup scans
|
||||||
home.ocr.desc=Scans and detects text from images within a PDF and re-adds it as text.
|
home.ocr.desc=Cleanup scans and detects text from images within a PDF and re-adds it as text.
|
||||||
|
|
||||||
home.extractImages.title=Extract Images
|
home.extractImages.title=Extract Images
|
||||||
home.extractImages.desc=Extracts all images from a PDF and saves them to zip
|
home.extractImages.desc=Extracts all images from a PDF and saves them to zip
|
||||||
@ -100,8 +100,8 @@ settings.zipThreshold=Zip files when the number of downloaded files exceeds
|
|||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
ocr.title=OCR
|
ocr.title=OCR / Scan Cleanup
|
||||||
ocr.header=OCR (Optical Character Recognition)
|
ocr.header=Cleanup Scans / OCR (Optical Character Recognition)
|
||||||
ocr.selectText.1=Select languages that are to be detected within the PDF (Ones listed are the ones currently detected):
|
ocr.selectText.1=Select languages that are to be detected within the PDF (Ones listed are the ones currently detected):
|
||||||
ocr.selectText.2=Produce text file containing OCR text alongside the OCR'ed PDF
|
ocr.selectText.2=Produce text file containing OCR text alongside the OCR'ed PDF
|
||||||
ocr.selectText.3=Correct pages were scanned at a skewed angle by rotating them back into place
|
ocr.selectText.3=Correct pages were scanned at a skewed angle by rotating them back into place
|
||||||
|
@ -1,298 +0,0 @@
|
|||||||
###########
|
|
||||||
# Generic #
|
|
||||||
###########
|
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
|
||||||
language.direction=ltr
|
|
||||||
|
|
||||||
pdfPrompt=Select PDF(s)
|
|
||||||
multiPdfPrompt=Select PDFs (2+)
|
|
||||||
multiPdfDropPrompt=Select (or drag & drop) all PDFs you require
|
|
||||||
imgPrompt=Select Image(s)
|
|
||||||
genericSubmit=Submit
|
|
||||||
processTimeWarning=Warning: This process can take up to a minute depending on file-size
|
|
||||||
pageOrderPrompt=Page Order (Enter a comma-separated list of page numbers) :
|
|
||||||
goToPage=Go
|
|
||||||
true=True
|
|
||||||
false=False
|
|
||||||
unknown=Unknown
|
|
||||||
save=Save
|
|
||||||
close=Close
|
|
||||||
|
|
||||||
#############
|
|
||||||
# HOME-PAGE #
|
|
||||||
#############
|
|
||||||
home.desc=Your locally hosted one-stop-shop for all your PDF needs.
|
|
||||||
|
|
||||||
navbar.convert=Convert
|
|
||||||
navbar.security=Security
|
|
||||||
navbar.other=Other
|
|
||||||
navbar.darkmode=Dark Mode
|
|
||||||
|
|
||||||
home.merge.title=Merge PDFs
|
|
||||||
home.merge.desc=Easily merge multiple PDFs into one.
|
|
||||||
|
|
||||||
home.split.title=Split PDFs
|
|
||||||
home.split.desc=Split PDFs into multiple documents
|
|
||||||
|
|
||||||
home.rotate.title=Rotate PDFs
|
|
||||||
home.rotate.desc=Easily rotate your PDFs.
|
|
||||||
|
|
||||||
home.imageToPdf.title=Image to PDF
|
|
||||||
home.imageToPdf.desc=Convert a images (PNG, JPEG, GIF) to PDF.
|
|
||||||
|
|
||||||
home.pdfToImage.title=PDF to Image
|
|
||||||
home.pdfToImage.desc=Convert a PDF to a image. (PNG, JPEG, GIF)
|
|
||||||
|
|
||||||
home.pdfOrganiser.title=PDF Organizer
|
|
||||||
home.pdfOrganiser.desc=Remove/Rearrange pages in any order
|
|
||||||
|
|
||||||
home.addImage.title=Add image onto PDF
|
|
||||||
home.addImage.desc=Adds a image onto a set location on the PDF (Work in progress)
|
|
||||||
|
|
||||||
home.watermark.title=Add Watermark
|
|
||||||
home.watermark.desc=Add a custom watermark to your PDF document.
|
|
||||||
|
|
||||||
home.remove-watermark.title=Remove Watermark
|
|
||||||
home.remove-watermark.desc=Remove watermarks from your PDF document.
|
|
||||||
|
|
||||||
home.permissions.title=Change Permissions
|
|
||||||
home.permissions.desc=Change the permissions of your PDF document
|
|
||||||
|
|
||||||
home.removePages.title=Remove Pages
|
|
||||||
home.removePages.desc=Delete unwanted pages from your PDF document.
|
|
||||||
|
|
||||||
home.addPassword.title=Add Password
|
|
||||||
home.addPassword.desc=Encrypt your PDF document with a password.
|
|
||||||
|
|
||||||
home.removePassword.title=Remove Password
|
|
||||||
home.removePassword.desc=Remove password protection from your PDF document.
|
|
||||||
|
|
||||||
home.compressPdfs.title=Compress PDFs
|
|
||||||
home.compressPdfs.desc=Compress PDFs to reduce their file size.
|
|
||||||
|
|
||||||
home.changeMetadata.title=Change Metadata
|
|
||||||
home.changeMetadata.desc=Change/Remove/Add metadata from a PDF document
|
|
||||||
|
|
||||||
home.fileToPDF.title=Convert file to PDF
|
|
||||||
home.fileToPDF.desc=Convert nearly any file to PDF (DOCX, PNG, XLS, PPT, TXT and more)
|
|
||||||
|
|
||||||
home.ocr.title=Run OCR on PDF
|
|
||||||
home.ocr.desc=Scans and detects text from images within a PDF and re-adds it as text.
|
|
||||||
|
|
||||||
home.extractImages.title=Extract Images
|
|
||||||
home.extractImages.desc=Extracts all images from a PDF and saves them to zip
|
|
||||||
|
|
||||||
|
|
||||||
navbar.settings=Settings
|
|
||||||
settings.title=Settings
|
|
||||||
settings.update=Update available
|
|
||||||
settings.appVersion=App Version:
|
|
||||||
settings.downloadOption.title=Choose download option (For single file non zip downloads):
|
|
||||||
settings.downloadOption.1=Open in same window
|
|
||||||
settings.downloadOption.2=Open in new window
|
|
||||||
settings.downloadOption.3=Download file
|
|
||||||
settings.zipThreshold=Zip files when the number of downloaded files exceeds
|
|
||||||
|
|
||||||
#OCR
|
|
||||||
ocr.title=OCR
|
|
||||||
ocr.header=OCR (Optical Character Recognition)
|
|
||||||
ocr.selectText.1=Select languages that are to be detected within the PDF (Ones listed are the ones currently detected):
|
|
||||||
ocr.selectText.2=Produce text file containing OCR text alongside the OCR'ed PDF
|
|
||||||
ocr.help=Please read this documentation on how to use this for other languages and/or use not in docker
|
|
||||||
ocr.credit=This service uses OCRmyPDF and Tesseract for OCR.
|
|
||||||
ocr.submit=Process PDF with OCR
|
|
||||||
|
|
||||||
extractImages.title=Extract Images
|
|
||||||
extractImages.header=Extract Images
|
|
||||||
extractImages.selectText=Select image format to convert extracted images to
|
|
||||||
extractImages.submit=Extract
|
|
||||||
|
|
||||||
|
|
||||||
#File to PDF
|
|
||||||
fileToPDF.title=File to PDF
|
|
||||||
fileToPDF.header=Convert any file to PDF
|
|
||||||
fileToPDF.credit=This service uses LibreOffice and Unoconv for file conversion.
|
|
||||||
fileToPDF.supportedFileTypes=Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation
|
|
||||||
fileToPDF.submit=Convert to PDF
|
|
||||||
|
|
||||||
|
|
||||||
#Add image
|
|
||||||
addImage.title=Add Image
|
|
||||||
addImage.header=Add image to PDF (Work in progress)
|
|
||||||
addImage.submit=Add image
|
|
||||||
|
|
||||||
#compress
|
|
||||||
compress.title=Compress
|
|
||||||
compress.header=Compress PDF
|
|
||||||
compress.credit=This service uses OCRmyPDF for PDF Compress/Optimisation.
|
|
||||||
compress.selectText.1=Optimization level:
|
|
||||||
compress.selectText.2=0 (No optimization)
|
|
||||||
compress.selectText.3=1 (Default, lossless optimization)
|
|
||||||
compress.selectText.4=2 (Lossy optimization)
|
|
||||||
compress.selectText.5=3 (Lossy optimization, more aggressive)
|
|
||||||
compress.selectText.6=Enable fast web view (linearize PDF)
|
|
||||||
compress.selectText.7=Enable lossy JBIG2 encoding
|
|
||||||
compress.submit=Compress
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
|
||||||
merge.title=Merge
|
|
||||||
merge.header=Merge multiple PDFs (2+)
|
|
||||||
merge.submit=Merge
|
|
||||||
|
|
||||||
#pdfOrganiser
|
|
||||||
pdfOrganiser.title=Page Organizer
|
|
||||||
pdfOrganiser.header=PDF Page Organizer
|
|
||||||
pdfOrganiser.submit=Rearrange Pages
|
|
||||||
|
|
||||||
|
|
||||||
#pageRemover
|
|
||||||
pageRemover.title=Page Remover
|
|
||||||
pageRemover.header=PDF Page remover
|
|
||||||
pageRemover.pagesToDelete=Pages to delete (Enter a comma-separated list of page numbers) :
|
|
||||||
pageRemover.submit=Delete Pages
|
|
||||||
|
|
||||||
#rotate
|
|
||||||
rotate.title=Rotate PDF
|
|
||||||
rotate.header=Rotate PDF
|
|
||||||
rotate.selectAngle=Select rotation angle (in multiples of 90 degrees):
|
|
||||||
rotate.submit=Rotate
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
|
||||||
split.title=Split PDF
|
|
||||||
split.header=Split PDF
|
|
||||||
split.desc.1=The numbers you select are the page number you wish to do a split on
|
|
||||||
split.desc.2=As such selecting 1,3,7-8 would split a 10 page document into 6 separate PDFS with:
|
|
||||||
split.desc.3=Document #1: Page 1
|
|
||||||
split.desc.4=Document #2: Page 2 and 3
|
|
||||||
split.desc.5=Document #3: Page 4, 5 and 6
|
|
||||||
split.desc.6=Document #4: Page 7
|
|
||||||
split.desc.7=Document #5: Page 8
|
|
||||||
split.desc.8=Document #6: Page 9 and 10
|
|
||||||
split.splitPages=Enter pages to split on:
|
|
||||||
split.submit=Split
|
|
||||||
|
|
||||||
|
|
||||||
#merge
|
|
||||||
imageToPDF.title=Image to PDF
|
|
||||||
imageToPDF.header=Image to PDF
|
|
||||||
imageToPDF.submit=Convert
|
|
||||||
imageToPDF.selectText.1=Stretch to fit
|
|
||||||
imageToPDF.selectText.2=Auto rotate PDF
|
|
||||||
imageToPDF.selectText.3=Multi file logic (Only enabled if working with multiple images)
|
|
||||||
imageToPDF.selectText.4=Merge into single PDF
|
|
||||||
imageToPDF.selectText.5=Convert to separate PDFs
|
|
||||||
|
|
||||||
#pdfToImage
|
|
||||||
pdfToImage.title=PDF to Image
|
|
||||||
pdfToImage.header=PDF to Image
|
|
||||||
pdfToImage.selectText=Image Format
|
|
||||||
pdfToImage.singleOrMultiple=Image result type
|
|
||||||
pdfToImage.single=Single Big Image
|
|
||||||
pdfToImage.multi=Multiple Images
|
|
||||||
pdfToImage.colorType=Color type
|
|
||||||
pdfToImage.color=Color
|
|
||||||
pdfToImage.grey=Grayscale
|
|
||||||
pdfToImage.blackwhite=Black and White (May lose data!)
|
|
||||||
pdfToImage.submit=Convert
|
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
|
||||||
addPassword.title=Add Password
|
|
||||||
addPassword.header=Add password (Encrypt)
|
|
||||||
addPassword.selectText.1=Select PDF to encrypt
|
|
||||||
addPassword.selectText.2=Password
|
|
||||||
addPassword.selectText.3=Encryption Key Length
|
|
||||||
addPassword.selectText.4=Higher values are stronger, but lower values have better compatibility.
|
|
||||||
addPassword.selectText.5=Permissions to set
|
|
||||||
addPassword.selectText.6=Prevent assembly of document
|
|
||||||
addPassword.selectText.7=Prevent content extraction
|
|
||||||
addPassword.selectText.8=Prevent extraction for accessibility
|
|
||||||
addPassword.selectText.9=Prevent filling in form
|
|
||||||
addPassword.selectText.10=Prevent modification
|
|
||||||
addPassword.selectText.11=Prevent annotation modification
|
|
||||||
addPassword.selectText.12=Prevent printing
|
|
||||||
addPassword.selectText.13=Prevent printing different formats
|
|
||||||
addPassword.submit=Encrypt
|
|
||||||
|
|
||||||
#watermark
|
|
||||||
watermark.title=Add Watermark
|
|
||||||
watermark.header=Add Watermark
|
|
||||||
watermark.selectText.1=Select PDF to add watermark to:
|
|
||||||
watermark.selectText.2=Watermark Text:
|
|
||||||
watermark.selectText.3=Font Size:
|
|
||||||
watermark.selectText.4=Rotation (0-360):
|
|
||||||
watermark.selectText.5=widthSpacer (Space between each watermark horizontally):
|
|
||||||
watermark.selectText.6=heightSpacer (Space between each watermark vertically):
|
|
||||||
watermark.selectText.7=Opacity (0% - 100%):
|
|
||||||
watermark.submit=Add Watermark
|
|
||||||
|
|
||||||
#remove-watermark
|
|
||||||
remove-watermark.title=Remove Watermark
|
|
||||||
remove-watermark.header=Remove Watermark
|
|
||||||
remove-watermark.selectText.1=Select PDF to remove watermark from:
|
|
||||||
remove-watermark.selectText.2=Watermark Text:
|
|
||||||
remove-watermark.submit=Remove Watermark
|
|
||||||
|
|
||||||
#Change permissions
|
|
||||||
permissions.title=Change Permissions
|
|
||||||
permissions.header=Change Permissions
|
|
||||||
permissions.warning=Warning to have these permissions be unchangeable it is recommended to set them with a password via the add-password page
|
|
||||||
permissions.selectText.1=Select PDF to change permissions
|
|
||||||
permissions.selectText.2=Permissions to set
|
|
||||||
permissions.selectText.3=Prevent assembly of document
|
|
||||||
permissions.selectText.4=Prevent content extraction
|
|
||||||
permissions.selectText.5=Prevent extraction for accessibility
|
|
||||||
permissions.selectText.6=Prevent filling in form
|
|
||||||
permissions.selectText.7=Prevent modification
|
|
||||||
permissions.selectText.8=Prevent annotation modification
|
|
||||||
permissions.selectText.9=Prevent printing
|
|
||||||
permissions.selectText.10=Prevent printing different formats
|
|
||||||
permissions.submit=Change
|
|
||||||
|
|
||||||
#remove password
|
|
||||||
removePassword.title=Remove password
|
|
||||||
removePassword.header=Remove password (Decrypt)
|
|
||||||
removePassword.selectText.1=Select PDF to Decrypt
|
|
||||||
removePassword.selectText.2=Password
|
|
||||||
removePassword.submit=Remove
|
|
||||||
|
|
||||||
changeMetadata.title=Change Metadata
|
|
||||||
changeMetadata.header=Change Metadata
|
|
||||||
changeMetadata.selectText.1=Please edit the variables you wish to change
|
|
||||||
changeMetadata.selectText.2=Delete all metadata
|
|
||||||
changeMetadata.selectText.3=Show Custom Metadata:
|
|
||||||
changeMetadata.author=Author:
|
|
||||||
changeMetadata.creationDate=Creation Date (yyyy/MM/dd HH:mm:ss):
|
|
||||||
changeMetadata.creator=Creator:
|
|
||||||
changeMetadata.keywords=Keywords:
|
|
||||||
changeMetadata.modDate=Modification Date (yyyy/MM/dd HH:mm:ss):
|
|
||||||
changeMetadata.producer=Producer:
|
|
||||||
changeMetadata.subject=Subject:
|
|
||||||
changeMetadata.title=Title:
|
|
||||||
changeMetadata.trapped=Trapped:
|
|
||||||
changeMetadata.selectText.4=Other Metadata:
|
|
||||||
changeMetadata.selectText.5=Add Custom Metadata Entry
|
|
||||||
changeMetadata.submit=Change
|
|
||||||
|
|
||||||
|
|
||||||
fileToPDF.credit=This service uses LibreOffice and Unoconv for file conversion.
|
|
||||||
fileToPDF.supportedFileTypes=Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2 th:text="#{pdfToPDFA.header}"></h2>
|
<h2 th:text="#{pdfToPDFA.header}"></h2>
|
||||||
<form method="post" enctype="multipart/form-data" th:action="@{file-to-pdf}">
|
<form method="post" enctype="multipart/form-data" th:action="@{pdf-to-pdfa}">
|
||||||
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
|
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
|
||||||
<br>
|
<br>
|
||||||
<button type="submit" class="btn btn-primary" th:text="#{pdfToPDFA.submit}"></button>
|
<button type="submit" class="btn btn-primary" th:text="#{pdfToPDFA.submit}"></button>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<!-- Metadata -->
|
<!-- Metadata -->
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
<title th:text="'S-PDF ' + ${title}"></title>
|
<title th:text="${@appName} + (${title} != null and ${title} != '' ? ' - ' + ${title} : '')"></title>
|
||||||
<link rel="shortcut icon" href="favicon.svg">
|
<link rel="shortcut icon" href="favicon.svg">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ function compareVersions(version1, version2) {
|
|||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||||
<div class="container ">
|
<div class="container ">
|
||||||
|
|
||||||
<a class="navbar-brand" href="#" th:href="@{/}">Stirling PDF</a>
|
<a class="navbar-brand" href="#" th:href="@{/}" th:text="${@appName}"></a>
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
@ -173,8 +173,7 @@ function compareVersions(version1, version2) {
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="languageDropdown">
|
<div class="dropdown-menu" aria-labelledby="languageDropdown">
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="en_US">English (US)</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="en_GB">English</a>
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="en_GB">English (UK)</a>
|
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="ar_AR">العربية</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="ar_AR">العربية</a>
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="de_DE">Deutsch</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="de_DE">Deutsch</a>
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="fr_FR">Français</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="fr_FR">Français</a>
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<!-- Jumbotron -->
|
<!-- Jumbotron -->
|
||||||
<div class="jumbotron jumbotron-fluid" id="jumbotron">
|
<div class="jumbotron jumbotron-fluid" id="jumbotron">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="display-4">Stirling PDF</h1>
|
<h1 class="display-4" th:text="${@appName}"></h1>
|
||||||
<p class="lead" th:text="#{home.desc}"></p>
|
<p class="lead" th:text="#{home.desc}"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,38 +15,38 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2 th:text="#{ocr.header}"></h2>
|
<h2 th:text="#{ocr.header}"></h2>
|
||||||
|
|
||||||
<form action="#" th:action="@{/ocr-pdf}" method="post" enctype="multipart/form-data" class="mb-3">
|
<form action="#" th:action="@{/ocr-pdf}" method="post" enctype="multipart/form-data" class="mb-3">
|
||||||
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
|
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="languages" class="form-label" th:text="#{ocr.selectText.1}"></label>
|
<label for="languages" class="form-label" th:text="#{ocr.selectText.1}"></label>
|
||||||
<hr>
|
<hr>
|
||||||
<div id="languages">
|
<div id="languages">
|
||||||
<div th:each="language, iterStat : ${languages}" >
|
<div th:each="language, iterStat : ${languages}" >
|
||||||
<span th:text=" ${iterStat.index + 1} + '.'"></span>
|
<span th:text=" ${iterStat.index + 1} + '.'"></span>
|
||||||
<input type="checkbox" class="form-check-input" th:name="languages" th:value="${language}" th:id="${'language-' + language}" />
|
<input type="checkbox" class="form-check-input" th:name="languages" th:value="${language}" th:id="${'language-' + language}" />
|
||||||
<label class="form-check-label" th:for="${'language-' + language}" th:text=" ${language}"></label>
|
<label class="form-check-label" th:for="${'language-' + language}" th:text=" ${language}"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
<label for="languages" class="form-label" th:text="#{ocr.selectText.9}"></label>
|
<label for="languages" class="form-label" th:text="#{ocr.selectText.9}"></label>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="checkbox" class="form-check-input" name="sidecar" id="sidecar" />
|
<input type="checkbox" class="form-check-input" name="sidecar" id="sidecar" />
|
||||||
<label class="form-check-label" for="sidecar" th:text="#{ocr.selectText.2}"></label>
|
<label class="form-check-label" for="sidecar" th:text="#{ocr.selectText.2}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="checkbox" class="form-check-input" name="deskew" id="deskew" />
|
<input type="checkbox" class="form-check-input" name="deskew" id="deskew" />
|
||||||
<label class="form-check-label" for="deskew" th:text="#{ocr.selectText.3}"></label>
|
<label class="form-check-label" for="deskew" th:text="#{ocr.selectText.3}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="checkbox" class="form-check-input" name="clean" id="clean" />
|
<input type="checkbox" class="form-check-input" name="clean" id="clean" />
|
||||||
<label class="form-check-label" for="clean" th:text="#{ocr.selectText.4}"></label>
|
<label class="form-check-label" for="clean" th:text="#{ocr.selectText.4}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="checkbox" class="form-check-input" name="clean-final" id="clean-final" />
|
<input type="checkbox" class="form-check-input" name="clean-final" id="clean-final" />
|
||||||
<label class="form-check-label" for="clean-final" th:text="#{ocr.selectText.5}"></label>
|
<label class="form-check-label" for="clean-final" th:text="#{ocr.selectText.5}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label th:text="#{ocr.selectText.10}"></label>
|
<label th:text="#{ocr.selectText.10}"></label>
|
||||||
<select class="form-control" name="ocrType">
|
<select class="form-control" name="ocrType">
|
||||||
<option value="skip-text" th:text="#{ocr.selectText.6}"></option>
|
<option value="skip-text" th:text="#{ocr.selectText.6}"></option>
|
||||||
@ -54,11 +54,11 @@
|
|||||||
<option value="Normal" th:text="#{ocr.selectText.8}"></option>
|
<option value="Normal" th:text="#{ocr.selectText.8}"></option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary" th:text="#{ocr.submit}"></button>
|
<button type="submit" class="btn btn-primary" th:text="#{ocr.submit}"></button>
|
||||||
</form>
|
</form>
|
||||||
<p th:text="#{ocr.credit}"></p>
|
<p th:text="#{ocr.credit}"></p>
|
||||||
<p th:text="#{ocr.help}"></p>
|
<p th:text="#{ocr.help}"></p>
|
||||||
<a href="https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md">https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md</a>
|
<a href="https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md">https://github.com/Frooodle/Stirling-PDF/blob/main/HowToUseOCR.md</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user