From 39b9ea9f1d466c106f246d185e22c8c09cf4df63 Mon Sep 17 00:00:00 2001 From: jordy Date: Mon, 5 Jun 2023 19:25:36 +0200 Subject: [PATCH 1/6] fix typo --- .../SPDF/controller/api/converters/ConvertImgPDFController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java index 5e1e6ac0..84b5a7b1 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java @@ -99,7 +99,7 @@ public class ConvertImgPDFController { boolean autoRotate) throws IOException { // Convert the file to PDF and get the resulting bytes byte[] bytes = PdfUtils.imageToPdf(file, stretchToFit, autoRotate, colorType); - return WebResponseUtils.bytesToWebResponse(bytes, file[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_coverted.pdf"); + return WebResponseUtils.bytesToWebResponse(bytes, file[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_converted.pdf"); } private String getMediaType(String imageFormat) { From 7e9479806e50a3ffef8fdc4b40a61673a4a8d473 Mon Sep 17 00:00:00 2001 From: jordy Date: Mon, 5 Jun 2023 19:38:25 +0200 Subject: [PATCH 2/6] await pdf creation in each for loop. --- src/main/resources/static/js/multitool/PdfContainer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/static/js/multitool/PdfContainer.js b/src/main/resources/static/js/multitool/PdfContainer.js index f1cc1061..5cb240d7 100644 --- a/src/main/resources/static/js/multitool/PdfContainer.js +++ b/src/main/resources/static/js/multitool/PdfContainer.js @@ -62,7 +62,7 @@ class PdfContainer { const files = e.target.files; this.fileName = files[0].name; for (var i=0; i < files.length; i++) { - this.addPdfFile(files[i], nextSiblingElement); + await this.addPdfFile(files[i], nextSiblingElement); } document.querySelectorAll(".enable-on-file").forEach(element => { From 936fb5ae45a8b3b00c0ec5675059ca7f3c1cb4dd Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Mon, 5 Jun 2023 23:08:55 +0100 Subject: [PATCH 3/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ca7e770..c9b411d0 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Feel free to request any features or bug fixes either in github issues or our [D ![stirling-home](images/stirling-home.png) ## Features -- Full intractable GUI for merging/splitting/rotating/moving PDFs and their pages. +- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages. - Split PDFs into multiple files at specified page numbers or extract all pages as individual files. - Merge multiple PDFs together into a single resultant file - Convert PDFs to and from images From 6bd3e5cc8fbc3af9c417a4afb25933dec53c176b Mon Sep 17 00:00:00 2001 From: NeilJared Date: Tue, 6 Jun 2023 01:12:03 +0200 Subject: [PATCH 4/6] Update messages_es_ES.properties Updated Spanish translation --- src/main/resources/messages_es_ES.properties | 196 +++++++++---------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index dc639f71..a5958a67 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -11,7 +11,7 @@ imgPrompt=Seleccionar Imagen(es) genericSubmit=Enviar 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): -goToPage=Ir +goToPage=Ir a true=Verdadero false=Falso unknown=Desconocido @@ -23,7 +23,7 @@ bored=¿Aburrido de esperar? ############# # HOME-PAGE # ############# -home.desc=Tu autohospedada ventanilla única para todas tus necesidades PDF. +home.desc=Tu ventanilla única autohospedada para todas tus necesidades PDF navbar.convert=Convertir navbar.security=Seguridad @@ -35,19 +35,19 @@ home.multiTool.title=Multi-herramienta PDF home.multiTool.desc=Combinar, rotar, reorganizar y eliminar páginas home.merge.title=Unir -home.merge.desc=Unir fácilmente múltiples PDFs en uno. +home.merge.desc=Unir fácilmente múltiples PDFs en uno home.split.title=Dividir home.split.desc=Dividir PDFs en múltiples documentos home.rotate.title=Rotar -home.rotate.desc=Rotar fácilmente tus PDFs. +home.rotate.desc=Rotar fácilmente tus PDFs home.imageToPdf.title=Imagen a PDF -home.imageToPdf.desc=Convertir una imagen (PNG, JPEG, GIF) a PDF. +home.imageToPdf.desc=Convertir una imagen (PNG, JPEG, GIF) a PDF home.pdfToImage.title=PDF a Imagen -home.pdfToImage.desc=Convertir un PDF a una imagen. (PNG, JPEG, GIF) +home.pdfToImage.desc=Convertir un PDF a una imagen (PNG, JPEG, GIF) home.pdfOrganiser.title=Organizador home.pdfOrganiser.desc=Eliminar/Reorganizar páginas en cualquier orden @@ -56,37 +56,37 @@ home.addImage.title=Agregar imagen al PDF home.addImage.desc=Agregar una imagen en una ubicación establecida en el PDF (trabajo en progreso) home.watermark.title=Añadir marca de agua -home.watermark.desc=Añadir una marca de agua predefinida a tu documento PDF. +home.watermark.desc=Añadir una marca de agua predefinida al documento PDF home.remove-watermark.title=Eliminar marca de agua -home.remove-watermark.desc=Eliminar marcas de agua de tu documento PDF. +home.remove-watermark.desc=Eliminar marca de agua de tu documento PDF -home.permissions.title=Cambiar Permisos -home.permissions.desc=Cambiar los permisos de tu documento PDF +home.permissions.title=Cambiar permisos +home.permissions.desc=Cambiar los permisos del documento PDF home.removePages.title=Eliminar -home.removePages.desc=Eliminar páginas no deseadas de tu documento PDF. +home.removePages.desc=Eliminar páginas no deseadas del documento PDF -home.addPassword.title=Añadir Contraseña -home.addPassword.desc=Encriptar el documento PDF con una contraseña. +home.addPassword.title=Añadir contraseña +home.addPassword.desc=Encriptar el documento PDF con una contraseña -home.removePassword.title=Eliminar Contraseña -home.removePassword.desc=Eliminar la contraseña del documento PDF. +home.removePassword.title=Eliminar contraseña +home.removePassword.desc=Eliminar la contraseña del documento PDF home.compressPdfs.title=Comprimir -home.compressPdfs.desc=Comprimir PDFs para reducir el tamaño del fichero. +home.compressPdfs.desc=Comprimir PDFs para reducir el tamaño del fichero -home.changeMetadata.title=Cambiar Metadatos -home.changeMetadata.desc=Cambiar/Eliminar/Añadir metadatos al documento PDF. +home.changeMetadata.title=Cambiar metadatos +home.changeMetadata.desc=Cambiar/Eliminar/Añadir metadatos al documento PDF home.fileToPDF.title=Convertir fichero a PDF home.fileToPDF.desc=Convertir casi cualquier archivo a PDF (DOCX, PNG, XLS, PPT, TXT y más) home.ocr.title=Ejecutar OCR en PDF y/o escaneos de limpieza -home.ocr.desc=Escaneos de limpieza y detecta texto de imágenes dentro de un PDF y lo vuelve a agregar como texto. +home.ocr.desc=Escaneos de limpieza y detectar texto de imágenes dentro de un PDF y volver a agregarlo como texto home.extractImages.title=Extraer imágenes -home.extractImages.desc=Extraer todas las imágenes de un PDF y guardarlas en zip +home.extractImages.desc=Extraer todas las imágenes de un PDF y guardarlas en ZIP home.pdfToPDFA.title=Convertir PDF a PDF/A home.pdfToPDFA.desc=Convertir PDF a PDF/A para almacenamiento a largo plazo @@ -110,30 +110,30 @@ home.ScannerImageSplit.title=Detectar/Dividir fotos escaneadas home.ScannerImageSplit.desc=Dividir varias fotos dentro de una foto/PDF home.sign.title=Firmar -home.sign.desc=Añade firma a PDF mediante dibujo, texto o imagen +home.sign.desc=Añadir firma a PDF mediante dibujo, texto o imagen home.flatten.title=Aplanar home.flatten.desc=Eliminar todos los elementos y formularios interactivos de un PDF home.repair.title=Reparar -home.repair.desc=Intenta reparar un PDF corrupto/roto +home.repair.desc=Intentar reparar un PDF corrupto/roto home.removeBlanks.title=Eliminar páginas en blanco -home.removeBlanks.descdetecta y elimina páginas en blanco de un documento +home.removeBlanks.desc=Detectar y eliminar páginas en blanco de un documento -home.certSign.title=Sign with Certificate -home.certSign.desc=Signs a PDF with a Certificate/Key (PEM/P12) +home.certSign.title=Firmar con certificado +home.certSign.desc=Firmar un PDF con un Certificado/Clave (PEM/P12) home.compare.title=Comparar -home.compare.desc=Compara y muestra las diferencias entre 2 documentos PDF +home.compare.desc=Comparar y mostrar las diferencias entre 2 documentos PDF -home.pageLayout.title=Multi-Page Layout -home.pageLayout.desc=Merge multiple pages of a PDF document into a single page +home.pageLayout.title=Diseño de varias páginas +home.pageLayout.desc=Unir varias páginas de un documento PDF en una sola página -home.scalePages.title=Adjust page size/scale -home.scalePages.desc=Change the size/scale of page and/or its contents. +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 -error.pdfPassword=The PDF Document is passworded and either the password was not provided or was incorrect +error.pdfPassword=El documento PDF está protegido con contraseña y no se ha proporcionado o es incorrecta downloadPdf=Descargar PDF text=Texto @@ -141,19 +141,19 @@ font=Fuente selectFilter=-- Seleccionar -- pageNum=Número de página -pageLayout.title=Multi Page Layout -pageLayout.header=Multi Page Layout -pageLayout.pagesPerSheet=Pages per sheet: -pageLayout.submit=Submit +pageLayout.title=Diseño de varias páginas +pageLayout.header=Diseño de varias páginas +pageLayout.pagesPerSheet=Páginas por hoja: +pageLayout.submit=Entregar -scalePages.title=Adjust page-scale -scalePages.header=Adjust page-scale -scalePages.pageSize=Size of a page of the document. -scalePages.scaleFactor=Zoom level (crop) of a page. -scalePages.submit=Submit +scalePages.title=Ajustar escala de la página +scalePages.header=Adjustar escala de la página +scalePages.pageSize=Tamaño de la página del documento +scalePages.scaleFactor=Nivel de zoom (recorte) de la página +scalePages.submit=Entregar certSign.title=Firma de certificado -certSign.header=Firme un PDF con su certificado (Trabajo en progreso) +certSign.header=Firmar un PDF con su certificado (Trabajo en progreso) certSign.selectPDF=Seleccione un archivo PDF para firmar: certSign.selectKey=Seleccione su archivo de clave privada (formato PKCS#8, podría ser .pem o .der): certSign.selectCert=Seleccione su archivo de certificado (formato X.509, podría ser .pem o .der): @@ -197,13 +197,13 @@ flatten.header=Acoplar archivos PDF flatten.submit=Aplanar ScannerImageSplit.selectText.1=Umbral de ángulo: -ScannerImageSplit.selectText.2=Establece el ángulo absoluto mínimo requerido para rotar la imagen (predeterminado: 10). +ScannerImageSplit.selectText.2=Establecer el ángulo absoluto mínimo requerido para rotar la imagen (predeterminado: 10). ScannerImageSplit.selectText.3=Tolerancia: -ScannerImageSplit.selectText.4=Determina el rango de variación de color alrededor del color de fondo estimado (predeterminado: 30). +ScannerImageSplit.selectText.4=Determinar el rango de variación de color alrededor del color de fondo estimado (predeterminado: 30). ScannerImageSplit.selectText.5=Área mínima: -ScannerImageSplit.selectText.6=Establece el umbral mínimo de área para una foto (predeterminado: 10000). +ScannerImageSplit.selectText.6=Establecer el umbral mínimo de área para una foto (predeterminado: 10000). ScannerImageSplit.selectText.7=Área de contorno mínima: -ScannerImageSplit.selectText.8=Establece el umbral mínimo del área de contorno para una foto +ScannerImageSplit.selectText.8=Establecer el umbral mínimo del área de contorno para una foto ScannerImageSplit.selectText.9=Tamaño del borde: ScannerImageSplit.selectText.10=Establece el tamaño del borde agregado y eliminado para evitar bordes blancos en la salida (predeterminado: 1). @@ -211,10 +211,10 @@ navbar.settings=Ajustes settings.title=Ajustes settings.update=Actualización disponible settings.appVersion=Versión de la aplicación: -settings.downloadOption.title=Elige la opción de descarga (para descargas de un solo archivo sin ZIP): -settings.downloadOption.1=Abre en la misma ventana -settings.downloadOption.2=Abre en una nueva ventana -settings.downloadOption.3=Descarga el fichero +settings.downloadOption.title=Elegir la opción de descarga (para descargas de un solo archivo sin ZIP): +settings.downloadOption.1=Abrir en la misma ventana +settings.downloadOption.2=Abrir en una nueva ventana +settings.downloadOption.3=Descargar el fichero settings.zipThreshold=Ficheros ZIP cuando excede el número de ficheros descargados @@ -223,53 +223,53 @@ settings.zipThreshold=Ficheros ZIP cuando excede el número de ficheros descarga #OCR ocr.title=OCR / Escaneo de limpieza ocr.header=Escaneos de limpieza / OCR (Reconocimiento óptico de caracteres) -ocr.selectText.1=Selecciona los idiomas que se detectarán en el PDF (Los enumerados son los detectados actualmente): -ocr.selectText.2=Produzca un archivo de texto que contenga texto OCR junto con el PDF editado con OCR -ocr.selectText.3=Corrija las páginas que se escanearon en un ángulo torcido girándolas nuevamente a su lugar -ocr.selectText.4=Limpie la página para que sea menos probable que el OCR encuentre texto en el ruido de fondo. (Sin cambio de salida) -ocr.selectText.5=Limpie la página para que sea menos probable que el OCR encuentre texto en el ruido de fondo, mantiene la limpieza en la salida. -ocr.selectText.6=Ignora las páginas que tienen texto interactivo, solo las páginas OCR que son imágenes -ocr.selectText.7=Fuerza OCR, OCR eliminará en cada página todo el texto original -ocr.selectText.8=Normal (Se producirá un error si el PDF contiene texto) -ocr.selectText.9=Ajustes Adicionales +ocr.selectText.1=Seleccionar los idiomas que se detectarán en el PDF (Los enumerados son los detectados actualmente): +ocr.selectText.2=Producir un archivo de texto que contenga texto OCR junto con el PDF editado con OCR +ocr.selectText.3=Corregir las páginas que se escanearon en un ángulo torcido girándolas nuevamente a su lugar +ocr.selectText.4=Limpiar la página para que sea menos probable que el OCR encuentre texto en el ruido de fondo (Sin cambio de salida) +ocr.selectText.5=Limpiar la página para que sea menos probable que el OCR encuentre texto en el ruido de fondo, mantiene la limpieza en la salida. +ocr.selectText.6=Ignorar las páginas que tienen texto interactivo, solo las páginas OCR que son imágenes +ocr.selectText.7=Forzar OCR, OCR eliminará en cada página todo el texto original +ocr.selectText.8=Normal (se producirá un error si el PDF contiene texto) +ocr.selectText.9=Ajustes adicionales ocr.selectText.10=Modo OCR ocr.selectText.11=Eliminar imágenes después de OCR (Elimina TODAS las imágenes, solo es útil si es parte del paso de conversión) ocr.selectText.12=Tipo de procesamiento (avanzado) -ocr.help=Lea esta documentación sobre cómo usar esto para otros idiomas y/o no usarlo en docker -ocr.credit=Este servicio utiliza OCRmyPDF y Tesseract para OCR. -ocr.submit=Procesa PDF con OCR +ocr.help=Lea esta documentación sobre cómo usar esto para otros idiomas y/o no usarlo en Docker +ocr.credit=Este servicio utiliza OCRmyPDF y Tesseract para OCR +ocr.submit=Procesar PDF con OCR extractImages.title=Extraer imágenes extractImages.header=Extraer imágenes -extractImages.selectText=Selecciona el formato de imagen para convertir las imágenes extraídas +extractImages.selectText=Seleccionar el formato de imagen para convertir las imágenes extraídas extractImages.submit=Extraer #File to PDF -fileToPDF.title=Fichero a PDF -fileToPDF.header=Convierte cualquier fichero a PDF -fileToPDF.credit=Este servicio usa LibreOffice y Unoconv para la conversión de ficheros. -fileToPDF.supportedFileTypes=Los tipos de ficheros soportados deben incluir los de abajo; sin embargo para una completa y acutualizada lista de formatos soportados, por favor consulte la documentación de LibreOffice +fileToPDF.title=Archivo a PDF +fileToPDF.header=Convertir cualquier archivo a PDF +fileToPDF.credit=Este servicio usa LibreOffice y Unoconv para la conversión de ficheros +fileToPDF.supportedFileTypes=Los tipos de ficheros soportados deben incluir los de abajo; sin embargo, para una completa y acutualizada lista de formatos soportados, por favor consulte la documentación de LibreOffice fileToPDF.submit=Convertir a PDF #compress compress.title=Comprimir compress.header=Comprimir PDF -compress.credit=Este servicio utiliza Ghostscript para compresión/optimización de PDF. +compress.credit=Este servicio utiliza Ghostscript para compresión/optimización de PDF compress.selectText.1=Modo manual - De 1 a 4 compress.selectText.2=Nivel de optimización: compress.selectText.3=4 (Terrible para imágenes de texto) 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 de PDF esperado (por ejemplo, 25 MB, 10,8 MB, 25 KB) +compress.selectText.5=Tamaño esperado del PDF (por ejemplo, 25 MB, 10.8 MB, 25 KB) compress.submit=Comprimir #Add image -addImage.title=Añadir Imagen -addImage.header=Añadir image de PDF +addImage.title=Añadir imagen +addImage.header=Añadir imagen de PDF addImage.everyPage=¿Todas las páginas? addImage.submit=Añadir imagen @@ -291,13 +291,13 @@ multiTool.header=Multi-herramienta PDF #pageRemover pageRemover.title=Eliminador de páginas pageRemover.header=Eliminador de páginas PDF -pageRemover.pagesToDelete=Páginas a eliminar (Introduzca una lista de números de página separados por coma): +pageRemover.pagesToDelete=Páginas a eliminar (introducir una lista de números de página separados por coma): pageRemover.submit=Eliminar Páginas #rotate rotate.title=Rotar PDF rotate.header=Rotar PDF -rotate.SeleccionaAngle=Seleccionar ángulo de rotación (múltiple de 90 grados): +rotate.SeleccionaAngle=Seleccionar ángulo de rotación (múltiplo de 90 grados): rotate.submit=Rotar @@ -306,7 +306,7 @@ rotate.submit=Rotar #merge split.title=Dividir PDF split.header=Dividir PDF -split.desc.1=Los números que selecciones son el número de página en el que desea hacer una división +split.desc.1=Los números que seleccione son el número de página en el que desea hacer una división split.desc.2=Como tal, seleccionar 1,3,7-8 dividiría un documento de 10 páginas en 6 archivos PDF separados con: split.desc.3=Documento #1: Página 1 split.desc.4=Documento #2: Páginas 2 y 3 @@ -314,7 +314,7 @@ split.desc.5=Documento #3: Páginas 4, 5 y 6 split.desc.6=Documento #4: Página 7 split.desc.7=Documento #5: Página 8 split.desc.8=Documento #6: Páginas 9 y 10 -split.splitPages=Introduce las páginas para dividir: +split.splitPages=Introducir las páginas para dividir: split.submit=Dividir @@ -324,7 +324,7 @@ imageToPDF.header=Imagen a PDF imageToPDF.submit=Convertir imageToPDF.selectText.1=Estirar para ajustar imageToPDF.selectText.2=Rotación automática del PDF -imageToPDF.selectText.3=Lógica de archivos múltiples (Únicamente activado si funciona con multiples imágenes) +imageToPDF.selectText.3=Lógica de archivos múltiples (únicamente activado si funciona con multiples imágenes) imageToPDF.selectText.4=Unir en un único archivo PDF imageToPDF.selectText.5=Convertir a PDFs separados @@ -333,21 +333,21 @@ pdfToImage.title=PDF a Imagen pdfToImage.header=PDF a Imagen pdfToImage.selectText=Formato de Imagen pdfToImage.singleOrMultiple=Tipo resultante de imagen -pdfToImage.single=Una Imagen Grande Única -pdfToImage.multi=Múltiples Imágenes +pdfToImage.single=Una única imagen grande +pdfToImage.multi=Múltiples imágenes pdfToImage.colorType=Tipo de color pdfToImage.color=Color -pdfToImage.grey=Escala de Grises -pdfToImage.blackwhite=Blanco y Negro (¡Puedes perder datos!) +pdfToImage.grey=Escala de grises +pdfToImage.blackwhite=Blanco y Negro (¡Puede perder datos!) pdfToImage.submit=Convertir #addPassword -addPassword.title=Añadir Contraseña -addPassword.header=Añadir contraseña (Encriptar) +addPassword.title=Añadir contraseña +addPassword.header=Añadir contraseña (encriptar) addPassword.selectText.1=Seleccionar PDF para encriptar addPassword.selectText.2=Contraseña addPassword.selectText.3=Longitud de la clave de cifrado -addPassword.selectText.4=Valores altos son más fuertes, pero valores bajos tienen mejor compatibilidad. +addPassword.selectText.4=Valores altos son más fuertes, pero valores bajos tienen mejor compatibilidad addPassword.selectText.5=Permisos para establecer addPassword.selectText.6=Impedir el ensamblaje del documento addPassword.selectText.7=Impedir la extracción de contenido @@ -357,9 +357,9 @@ addPassword.selectText.10=Impedir modificación addPassword.selectText.11=Impedir modificación de anotaciones addPassword.selectText.12=Impedir imprimir addPassword.selectText.13=Impedir imprimir diferentes formatos -addPassword.selectText.14=Owner Password -addPassword.selectText.15=Restricts what can be done with the document once it is opened (Not supported by all readers) -addPassword.selectText.16=Restricts the opening of the document itself +addPassword.selectText.14=Contraseña +addPassword.selectText.15=Restringe qué se puede hacer con el documento una vez abierto (no soportado por todos los lectores) +addPassword.selectText.16=Restringe la apertura del propio documento addPassword.submit=Encriptar #watermark @@ -382,8 +382,8 @@ remove-watermark.selectText.2=Texto de la marca de agua: remove-watermark.submit=Eliminar marca de agua #Change permissions -permissions.title=Cambiar Permisos -permissions.header=Cambiar Permisos +permissions.title=Cambiar permisos +permissions.header=Cambiar permisos permissions.warning=Advertencia: para que estos permisos no se puedan cambiar, se recomienda configurarlos con una contraseña a través de la página de cambio de contraseña permissions.selectText.1=Seleccionar PDF para cambiar los permisos permissions.selectText.2=Permisos a establecer @@ -399,21 +399,21 @@ permissions.submit=Cambiar #remove password removePassword.title=Eliminar contraseña -removePassword.header=Eliminar contraseña (Desencriptar) -removePassword.selectText.1=Seleccionar PDF para Desencriptar +removePassword.header=Eliminar contraseña (desencriptar) +removePassword.selectText.1=Seleccionar PDF para desencriptar removePassword.selectText.2=Contraseña removePassword.submit=Eliminar -changeMetadata.title=Cambiar Metadatos -changeMetadata.header=Cambiar Metadatos +changeMetadata.title=Cambiar metadatos +changeMetadata.header=Cambiar metadatos changeMetadata.selectText.1=Editar las variables que desea cambiar changeMetadata.selectText.2=Eliminar todos los metadatos changeMetadata.selectText.3=Mostrar metadatos personalizados: changeMetadata.author=Autor: -changeMetadata.creationDate=Fecha de Creación (aaaa/MM/dd HH:mm:ss): +changeMetadata.creationDate=Fecha de creación (aaaa/MM/dd HH:mm:ss): changeMetadata.creator=Creador: changeMetadata.keywords=Palabras clave: -changeMetadata.modDate=Fecha de Modificación (aaaa/MM/dd HH:mm:ss): +changeMetadata.modDate=Fecha de modificación (aaaa/MM/dd HH:mm:ss): changeMetadata.producer=Productor: changeMetadata.subject=Asunto: changeMetadata.title=Título: @@ -440,29 +440,29 @@ pdfToPDFA.submit=Convertir PDFToWord.title=PDF a Word PDFToWord.header=PDF a Word PDFToWord.selectText.1=Formato de archivo de salida -PDFToWord.credit=Este servicio utiliza LibreOffice para la conversión de archivos. +PDFToWord.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToWord.submit=Convertir PDFToPresentation.title=PDF a presentación PDFToPresentation.header=PDF a presentación PDFToPresentation.selectText.1=Formato de archivo de salida -PDFToPresentation.credit=Este servicio utiliza LibreOffice para la conversión de archivos. +PDFToPresentation.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToPresentation.submit=Convertir PDFToText.title=PDF a TXT/RTF PDFToText.header=PDF a TXT/RTF PDFToText.selectText.1=Formato de archivo de salida -PDFToText.credit=Este servicio utiliza LibreOffice para la conversión de archivos. +PDFToText.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToText.submit=Convertir PDFToHTML.title=PDF a HTML PDFToHTML.header=PDF a HTML -PDFToHTML.credit=Este servicio utiliza LibreOffice para la conversión de archivos. +PDFToHTML.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToHTML.submit=Convertir PDFToXML.title=PDF a XML PDFToXML.header=PDF a XML -PDFToXML.credit=Este servicio utiliza LibreOffice para la conversión de archivos. +PDFToXML.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToXML.submit=Convertir From ff6c55d1d01ceb47a6c86c1fd3406b13302b0ed6 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Wed, 7 Jun 2023 14:01:37 +0100 Subject: [PATCH 5/6] fix naming issues in split and made it allign with others --- .../SPDF/controller/api/SplitPDFController.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java b/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java index 04301b96..afee784c 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java @@ -29,6 +29,7 @@ import org.springframework.web.multipart.MultipartFile; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.SPDF.utils.WebResponseUtils; @RestController public class SplitPDFController { @@ -38,7 +39,7 @@ public class SplitPDFController { @PostMapping(consumes = "multipart/form-data", value = "/split-pages") @Operation(summary = "Split a PDF file into separate documents", description = "This endpoint splits a given PDF file into separate documents based on the specified page numbers or ranges. Users can specify pages using individual numbers, ranges, or 'all' for every page.") - public ResponseEntity splitPdf( + public ResponseEntity splitPdf( @RequestPart(required = true, value = "fileInput") @Parameter(description = "The input PDF file to be split") MultipartFile file, @@ -97,10 +98,11 @@ public class SplitPDFController { Path zipFile = Files.createTempFile("split_documents", ".zip"); + String filename = file.getOriginalFilename().replaceFirst("[.][^.]+$", ""); try (ZipOutputStream zipOut = new ZipOutputStream(Files.newOutputStream(zipFile))) { // loop through the split documents and write them to the zip file for (int i = 0; i < splitDocumentsBoas.size(); i++) { - String fileName = "split_document_" + (i + 1) + ".pdf"; + String fileName = filename + "_" + (i + 1) + ".pdf"; ByteArrayOutputStream baos = splitDocumentsBoas.get(i); byte[] pdf = baos.toByteArray(); @@ -119,12 +121,11 @@ public class SplitPDFController { logger.info("Successfully created zip file with split documents: {}", zipFile.toString()); byte[] data = Files.readAllBytes(zipFile); - ByteArrayResource resource = new ByteArrayResource(data); Files.delete(zipFile); // return the Resource in the response - return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + file.getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_split.zip") - .contentType(MediaType.APPLICATION_OCTET_STREAM).contentLength(resource.contentLength()).body(resource); + return WebResponseUtils.bytesToWebResponse(data, filename + ".zip", MediaType.APPLICATION_OCTET_STREAM); + } } From 433ba6c2504a72ac3b7b9ab786baeaabdfd10337 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Wed, 7 Jun 2023 14:13:18 +0100 Subject: [PATCH 6/6] groups update --- groups.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/groups.md b/groups.md index 9feb2e27..93fc359a 100644 --- a/groups.md +++ b/groups.md @@ -5,6 +5,8 @@ merge-pdfs | X | | | | | | split-pdfs | X | | | | | | | | | X | pdf-organizer | X | | | | | | | | | X | X rotate-pdf | X | | | | | | | | | X | +multi-page-layout | X | | | | | | | | | X | +scale-pages | X | | | | | | | | | X | pdf-to-img | | X | | | | | | | | X | img-to-pdf | | X | | | | | | | | X | pdf-to-pdfa | | X | | | X | | | | X | | @@ -19,6 +21,7 @@ add-password | | | X | | | | remove-password | | | X | | | | | | | X | change-permissions | | | X | | | | | | | X | add-watermark | | | X | | | | | | | X | +cert-sign | | | X | | | | | | | X | ocr-pdf | | | | X | X | | | | X | | add-image | | | | X | | | | | | X | compress-pdf | | | | X | X | | | | X @@ -30,3 +33,6 @@ flatten | | | | X | | | repair | | | | X | X | | | X | | | remove-blanks | | | | X | X | X | X | | | | compare | | | | X | | | | | | | X + + +