1
0
mirror of https://github.com/Stirling-Tools/Stirling-PDF.git synced 2024-11-13 11:00:13 +01:00
This commit is contained in:
Anthony Stirling 2024-05-26 15:31:34 +01:00
parent 2066bb2ae8
commit 5dee64ab7b
7 changed files with 27 additions and 25 deletions

View File

@ -8,11 +8,7 @@ import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
@ -85,8 +81,8 @@ public class ConfigInitializer
resultLines.add(""); resultLines.add("");
} }
} }
// Write the result to the user settings file // Write the result to the user settings file
Files.write(userPath, resultLines); Files.write(userPath, resultLines);
} }
@ -95,11 +91,10 @@ public class ConfigInitializer
Files.createFile(customSettingsPath); Files.createFile(customSettingsPath);
} }
} }
// TODO check parent value instead of just indent lines for duplicate keys (like enabled etc)
private static void addLine(
//TODO check parent value instead of just indent lines for duplicate keys (like enabled etc) List<String> resultLines, List<String> userLines, String templateLine, String key) {
private static void addLine(List<String> resultLines, List<String> userLines, String templateLine, String key) {
boolean added = false; boolean added = false;
int templateIndentationLevel = getIndentationLevel(templateLine); int templateIndentationLevel = getIndentationLevel(templateLine);
for (String settingsLine : userLines) { for (String settingsLine : userLines) {
@ -116,13 +111,13 @@ public class ConfigInitializer
if (!added) { if (!added) {
resultLines.add(templateLine); resultLines.add(templateLine);
} }
} }
private static int getIndentationLevel(String line) { private static int getIndentationLevel(String line) {
int indentationLevel = 0; int indentationLevel = 0;
String trimmedLine = line.trim(); String trimmedLine = line.trim();
if (trimmedLine.startsWith("#")) { if (trimmedLine.startsWith("#")) {
line = trimmedLine.substring(1); line = trimmedLine.substring(1);
} }
for (char c : line.toCharArray()) { for (char c : line.toCharArray()) {
if (c == ' ') { if (c == ' ') {

View File

@ -56,7 +56,7 @@ public class ConvertImgPDFController {
String filename = String filename =
Filenames.toSimpleFileName(file.getOriginalFilename()) Filenames.toSimpleFileName(file.getOriginalFilename())
.replaceFirst("[.][^.]+$", ""); .replaceFirst("[.][^.]+$", "");
result = result =
PdfUtils.convertFromPdf( PdfUtils.convertFromPdf(
pdfBytes, pdfBytes,
@ -65,10 +65,9 @@ public class ConvertImgPDFController {
singleImage, singleImage,
Integer.valueOf(dpi), Integer.valueOf(dpi),
filename); filename);
if(result == null || result.length == 0) { if (result == null || result.length == 0) {
logger.error("resultant bytes for {} is null, error converting ", filename); logger.error("resultant bytes for {} is null, error converting ", filename);
} }
if (singleImage) { if (singleImage) {
String docName = filename + "." + imageFormat; String docName = filename + "." + imageFormat;

View File

@ -67,7 +67,7 @@ public class BlankPageController {
String pageText = textStripper.getText(document); String pageText = textStripper.getText(document);
boolean hasText = !pageText.trim().isEmpty(); boolean hasText = !pageText.trim().isEmpty();
Boolean blank = false; Boolean blank = true;
if (hasText) { if (hasText) {
logger.info("page " + pageIndex + " has text, not blank"); logger.info("page " + pageIndex + " has text, not blank");
blank = false; blank = false;

View File

@ -381,9 +381,6 @@ public class ApplicationProperties {
this.googlevisibility = googlevisibility; this.googlevisibility = googlevisibility;
} }
@Override @Override
public String toString() { public String toString() {
return "System [defaultLocale=" return "System [defaultLocale="

View File

@ -34,7 +34,10 @@ public class PDFToFile {
// Get the original PDF file name without the extension // Get the original PDF file name without the extension
String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename()); String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename());
String pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.')); String pdfBaseName = originalPdfFileName;
if (originalPdfFileName.contains(".")) {
pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.'));
}
Path tempInputFile = null; Path tempInputFile = null;
Path tempOutputDir = null; Path tempOutputDir = null;
@ -100,8 +103,15 @@ public class PDFToFile {
// Get the original PDF file name without the extension // Get the original PDF file name without the extension
String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename()); String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename());
String pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.'));
if (originalPdfFileName == null || "".equals(originalPdfFileName.trim())) {
originalPdfFileName = "output.pdf";
}
// Assume file is pdf if no extension
String pdfBaseName = originalPdfFileName;
if (originalPdfFileName.contains(".")) {
pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.'));
}
// Validate output format // Validate output format
List<String> allowedFormats = List<String> allowedFormats =
Arrays.asList("doc", "docx", "odt", "ppt", "pptx", "odp", "rtf", "xml", "txt:Text"); Arrays.asList("doc", "docx", "odt", "ppt", "pptx", "odp", "rtf", "xml", "txt:Text");
@ -173,6 +183,7 @@ public class PDFToFile {
if (tempInputFile != null) Files.delete(tempInputFile); if (tempInputFile != null) Files.delete(tempInputFile);
if (tempOutputDir != null) FileUtils.deleteDirectory(tempOutputDir.toFile()); if (tempOutputDir != null) FileUtils.deleteDirectory(tempOutputDir.toFile());
} }
System.out.println("fileBytes=" + fileBytes.length);
return WebResponseUtils.bytesToWebResponse( return WebResponseUtils.bytesToWebResponse(
fileBytes, fileName, MediaType.APPLICATION_OCTET_STREAM); fileBytes, fileName, MediaType.APPLICATION_OCTET_STREAM);
} }

View File

@ -17,7 +17,7 @@ true=Vrai
false=Faux false=Faux
unknown=Inconnu unknown=Inconnu
save=Enregistrer save=Enregistrer
saveToBrowser=Enregistrer dans le navigateur saveToBrowser=Enregistrer dans le navigateur
close=Fermer close=Fermer
filesSelected=fichiers sélectionnés filesSelected=fichiers sélectionnés
noFavourites=Aucun favori ajouté noFavourites=Aucun favori ajouté

View File

@ -24,7 +24,7 @@ system:
defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc) defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes) enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
showUpdate: true # see when a new update is available showUpdate: false # see when a new update is available
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true' showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files