From 5799e61385d245525f682892fc1da95d4c0e33f8 Mon Sep 17 00:00:00 2001 From: Ludy87 Date: Sat, 1 Jun 2024 21:30:05 +0200 Subject: [PATCH] new workaround for remove digital signature --- .../api/converters/ConvertPDFToPDFA.java | 52 +++++++++++++++++-- .../security/RemoveCertSignController.java | 14 ++++- src/main/resources/messages_ar_AR.properties | 1 + src/main/resources/messages_bg_BG.properties | 1 + src/main/resources/messages_ca_CA.properties | 1 + src/main/resources/messages_cs_CZ.properties | 1 + src/main/resources/messages_de_DE.properties | 1 + src/main/resources/messages_el_GR.properties | 1 + src/main/resources/messages_en_GB.properties | 1 + src/main/resources/messages_en_US.properties | 1 + src/main/resources/messages_es_ES.properties | 1 + src/main/resources/messages_eu_ES.properties | 1 + src/main/resources/messages_fr_FR.properties | 1 + src/main/resources/messages_hi_IN.properties | 1 + src/main/resources/messages_hr_HR.properties | 8 +++ src/main/resources/messages_hu_HU.properties | 1 + src/main/resources/messages_id_ID.properties | 1 + src/main/resources/messages_it_IT.properties | 1 + src/main/resources/messages_ja_JP.properties | 1 + src/main/resources/messages_ko_KR.properties | 1 + src/main/resources/messages_nl_NL.properties | 1 + src/main/resources/messages_pl_PL.properties | 1 + src/main/resources/messages_pt_BR.properties | 1 + src/main/resources/messages_pt_PT.properties | 1 + src/main/resources/messages_ro_RO.properties | 1 + src/main/resources/messages_ru_RU.properties | 1 + src/main/resources/messages_sk_SK.properties | 1 + .../resources/messages_sr_LATN_RS.properties | 1 + src/main/resources/messages_sv_SE.properties | 1 + src/main/resources/messages_tr_TR.properties | 1 + src/main/resources/messages_uk_UA.properties | 1 + src/main/resources/messages_zh_CN.properties | 1 + src/main/resources/messages_zh_TW.properties | 1 + .../templates/convert/pdf-to-pdfa.html | 42 +++++++++++++-- 34 files changed, 137 insertions(+), 9 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java index e3578826..cd748d53 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java @@ -1,10 +1,22 @@ package stirling.software.SPDF.controller.api.converters; +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDDocumentCatalog; +import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; +import org.apache.pdfbox.pdmodel.interactive.form.PDField; +import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @@ -26,6 +38,8 @@ import stirling.software.SPDF.utils.WebResponseUtils; @Tag(name = "Convert", description = "Convert APIs") public class ConvertPDFToPDFA { + private static final Logger logger = LoggerFactory.getLogger(ConvertPDFToPDFA.class); + @PostMapping(consumes = "multipart/form-data", value = "/pdf/pdfa") @Operation( summary = "Convert a PDF to a PDF/A", @@ -36,9 +50,39 @@ public class ConvertPDFToPDFA { MultipartFile inputFile = request.getFileInput(); String outputFormat = request.getOutputFormat(); - // Save the uploaded file to a temporary location + // Convert MultipartFile to byte[] + byte[] pdfBytes = inputFile.getBytes(); + + // Load the PDF document + PDDocument document = Loader.loadPDF(pdfBytes); + + // Get the document catalog + PDDocumentCatalog catalog = document.getDocumentCatalog(); + + // Get the AcroForm + PDAcroForm acroForm = catalog.getAcroForm(); + if (acroForm != null) { + // Remove signature fields safely + List fieldsToRemove = + acroForm.getFields().stream() + .filter(field -> field instanceof PDSignatureField) + .collect(Collectors.toList()); + + if (!fieldsToRemove.isEmpty()) { + acroForm.flatten(fieldsToRemove, false); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + document.save(baos); + pdfBytes = baos.toByteArray(); + } + } + document.close(); + + // Save the uploaded (and possibly modified) file to a temporary location Path tempInputFile = Files.createTempFile("input_", ".pdf"); - inputFile.transferTo(tempInputFile.toFile()); + try (OutputStream outputStream = new FileOutputStream(tempInputFile.toFile())) { + outputStream.write(pdfBytes); + } // Prepare the output file path Path tempOutputFile = Files.createTempFile("output_", ".pdf"); @@ -58,7 +102,7 @@ public class ConvertPDFToPDFA { .runCommandWithOutputHandling(command); // Read the optimized PDF file - byte[] pdfBytes = Files.readAllBytes(tempOutputFile); + byte[] optimizedPdfBytes = Files.readAllBytes(tempOutputFile); // Clean up the temporary files Files.deleteIfExists(tempInputFile); @@ -69,6 +113,6 @@ public class ConvertPDFToPDFA { Filenames.toSimpleFileName(inputFile.getOriginalFilename()) .replaceFirst("[.][^.]+$", "") + "_PDFA.pdf"; - return WebResponseUtils.bytesToWebResponse(pdfBytes, outputFilename); + return WebResponseUtils.bytesToWebResponse(optimizedPdfBytes, outputFilename); } } diff --git a/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java b/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java index 98d1e3a7..6a131a98 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java @@ -1,11 +1,14 @@ package stirling.software.SPDF.controller.api.security; import java.io.ByteArrayOutputStream; +import java.util.List; +import java.util.stream.Collectors; import org.apache.pdfbox.Loader; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocumentCatalog; import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; +import org.apache.pdfbox.pdmodel.interactive.form.PDField; import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,8 +57,15 @@ public class RemoveCertSignController { // Get the AcroForm PDAcroForm acroForm = catalog.getAcroForm(); if (acroForm != null) { - // Remove signature fields - acroForm.getFields().removeIf(field -> field instanceof PDSignatureField); + // Remove signature fields safely + List fieldsToRemove = + acroForm.getFields().stream() + .filter(field -> field instanceof PDSignatureField) + .collect(Collectors.toList()); + + if (!fieldsToRemove.isEmpty()) { + acroForm.flatten(fieldsToRemove, false); + } } // Save the modified document to the ByteArrayOutputStream diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 3888584d..94b40fae 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=تستخدم هذه الخدمة OCRmyPDF لتحويل PDF / A. pdfToPDFA.submit=تحويل pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index bbdbc104..bde099f1 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Тази услуга използва OCRmyPDF за PDF/A пр pdfToPDFA.submit=Преобразуване pdfToPDFA.tip=В момента не работи за няколко входа наведнъж pdfToPDFA.outputFormat=Изходен формат +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index e4310f13..1ee968ea 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Utilitza OCRmyPDF per la conversió a PDF/A pdfToPDFA.submit=Converteix pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties index 58ae8463..8df186ed 100644 --- a/src/main/resources/messages_cs_CZ.properties +++ b/src/main/resources/messages_cs_CZ.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Tato služba používá OCRmyPDF pro konverzi do formátu PDF/A pdfToPDFA.submit=Převést pdfToPDFA.tip=V současné době nepracuje pro více vstupů najednou pdfToPDFA.outputFormat=Výstupní formát +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 57d528d3..bc4aeb8b 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Dieser Dienst verwendet OCRmyPDF für die PDF/A-Konvertierung pdfToPDFA.submit=Konvertieren pdfToPDFA.tip=Dieser Dienst kann nur einzelne Eingangsdateien verarbeiten. pdfToPDFA.outputFormat=Ausgabeformat +pdfToPDFA.pdfWithDigitalSignature=Das PDF enthält eine digitale Signatur. #PDFToWord diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index a1984be8..7c047221 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί OCRmyPDF pdfToPDFA.submit=Μετατροπή pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index 544227f1..ea04033d 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=This service uses OCRmyPDF for PDF/A conversion pdfToPDFA.submit=Convert pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index 46467dad..be652771 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=This service uses OCRmyPDF for PDF/A conversion pdfToPDFA.submit=Convert pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 62368133..2343f855 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Este servicio usa OCRmyPDF para la conversión a PDF/A pdfToPDFA.submit=Convertir pdfToPDFA.tip=Actualmente no funciona para múltiples entrada a la vez pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 405be891..cdf89330 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Zerbitzu honek OCRmyPDF erabiltzen du PDFak PDF/A bihurtzeko pdfToPDFA.submit=Bihurtu pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 57671c51..8fa5c5ab 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Ce service utilise OCRmyPDF pour la conversion en PDF/A. pdfToPDFA.submit=Convertir pdfToPDFA.tip=Ne fonctionne actuellement pas pour plusieurs entrées à la fois pdfToPDFA.outputFormat=Format de sortie +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index 7b933cd2..6298dbff 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन pdfToPDFA.submit=परिवर्तित करें pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_hr_HR.properties b/src/main/resources/messages_hr_HR.properties index 391fc96b..1da8b9e3 100644 --- a/src/main/resources/messages_hr_HR.properties +++ b/src/main/resources/messages_hr_HR.properties @@ -331,6 +331,9 @@ compare.tags=razlikovati,kontrast,izmjene,analiza home.certSign.title=Potpišite s certifikatom home.certSign.desc=Potpisuje PDF s certifikatom/ključem (PEM/P12) certSign.tags=autentifikacija,PEM,P12,zvanično,šifriranje +# home.removeCertSign.title=Remove Certificate Sign +# home.removeCertSign.desc=Remove certificate signature from PDF +# removeCertSign.tags=authenticate,PEM,P12,official,decrypt home.pageLayout.title=Izgled s više stranica home.pageLayout.desc=Spojite više stranica PDF dokumenta u jednu stranicu @@ -653,6 +656,10 @@ certSign.reason=Razlog certSign.location=Mjesto certSign.name=Ime certSign.submit=Potpiši PDF +# removeCertSign.title=Remove Certificate Signature +# removeCertSign.header=Remove the digital certificate from the PDF +# removeCertSign.selectPDF=Select a PDF file: +# removeCertSign.submit=Remove Signature #removeBlanks @@ -965,6 +972,7 @@ pdfToPDFA.credit=Ova usluga koristi OCRmyPDF za PDF/A pretvorbu pdfToPDFA.submit=Pretvoriti pdfToPDFA.tip=Trenutno ne radi za više unosa odjednom pdfToPDFA.outputFormat=Izlazni format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 4bef0665..ba6e0bd4 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Ez a szolgáltatás az OCRmyPDF-t használja a PDF/A konverzió pdfToPDFA.submit=Konvertálás pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index b078892d..ace41c8b 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Layanan ini menggunakan OCRmyPDF untuk konversi PDF/A. pdfToPDFA.submit=Konversi pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index 4ed322ba..2d207e94 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Questo servizio utilizza OCRmyPDF per la conversione in PDF/A. pdfToPDFA.submit=Converti pdfToPDFA.tip=Attualmente non funziona per più input contemporaneamente pdfToPDFA.outputFormat=Formato di output +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index 700363c8..8a8e5017 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=本サービスはPDF/Aの変換にOCRmyPDFを使用してい pdfToPDFA.submit=変換 pdfToPDFA.tip=現在、一度に複数の入力に対して機能しません pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 94045ef3..f8643a4f 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 OCRmyPDF 문서를 사 pdfToPDFA.submit=변환 pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다. pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index bd9abc2c..450d4645 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Deze service gebruikt OCRmyPDF voor PDF/A-conversie pdfToPDFA.submit=Converteren pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index 9eb70812..9e471f3c 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Ta usługa używa OCRmyPDF do konwersji PDF/A pdfToPDFA.submit=Konwertuj pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index e95eff74..ef8bd236 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Este serviço usa OCRmyPDF para Conversão de PDF/A pdfToPDFA.submit=Converter pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 99751ec7..45b0ead1 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Este serviço usa OCRmyPDF para Conversão de PDF/A pdfToPDFA.submit=Converter pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 11d67688..076ee95f 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Acest serviciu utilizează OCRmyPDF pentru conversia în PDF/A pdfToPDFA.submit=Convert pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index 40d882e9..fe7abe1b 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Этот сервис использует OCRmyPDF для пр pdfToPDFA.submit=Конвертировать pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties index 3066982d..f4ceb99a 100644 --- a/src/main/resources/messages_sk_SK.properties +++ b/src/main/resources/messages_sk_SK.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Táto služba používa OCRmyPDF na konverziu PDF/A pdfToPDFA.submit=Konvertovať pdfToPDFA.tip=Momentálne nefunguje pre viacero vstupov naraz pdfToPDFA.outputFormat=Výstupný formát +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index 7939f5a9..c7db6ee6 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Ova usluga koristi OCRmyPDF za konverziju u PDF/A format pdfToPDFA.submit=Konvertuj pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index f1a04de0..606aeead 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Denna tjänst använder OCRmyPDF för PDF/A-konvertering pdfToPDFA.submit=Konvertera pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 2999eec3..2da6b38d 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Bu hizmet PDF/A dönüşümü için OCRmyPDF kullanır pdfToPDFA.submit=Dönüştür pdfToPDFA.tip=Şu anda aynı anda birden fazla giriş için çalışmıyor pdfToPDFA.outputFormat=Çıkış formatı +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index 9fb68d2d..ced475e0 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=Цей сервіс використовує OCRmyPDF для п pdfToPDFA.submit=Конвертувати pdfToPDFA.tip=Наразі не працює для кількох вхідних файлів одночасно pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index e165d91b..25c8fdf9 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=此服务使用OCRmyPDF进行PDF/A转换 pdfToPDFA.submit=转换 pdfToPDFA.tip=目前不支持上传多个 pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 59f606d1..63e6338a 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -976,6 +976,7 @@ pdfToPDFA.credit=此服務使用 OCRmyPDF 進行 PDF/A 轉換 pdfToPDFA.submit=轉換 pdfToPDFA.tip=目前不支援上傳多個 pdfToPDFA.outputFormat=Output format +pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. #PDFToWord diff --git a/src/main/resources/templates/convert/pdf-to-pdfa.html b/src/main/resources/templates/convert/pdf-to-pdfa.html index 654d58fe..4a542e14 100644 --- a/src/main/resources/templates/convert/pdf-to-pdfa.html +++ b/src/main/resources/templates/convert/pdf-to-pdfa.html @@ -21,15 +21,51 @@
- -
-
+
+