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">