From dfb8c64f5adbffea3fd67759c08533df82232d70 Mon Sep 17 00:00:00 2001 From: Eric <71648843+sbplat@users.noreply.github.com> Date: Fri, 29 Mar 2024 17:02:33 -0400 Subject: [PATCH] fix: switch to pdftohtml for pdf to html conversions (#998) * fix: switch to pdftohtml for pdf to html conversions * build: include poppler-utils in dockerfile for pdftohtml --- Dockerfile | 2 + .../SPDF/config/EndpointConfiguration.java | 2 +- .../SPDF/controller/api/UserController.java | 2 +- .../api/converters/ConvertPDFToOffice.java | 12 --- .../api/converters/ConvertWebsiteToPDF.java | 2 - .../api/misc/ExtractImageScansController.java | 2 +- .../pipeline/PipelineDirectoryProcessor.java | 1 - .../SPDF/repository/UserRepository.java | 2 - .../software/SPDF/utils/PDFToFile.java | 77 ++++++++++++++++--- .../software/SPDF/utils/ProcessExecutor.java | 3 + src/main/resources/messages_ar_AR.properties | 2 +- src/main/resources/messages_bg_BG.properties | 2 +- src/main/resources/messages_ca_CA.properties | 2 +- src/main/resources/messages_de_DE.properties | 2 +- src/main/resources/messages_el_GR.properties | 2 +- src/main/resources/messages_en_GB.properties | 2 +- src/main/resources/messages_en_US.properties | 2 +- src/main/resources/messages_es_ES.properties | 2 +- src/main/resources/messages_eu_ES.properties | 2 +- src/main/resources/messages_fr_FR.properties | 2 +- src/main/resources/messages_hi_IN.properties | 2 +- src/main/resources/messages_hu_HU.properties | 2 +- src/main/resources/messages_id_ID.properties | 2 +- src/main/resources/messages_it_IT.properties | 2 +- src/main/resources/messages_ja_JP.properties | 2 +- src/main/resources/messages_ko_KR.properties | 2 +- src/main/resources/messages_nl_NL.properties | 2 +- src/main/resources/messages_pl_PL.properties | 2 +- src/main/resources/messages_pt_BR.properties | 2 +- src/main/resources/messages_pt_PT.properties | 2 +- src/main/resources/messages_ro_RO.properties | 2 +- src/main/resources/messages_ru_RU.properties | 2 +- .../resources/messages_sr_LATN_RS.properties | 2 +- src/main/resources/messages_sv_SE.properties | 2 +- src/main/resources/messages_tr_TR.properties | 2 +- src/main/resources/messages_zh_CN.properties | 2 +- src/main/resources/messages_zh_TW.properties | 2 +- 37 files changed, 101 insertions(+), 58 deletions(-) diff --git a/Dockerfile b/Dockerfile index 02243563..a1a00593 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,8 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et shadow \ # Doc conversion libreoffice@testing \ +# pdftohtml + poppler-utils \ # OCR MY PDF (unpaper for descew and other advanced featues) ocrmypdf \ tesseract-ocr-data-eng \ diff --git a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index 76875ac7..9a070e52 100644 --- a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -244,6 +244,6 @@ public class EndpointConfiguration { } } } - + private static final String REMOVE_BLANKS = "remove-blanks"; } diff --git a/src/main/java/stirling/software/SPDF/controller/api/UserController.java b/src/main/java/stirling/software/SPDF/controller/api/UserController.java index 8e7adf94..598a832d 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/UserController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/UserController.java @@ -291,6 +291,6 @@ public class UserController { } return ResponseEntity.ok(apiKey); } - + private static final String LOGIN_MESSAGETYPE_CREDSUPDATED = "/login?messageType=credsUpdated"; } diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java index 798c5f44..030ede95 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java @@ -29,18 +29,6 @@ import stirling.software.SPDF.utils.WebResponseUtils; @Tag(name = "Convert", description = "Convert APIs") public class ConvertPDFToOffice { - @PostMapping(consumes = "multipart/form-data", value = "/pdf/html") - @Operation( - summary = "Convert PDF to HTML", - description = - "This endpoint converts a PDF file to HTML format. Input:PDF Output:HTML Type:SISO") - public ResponseEntity processPdfToHTML(@ModelAttribute PDFFile request) - throws Exception { - MultipartFile inputFile = request.getFileInput(); - PDFToFile pdfToFile = new PDFToFile(); - return pdfToFile.processPdfToOfficeFormat(inputFile, "html", "writer_pdf_import"); - } - @PostMapping(consumes = "multipart/form-data", value = "/pdf/presentation") @Operation( summary = "Convert PDF to Presentation format", diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java index da8d0677..815018e8 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java @@ -6,8 +6,6 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java index af8bbea6..732106f5 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java @@ -219,6 +219,6 @@ public class ExtractImageScansController { }); } } - + private static final String REPLACEFIRST = "[.][^.]+$"; } diff --git a/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java b/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java index c10190d0..c61b29e9 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java +++ b/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java @@ -26,7 +26,6 @@ import org.springframework.stereotype.Service; import com.fasterxml.jackson.databind.ObjectMapper; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.PipelineConfig; import stirling.software.SPDF.model.PipelineOperation; diff --git a/src/main/java/stirling/software/SPDF/repository/UserRepository.java b/src/main/java/stirling/software/SPDF/repository/UserRepository.java index faa11fcc..ad65f27d 100644 --- a/src/main/java/stirling/software/SPDF/repository/UserRepository.java +++ b/src/main/java/stirling/software/SPDF/repository/UserRepository.java @@ -3,8 +3,6 @@ package stirling.software.SPDF.repository; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; import stirling.software.SPDF.model.User; diff --git a/src/main/java/stirling/software/SPDF/utils/PDFToFile.java b/src/main/java/stirling/software/SPDF/utils/PDFToFile.java index 43683be8..e52344bf 100644 --- a/src/main/java/stirling/software/SPDF/utils/PDFToFile.java +++ b/src/main/java/stirling/software/SPDF/utils/PDFToFile.java @@ -25,6 +25,71 @@ import io.github.pixee.security.Filenames; import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult; public class PDFToFile { + + public ResponseEntity processPdfToHtml(MultipartFile inputFile) + throws IOException, InterruptedException { + if (!"application/pdf".equals(inputFile.getContentType())) { + return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } + + // Get the original PDF file name without the extension + String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename()); + String pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.')); + + Path tempInputFile = null; + Path tempOutputDir = null; + byte[] fileBytes; + String fileName = "temp.file"; + + try { + // Save the uploaded file to a temporary location + tempInputFile = Files.createTempFile("input_", ".pdf"); + Files.copy( + inputFile.getInputStream(), tempInputFile, StandardCopyOption.REPLACE_EXISTING); + + // Prepare the output directory + tempOutputDir = Files.createTempDirectory("output_"); + + // Run the pdftohtml command with complex output + List command = + new ArrayList<>( + Arrays.asList( + "pdftohtml", "-c", tempInputFile.toString(), pdfBaseName)); + + ProcessExecutorResult returnCode = + ProcessExecutor.getInstance(ProcessExecutor.Processes.PDFTOHTML) + .runCommandWithOutputHandling(command, tempOutputDir.toFile()); + + // Get output files + List outputFiles = Arrays.asList(tempOutputDir.toFile().listFiles()); + + // Return output files in a ZIP archive + fileName = pdfBaseName + "ToHtml.zip"; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream); + + for (File outputFile : outputFiles) { + ZipEntry entry = new ZipEntry(outputFile.getName()); + zipOutputStream.putNextEntry(entry); + FileInputStream fis = new FileInputStream(outputFile); + IOUtils.copy(fis, zipOutputStream); + fis.close(); + zipOutputStream.closeEntry(); + } + + zipOutputStream.close(); + fileBytes = byteArrayOutputStream.toByteArray(); + + } finally { + // Clean up the temporary files + if (tempInputFile != null) Files.delete(tempInputFile); + if (tempOutputDir != null) FileUtils.deleteDirectory(tempOutputDir.toFile()); + } + + return WebResponseUtils.bytesToWebResponse( + fileBytes, fileName, MediaType.APPLICATION_OCTET_STREAM); + } + public ResponseEntity processPdfToOfficeFormat( MultipartFile inputFile, String outputFormat, String libreOfficeFilter) throws IOException, InterruptedException { @@ -39,17 +104,7 @@ public class PDFToFile { // Validate output format List allowedFormats = - Arrays.asList( - "doc", - "docx", - "odt", - "ppt", - "pptx", - "odp", - "rtf", - "html", - "xml", - "txt:Text"); + Arrays.asList("doc", "docx", "odt", "ppt", "pptx", "odp", "rtf", "xml", "txt:Text"); if (!allowedFormats.contains(outputFormat)) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } diff --git a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java index 664d01a1..c8eb7517 100644 --- a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java +++ b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java @@ -24,6 +24,7 @@ public class ProcessExecutor { public enum Processes { LIBRE_OFFICE, + PDFTOHTML, OCR_MY_PDF, PYTHON_OPENCV, GHOSTSCRIPT, @@ -45,6 +46,7 @@ public class ProcessExecutor { int semaphoreLimit = switch (key) { case LIBRE_OFFICE -> 1; + case PDFTOHTML -> 1; case OCR_MY_PDF -> 2; case PYTHON_OPENCV -> 8; case GHOSTSCRIPT -> 16; @@ -56,6 +58,7 @@ public class ProcessExecutor { long timeoutMinutes = switch (key) { case LIBRE_OFFICE -> 30; + case PDFTOHTML -> 5; case OCR_MY_PDF -> 30; case PYTHON_OPENCV -> 30; case GHOSTSCRIPT -> 5; diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 8af3551f..fcfe9338 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -957,7 +957,7 @@ PDFToText.submit=تحويل #PDFToHTML PDFToHTML.title=PDF إلى HTML PDFToHTML.header=PDF إلى HTML -PDFToHTML.credit=تستخدم هذه الخدمة LibreOffice لتحويل الملفات. +PDFToHTML.credit=تستخدم هذه الخدمة pdftohtml لتحويل الملفات. PDFToHTML.submit=تحويل diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index db9448df..f42fae0d 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -957,7 +957,7 @@ PDFToText.submit=Преобразуване #PDFToHTML PDFToHTML.title=PDF към HTML PDFToHTML.header=PDF към HTML -PDFToHTML.credit=Тази услуга използва LibreOffice за преобразуване на файлове. +PDFToHTML.credit=Тази услуга използва pdftohtml за преобразуване на файлове. PDFToHTML.submit=Преобразуване diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 5dfa4ca3..9f543593 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -957,7 +957,7 @@ PDFToText.submit=Converteix #PDFToHTML PDFToHTML.title=PDF a HTML PDFToHTML.header=PDF a HTML -PDFToHTML.credit=Utilitza LibreOffice per a la conversió d'Arxius. +PDFToHTML.credit=Utilitza pdftohtml per a la conversió d'Arxius. PDFToHTML.submit=Converteix diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 8037d25b..a23b3282 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konvertieren #PDFToHTML PDFToHTML.title=PDF zu HTML PDFToHTML.header=PDF zu HTML -PDFToHTML.credit=Dieser Dienst verwendet LibreOffice für die Dateikonvertierung. +PDFToHTML.credit=Dieser Dienst verwendet pdftohtml für die Dateikonvertierung. PDFToHTML.submit=Konvertieren diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 412b144d..0ef44b21 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -957,7 +957,7 @@ PDFToText.submit=Μετατροπή #PDFToHTML PDFToHTML.title=PDF σε HTML PDFToHTML.header=PDF σε HTML -PDFToHTML.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice για τη μετατροπή των αρχείων. +PDFToHTML.credit=Αυτή η υπηρεσία χρησιμοποιεί pdftohtml για τη μετατροπή των αρχείων. PDFToHTML.submit=Μετατροπή diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index b599f087..ba6c8b77 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -957,7 +957,7 @@ PDFToText.submit=Convert #PDFToHTML PDFToHTML.title=PDF to HTML PDFToHTML.header=PDF to HTML -PDFToHTML.credit=This service uses LibreOffice for file conversion. +PDFToHTML.credit=This service uses pdftohtml for file conversion. PDFToHTML.submit=Convert diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index ed55d4cf..8e9890c1 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -957,7 +957,7 @@ PDFToText.submit=Convert #PDFToHTML PDFToHTML.title=PDF to HTML PDFToHTML.header=PDF to HTML -PDFToHTML.credit=This service uses LibreOffice for file conversion. +PDFToHTML.credit=This service uses pdftohtml for file conversion. PDFToHTML.submit=Convert diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 20ea3d23..c715d19b 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -957,7 +957,7 @@ PDFToText.submit=Convertir #PDFToHTML 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 pdftohtml para la conversión de archivos PDFToHTML.submit=Convertir diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 2723756c..3827a1c0 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -957,7 +957,7 @@ PDFToText.submit=Bihurtu #PDFToHTML PDFToHTML.title=PDFa HTML bihurtu PDFToHTML.header=PDFa HTML bihurtu -PDFToHTML.credit=Zerbitzu honek LibreOffice erabiltzen du fitxategiak bihurtzeko +PDFToHTML.credit=Zerbitzu honek pdftohtml erabiltzen du fitxategiak bihurtzeko PDFToHTML.submit=Bihurtu diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 6539267b..56f0c311 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -957,7 +957,7 @@ PDFToText.submit=Convertir #PDFToHTML PDFToHTML.title=PDF en HTML PDFToHTML.header=PDF en HTML -PDFToHTML.credit=Ce service utilise LibreOffice pour la conversion de fichiers. +PDFToHTML.credit=Ce service utilise pdftohtml pour la conversion de fichiers. PDFToHTML.submit=Convertir diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index f35e8f7b..bc8cda7c 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -957,7 +957,7 @@ PDFToText.submit=परिवर्तित करें #PDFToHTML PDFToHTML.title=PDF से HTML PDFToHTML.header=PDF से HTML -PDFToHTML.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है। +PDFToHTML.credit=यह सेवा फ़ाइल परिवर्तन के लिए pdftohtml का उपयोग करती है। PDFToHTML.submit=परिवर्तित करें diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 5dd082a1..d01a44f4 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konvertálás #PDFToHTML PDFToHTML.title=PDF >> HTML PDFToHTML.header=PDF >> HTML -PDFToHTML.credit=Ez a szolgáltatás a LibreOffice-t használja a fájlkonverzióhoz. +PDFToHTML.credit=Ez a szolgáltatás a pdftohtml-t használja a fájlkonverzióhoz. PDFToHTML.submit=Konvertálás diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 43a7cb97..afaade18 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konversi #PDFToHTML PDFToHTML.title=PDF Ke HTML PDFToHTML.header=PDF ke HTML -PDFToHTML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas. +PDFToHTML.credit=Layanan ini menggunakan pdftohtml untuk konversi berkas. PDFToHTML.submit=Konversi diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index 03d5b55a..9adc1ef3 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -957,7 +957,7 @@ PDFToText.submit=Converti #PDFToHTML PDFToHTML.title=Da PDF a HTML PDFToHTML.header=Da PDF a HTML -PDFToHTML.credit=Questo servizio utilizza LibreOffice per la conversione. +PDFToHTML.credit=Questo servizio utilizza pdftohtml per la conversione. PDFToHTML.submit=Converti diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index 94995579..193004f9 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -957,7 +957,7 @@ PDFToText.submit=変換 #PDFToHTML PDFToHTML.title=PDFをHTMLに変換 PDFToHTML.header=PDFをHTMLに変換 -PDFToHTML.credit=本サービスはファイル変換にLibreOfficeを使用しています。 +PDFToHTML.credit=本サービスはファイル変換にpdftohtmlを使用しています。 PDFToHTML.submit=変換 diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 1e34a0f2..69acc996 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -957,7 +957,7 @@ PDFToText.submit=변환 #PDFToHTML PDFToHTML.title=PDF를 HTML로 PDFToHTML.header=PDF 문서를 HTML로 변환 -PDFToHTML.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다. +PDFToHTML.credit=이 서비스는 파일 변환을 위해 pdftohtml를 사용합니다. PDFToHTML.submit=변환 diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 156c71f4..4ccd280c 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -957,7 +957,7 @@ PDFToText.submit=Converteren #PDFToHTML PDFToHTML.title=PDF naar HTML PDFToHTML.header=PDF naar HTML -PDFToHTML.credit=Deze service gebruikt LibreOffice voor bestandsconversie. +PDFToHTML.credit=Deze service gebruikt pdftohtml voor bestandsconversie. PDFToHTML.submit=Converteren diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index 215d56a4..2122174c 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konwertuj #PDFToHTML PDFToHTML.title=PDF na HTML PDFToHTML.header=PDF na HTML -PDFToHTML.credit=Ta usługa używa LibreOffice do konwersji plików. +PDFToHTML.credit=Ta usługa używa pdftohtml do konwersji plików. PDFToHTML.submit=Konwertuj diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index e4152447..17a22a05 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -957,7 +957,7 @@ PDFToText.submit=Converter #PDFToHTML PDFToHTML.title=PDF para HTML PDFToHTML.header=PDF para HTML -PDFToHTML.credit=Este serviço usa o LibreOffice para Conversão de Arquivos. +PDFToHTML.credit=Este serviço usa o pdftohtml para Conversão de Arquivos. PDFToHTML.submit=Converter diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 5312d3dd..ebbee9fa 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -957,7 +957,7 @@ PDFToText.submit=Converter #PDFToHTML PDFToHTML.title=PDF para HTML PDFToHTML.header=PDF para HTML -PDFToHTML.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. +PDFToHTML.credit=Este serviço usa o pdftohtml para Conversão de ficheiros. PDFToHTML.submit=Converter diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 9132e93a..76bb944d 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -957,7 +957,7 @@ PDFToText.submit=Convert #PDFToHTML PDFToHTML.title=PDF către HTML PDFToHTML.header=PDF către HTML -PDFToHTML.credit=Acest serviciu utilizează LibreOffice pentru conversia fișierului. +PDFToHTML.credit=Acest serviciu utilizează pdftohtml pentru conversia fișierului. PDFToHTML.submit=Convert diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index 3e2ef8ba..f86b104b 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -957,7 +957,7 @@ PDFToText.submit=Конвертировать #PDFToHTML PDFToHTML.title=PDF в HTML PDFToHTML.header=PDF в HTML -PDFToHTML.credit=Этот сервис использует LibreOffice для преобразования файлов. +PDFToHTML.credit=Этот сервис использует pdftohtml для преобразования файлов. PDFToHTML.submit=Конвертировать diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index 46b00a1b..cbf9bd9b 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konvertuj #PDFToHTML PDFToHTML.title=PDF u HTML PDFToHTML.header=PDF u HTML -PDFToHTML.credit=Ova usluga koristi LibreOffice za konverziju fajlova. +PDFToHTML.credit=Ova usluga koristi pdftohtml za konverziju fajlova. PDFToHTML.submit=Konvertuj diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 8a06a936..266c6b49 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -957,7 +957,7 @@ PDFToText.submit=Konvertera #PDFToHTML PDFToHTML.title=PDF till HTML PDFToHTML.header=PDF till HTML -PDFToHTML.credit=Denna tjänst använder LibreOffice för filkonvertering. +PDFToHTML.credit=Denna tjänst använder pdftohtml för filkonvertering. PDFToHTML.submit=Konvertera diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 905daada..c34f621b 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -957,7 +957,7 @@ PDFToText.submit=Dönüştür #PDFToHTML PDFToHTML.title=PDF'den HTML'e PDFToHTML.header=PDF'den HTML'e -PDFToHTML.credit=Bu hizmet dosya dönüşümü için LibreOffice kullanır. +PDFToHTML.credit=Bu hizmet dosya dönüşümü için pdftohtml kullanır. PDFToHTML.submit=Dönüştür diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 7cddebfb..63d40fdb 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -957,7 +957,7 @@ PDFToText.submit=转换 #PDFToHTML PDFToHTML.title=PDF To HTML PDFToHTML.header=将PDF转换成HTML -PDFToHTML.credit=此服务使用LibreOffice进行文件转换。 +PDFToHTML.credit=此服务使用pdftohtml进行文件转换。 PDFToHTML.submit=转换 diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 0fdcb972..e0a2eec5 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -957,7 +957,7 @@ PDFToText.submit=轉換 #PDFToHTML PDFToHTML.title=PDF 轉 HTML PDFToHTML.header=PDF 轉 HTML -PDFToHTML.credit=此服務使用 LibreOffice 進行檔案轉換。 +PDFToHTML.credit=此服務使用 pdftohtml 進行檔案轉換。 PDFToHTML.submit=轉換