diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java index beff8261b..328c8beb5 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java @@ -31,6 +31,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; + import stirling.software.SPDF.model.api.misc.OptimizePdfRequest; import stirling.software.SPDF.service.CustomPDDocumentFactory; import stirling.software.SPDF.utils.GeneralUtils; @@ -51,7 +52,7 @@ public class CompressController { this.pdfDocumentFactory = pdfDocumentFactory; } - private void compressImagesInPDF(Path pdfFile, double initialScaleFactor) throws Exception { + private void compressImagesInPDF(Path pdfFile, double initialScaleFactor, boolean grayScale) throws Exception { byte[] fileBytes = Files.readAllBytes(pdfFile); try (PDDocument doc = Loader.loadPDF(fileBytes)) { double scaleFactor = initialScaleFactor; @@ -76,11 +77,23 @@ public class CompressController { bufferedImage.getScaledInstance( newWidth, newHeight, Image.SCALE_SMOOTH); - BufferedImage scaledBufferedImage = - new BufferedImage( - newWidth, newHeight, BufferedImage.TYPE_INT_RGB); - scaledBufferedImage.getGraphics().drawImage(scaledImage, 0, 0, null); - + BufferedImage scaledBufferedImage; + if (grayScale + || bufferedImage.getType() == BufferedImage.TYPE_BYTE_GRAY) { + scaledBufferedImage = + new BufferedImage( + newWidth, newHeight, BufferedImage.TYPE_BYTE_GRAY); + scaledBufferedImage + .getGraphics() + .drawImage(scaledImage, 0, 0, null); + } else { + scaledBufferedImage = + new BufferedImage( + newWidth, newHeight, BufferedImage.TYPE_INT_RGB); + scaledBufferedImage + .getGraphics() + .drawImage(scaledImage, 0, 0, null); + } ByteArrayOutputStream compressedImageStream = new ByteArrayOutputStream(); ImageIO.write(scaledBufferedImage, "jpeg", compressedImageStream); @@ -139,6 +152,7 @@ public class CompressController { } boolean sizeMet = false; + boolean grayscaleEnabled = Boolean.TRUE.equals(request.getGrayscale()); while (!sizeMet && optimizeLevel <= 9) { // Apply additional image compression for levels 6-9 @@ -152,7 +166,7 @@ public class CompressController { case 9 -> 0.5; // 60% of original size default -> 1.0; }; - compressImagesInPDF(tempInputFile, scaleFactor); + compressImagesInPDF(tempInputFile, scaleFactor, grayscaleEnabled); } // Run QPDF optimization @@ -169,6 +183,7 @@ public class CompressController { command.add("--compression-level=" + optimizeLevel); command.add("--compress-streams=y"); command.add("--object-streams=generate"); + command.add("--no-warn"); command.add(tempInputFile.toString()); command.add(tempOutputFile.toString()); diff --git a/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java b/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java index 5ddfba577..48c95086d 100644 --- a/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java +++ b/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java @@ -29,4 +29,13 @@ public class OptimizePdfRequest extends PDFFile { "Whether to normalize the PDF content for better compatibility. Default is false.", defaultValue = "false") private Boolean normalize = false; + + @Schema( + description = "Whether to convert the PDF to grayscale. Default is false.", + defaultValue = "false") + private Boolean grayscale = false; + + public Boolean getGrayscale() { + return grayscale; + } } diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 9b116fdfd..52f5dad11 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=تطبيق التدرج الرمادي للضغط diff --git a/src/main/resources/messages_az_AZ.properties b/src/main/resources/messages_az_AZ.properties index 1854f8825..9ceb9b386 100644 --- a/src/main/resources/messages_az_AZ.properties +++ b/src/main/resources/messages_az_AZ.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Sıxma üçün Boz Rəng Tətbiq Edin diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index 5f7702b65..df835f4fb 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Версия validateSignature.cert.keyUsage=Предназначение на ключа за използване validateSignature.cert.selfSigned=Самостоятелно подписан validateSignature.cert.bits=битове +compress.grayscale.label=Приложи сива скала за компресиране diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 3a3661427..ed00145f0 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Aplicar escala de grisos per a la compressió diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties index c77901d01..d3eb1701e 100644 --- a/src/main/resources/messages_cs_CZ.properties +++ b/src/main/resources/messages_cs_CZ.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Verze validateSignature.cert.keyUsage=Použití klíče validateSignature.cert.selfSigned=Podepsaný sám sebou validateSignature.cert.bits=bitů +compress.grayscale.label=Použít stupnici šedi pro kompresi diff --git a/src/main/resources/messages_da_DK.properties b/src/main/resources/messages_da_DK.properties index 7db1bd532..795d0b62e 100644 --- a/src/main/resources/messages_da_DK.properties +++ b/src/main/resources/messages_da_DK.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Anvend gråskala til komprimering diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index ef442185a..6dfac6225 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Schlüsselverwendung validateSignature.cert.selfSigned=Selbstsigniert validateSignature.cert.bits=bits +compress.grayscale.label=Graustufen für Komprimierung anwenden diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 554ff22e8..0bc7ad5be 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Έκδοση validateSignature.cert.keyUsage=Χρήση κλειδιού validateSignature.cert.selfSigned=Αυτο-υπογεγραμμένο validateSignature.cert.bits=bits +compress.grayscale.label=Εφαρμογή κλίμακας του γκρι για συμπίεση diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index a77d36714..9c2d0b55a 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Apply Grayscale for Compression diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index b1bfeaab4..cde27df13 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Apply Grayscale for Compression diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 0124b9e4c..ec70810df 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Aplicar escala de grises para compresión diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 2a62b8fa3..53fcf4282 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Aplikatu grisezko eskala konpresiorako diff --git a/src/main/resources/messages_fa_IR.properties b/src/main/resources/messages_fa_IR.properties index ffac791c8..0b327f5c8 100644 --- a/src/main/resources/messages_fa_IR.properties +++ b/src/main/resources/messages_fa_IR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=نسخه validateSignature.cert.keyUsage=کاربرد کلید validateSignature.cert.selfSigned=با امضای خود validateSignature.cert.bits=بیتها +compress.grayscale.label=اعمال مقیاس خاکستری برای فشردهسازی diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 08a669f56..4af67d133 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Usage de la clé validateSignature.cert.selfSigned=Auto-signé validateSignature.cert.bits=bits +compress.grayscale.label=Appliquer l'échelle de gris pour la compression diff --git a/src/main/resources/messages_ga_IE.properties b/src/main/resources/messages_ga_IE.properties index 34b571c5f..bbf1131de 100644 --- a/src/main/resources/messages_ga_IE.properties +++ b/src/main/resources/messages_ga_IE.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Leagan validateSignature.cert.keyUsage=Úsáid Eochrach validateSignature.cert.selfSigned=Féin-Sínithe validateSignature.cert.bits=giotáin +compress.grayscale.label=Cuir Scála Liath i bhFeidhm le Comhbhrú diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index 472b71c64..3a5fb5b8a 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=संस्करण validateSignature.cert.keyUsage=कुंजी उपयोग validateSignature.cert.selfSigned=स्व-हस्ताक्षरित validateSignature.cert.bits=बिट्स +compress.grayscale.label=संपीड़न के लिए ग्रेस्केल लागू करें diff --git a/src/main/resources/messages_hr_HR.properties b/src/main/resources/messages_hr_HR.properties index e25d901a5..f56e326e9 100644 --- a/src/main/resources/messages_hr_HR.properties +++ b/src/main/resources/messages_hr_HR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Primijeni sivinu za kompresiju diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index e89e8cdad..0a6f21a06 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Verzió validateSignature.cert.keyUsage=Kulcshasználat validateSignature.cert.selfSigned=Önaláírt validateSignature.cert.bits=bit +compress.grayscale.label=Szürkeárnyalatok alkalmazása tömörítéshez diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 4f2cc88cf..b869c9d34 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Terapkan Skala Abu-Abu untuk Kompresi diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index bbd88bd09..a0f924ee6 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Versione validateSignature.cert.keyUsage=Utilizzo della chiave validateSignature.cert.selfSigned=Autofirmato validateSignature.cert.bits=bit +compress.grayscale.label=Applica scala di grigio per la compressione diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index 1f0e4d710..0f7c85082 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=バージョン validateSignature.cert.keyUsage=キーの使用法 validateSignature.cert.selfSigned=自己署名 validateSignature.cert.bits=ビット +compress.grayscale.label=圧縮にグレースケールを適用する diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index c102b0fa6..21a20db07 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=버전 validateSignature.cert.keyUsage=키 용도 validateSignature.cert.selfSigned=자체 서명 validateSignature.cert.bits=비트 +compress.grayscale.label=압축을 위해 그레이스케일 적용 diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 0820703fd..a3e754a13 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Grijsschaal toepassen voor compressie diff --git a/src/main/resources/messages_no_NB.properties b/src/main/resources/messages_no_NB.properties index 8b820a7b2..cfb8dbaea 100644 --- a/src/main/resources/messages_no_NB.properties +++ b/src/main/resources/messages_no_NB.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Bruk gråskala for komprimering diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index c7575ecc9..166fff51f 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Zastosuj skalę szarości do kompresji diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 30a57ee56..73c1e6d8d 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Versão validateSignature.cert.keyUsage=Uso da chave validateSignature.cert.selfSigned=Autoassinados validateSignature.cert.bits=bits +compress.grayscale.label=Aplicar escala de cinza para compressão diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 9c0ce181c..d26e33318 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Versão validateSignature.cert.keyUsage=Utilização da Chave validateSignature.cert.selfSigned=Auto-Assinado validateSignature.cert.bits=bits +compress.grayscale.label=Aplicar escala de cinzentos para compressão diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index b12368e74..6a861e116 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Aplicare scală de gri pentru compresie diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index 6e4d1b47c..f407f0ae2 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Версия validateSignature.cert.keyUsage=Использование ключа validateSignature.cert.selfSigned=Самоподписанный validateSignature.cert.bits=бит +compress.grayscale.label=Применить шкалу серого для сжатия diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties index 3c192ce1f..5e4b53e9c 100644 --- a/src/main/resources/messages_sk_SK.properties +++ b/src/main/resources/messages_sk_SK.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Použiť odtiene šedej na kompresiu diff --git a/src/main/resources/messages_sl_SI.properties b/src/main/resources/messages_sl_SI.properties index aa18879cc..b07753d42 100644 --- a/src/main/resources/messages_sl_SI.properties +++ b/src/main/resources/messages_sl_SI.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Različica validateSignature.cert.keyUsage=Uporaba ključa validateSignature.cert.selfSigned=Samopodpisano validateSignature.cert.bits=bits +compress.grayscale.label=Uporabi sivinsko lestvico za stiskanje diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index 078c097d0..1edeb8620 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Primeni sivinu za kompresiju diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 4c0c4113e..00aac4efc 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Tillämpa gråskala för komprimering diff --git a/src/main/resources/messages_th_TH.properties b/src/main/resources/messages_th_TH.properties index 96c68f1fb..8a9bac5bc 100644 --- a/src/main/resources/messages_th_TH.properties +++ b/src/main/resources/messages_th_TH.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=ใช้ระดับสีเทาสำหรับการบีบอัด diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 3ecafba0b..35a6ad511 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Sıkıştırma için Gri Ton Uygula diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index edabc7c14..55deb6fdd 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Застосувати відтінки сірого для стиснення diff --git a/src/main/resources/messages_vi_VN.properties b/src/main/resources/messages_vi_VN.properties index e3b6d5b18..e5aab3f9f 100644 --- a/src/main/resources/messages_vi_VN.properties +++ b/src/main/resources/messages_vi_VN.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=Version validateSignature.cert.keyUsage=Key Usage validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.bits=bits +compress.grayscale.label=Áp dụng thang độ xám để nén diff --git a/src/main/resources/messages_zh_BO.properties b/src/main/resources/messages_zh_BO.properties index be8aae05b..ed1269b5a 100644 --- a/src/main/resources/messages_zh_BO.properties +++ b/src/main/resources/messages_zh_BO.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=པར་གཞི། validateSignature.cert.keyUsage=ལྡེ་མིག་བེད་སྤྱོད། validateSignature.cert.selfSigned=རང་མིང་རྟགས། validateSignature.cert.bits=གནས། +compress.grayscale.label=应用灰度进行压缩 diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 7261a2432..86ae02cbb 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=版本 validateSignature.cert.keyUsage=密钥用途 validateSignature.cert.selfSigned=自签名 validateSignature.cert.bits=比特 +compress.grayscale.label=应用灰度进行压缩 diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 17f993913..06b591048 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -1384,3 +1384,4 @@ validateSignature.cert.version=版本 validateSignature.cert.keyUsage=金鑰用途 validateSignature.cert.selfSigned=自我簽署 validateSignature.cert.bits=位元 +compress.grayscale.label=應用灰階進行壓縮 diff --git a/src/main/resources/templates/misc/compress-pdf.html b/src/main/resources/templates/misc/compress-pdf.html index 54d6e61cc..e76a4b1c9 100644 --- a/src/main/resources/templates/misc/compress-pdf.html +++ b/src/main/resources/templates/misc/compress-pdf.html @@ -39,6 +39,13 @@ <option value="8">8</option> <option value="9">9</option> </select> + + <div class="form-check mt-3"> + <input class="form-check-input" type="checkbox" name="grayscale" id="grayscaleCheck" value="true"> + <label class="form-check-label" for="grayscaleCheck" th:text="#{compress.grayscale.label}"> + Convert images to grayscale for better compression + </label> + </div> </div> </div> <div class="card mb-3">