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 f107f67f..57b08f4e 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 @@ -5,11 +5,18 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.StandardCopyOption; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; +import java.util.Set; +import javax.imageio.IIOImage; import javax.imageio.ImageIO; +import javax.imageio.ImageWriteParam; +import javax.imageio.ImageWriter; +import javax.imageio.plugins.jpeg.JPEGImageWriteParam; +import javax.imageio.stream.ImageOutputStream; import org.apache.pdfbox.Loader; import org.apache.pdfbox.cos.COSName; @@ -52,74 +59,328 @@ public class CompressController { this.pdfDocumentFactory = pdfDocumentFactory; } - private void compressImagesInPDF(Path pdfFile, double initialScaleFactor, boolean grayScale) - throws Exception { + private void compressImagesInPDF(Path pdfFile, double scaleFactor, float jpegQuality) throws Exception { byte[] fileBytes = Files.readAllBytes(pdfFile); + long originalFileSize = fileBytes.length; + log.info( + "Starting image compression with scale factor: {} and JPEG quality: {} on file size: {}", + scaleFactor, + jpegQuality, + GeneralUtils.formatBytes(originalFileSize)); + + // Track processed images to avoid recompression + Set processedImages = new HashSet<>(); + try (PDDocument doc = Loader.loadPDF(fileBytes)) { - double scaleFactor = initialScaleFactor; + int totalImages = 0; + int compressedImages = 0; + int skippedImages = 0; + long totalOriginalBytes = 0; + long totalCompressedBytes = 0; - for (PDPage page : doc.getPages()) { + // Minimum dimensions to preserve reasonable quality + int MIN_WIDTH = 400; // Higher minimum + int MIN_HEIGHT = 400; // Higher minimum + + log.info("PDF has {} pages", doc.getNumberOfPages()); + + for (int pageNum = 0; pageNum < doc.getNumberOfPages(); pageNum++) { + PDPage page = doc.getPage(pageNum); PDResources res = page.getResources(); - if (res != null && res.getXObjectNames() != null) { - for (COSName name : res.getXObjectNames()) { - PDXObject xobj = res.getXObject(name); - if (xobj instanceof PDImageXObject image) { - BufferedImage bufferedImage = image.getImage(); - int newWidth = (int) (bufferedImage.getWidth() * scaleFactor); - int newHeight = (int) (bufferedImage.getHeight() * scaleFactor); + if (res == null || res.getXObjectNames() == null) { + continue; + } - if (newWidth == 0 || newHeight == 0) { - continue; - } + int pageImages = 0; - Image scaledImage = - bufferedImage.getScaledInstance( - newWidth, newHeight, Image.SCALE_SMOOTH); + for (COSName name : res.getXObjectNames()) { + String imageName = name.getName(); - 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); - byte[] imageBytes = compressedImageStream.toByteArray(); - compressedImageStream.close(); - - PDImageXObject compressedImage = - PDImageXObject.createFromByteArray( - doc, imageBytes, image.getCOSObject().toString()); - res.put(name, compressedImage); - } + // Skip already processed images + if (processedImages.contains(imageName)) { + skippedImages++; + continue; } + + PDXObject xobj = res.getXObject(name); + if (!(xobj instanceof PDImageXObject)) { + continue; + } + + totalImages++; + pageImages++; + PDImageXObject image = (PDImageXObject) xobj; + BufferedImage bufferedImage = image.getImage(); + + int originalWidth = bufferedImage.getWidth(); + int originalHeight = bufferedImage.getHeight(); + + log.info( + "Page {}, Image {}: Original dimensions: {}x{}", + pageNum + 1, + imageName, + originalWidth, + originalHeight); + + // Skip if already small enough + if (originalWidth <= MIN_WIDTH || originalHeight <= MIN_HEIGHT) { + log.info( + "Page {}, Image {}: Skipping - below minimum dimensions threshold", + pageNum + 1, + imageName); + skippedImages++; + processedImages.add(imageName); + continue; + } + + // Adjust scale factor for very large or very small images + double adjustedScaleFactor = scaleFactor; + if (originalWidth > 3000 || originalHeight > 3000) { + // More aggressive for very large images + adjustedScaleFactor = Math.min(scaleFactor, 0.75); + log.info( + "Page {}, Image {}: Very large image, using more aggressive scale: {}", + pageNum + 1, + imageName, + adjustedScaleFactor); + } else if (originalWidth < 1000 || originalHeight < 1000) { + // More conservative for smaller images + adjustedScaleFactor = Math.max(scaleFactor, 0.9); + log.info( + "Page {}, Image {}: Smaller image, using conservative scale: {}", + pageNum + 1, + imageName, + adjustedScaleFactor); + } + + int newWidth = (int) (originalWidth * adjustedScaleFactor); + int newHeight = (int) (originalHeight * adjustedScaleFactor); + + // Ensure minimum dimensions + newWidth = Math.max(newWidth, MIN_WIDTH); + newHeight = Math.max(newHeight, MIN_HEIGHT); + + // Skip if change is negligible + if ((double) newWidth / originalWidth > 0.95 + && (double) newHeight / originalHeight > 0.95) { + log.info( + "Page {}, Image {}: Change too small, skipping compression", + pageNum + 1, + imageName); + skippedImages++; + processedImages.add(imageName); + continue; + } + + log.info( + "Page {}, Image {}: Resizing to {}x{} ({}% of original)", + pageNum + 1, + imageName, + newWidth, + newHeight, + Math.round((newWidth * 100.0) / originalWidth)); + + // Use high quality scaling + BufferedImage scaledImage = + new BufferedImage( + newWidth, + newHeight, + bufferedImage.getColorModel().hasAlpha() + ? BufferedImage.TYPE_INT_ARGB + : BufferedImage.TYPE_INT_RGB); + + Graphics2D g2d = scaledImage.createGraphics(); + g2d.setRenderingHint( + RenderingHints.KEY_INTERPOLATION, + RenderingHints.VALUE_INTERPOLATION_BICUBIC); + g2d.setRenderingHint( + RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + g2d.setRenderingHint( + RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2d.drawImage(bufferedImage, 0, 0, newWidth, newHeight, null); + g2d.dispose(); + + // Choose appropriate format and compression + String format = bufferedImage.getColorModel().hasAlpha() ? "png" : "jpeg"; + + // First get the actual size of the original image by encoding it to the chosen format + ByteArrayOutputStream originalImageStream = new ByteArrayOutputStream(); + if (format.equals("jpeg")) { + // Get the best available JPEG writer (prioritizes TwelveMonkeys if available) + Iterator writers = ImageIO.getImageWritersByFormatName("jpeg"); + ImageWriter writer = null; + + // Prefer TwelveMonkeys writer if available + while (writers.hasNext()) { + ImageWriter candidate = writers.next(); + if (candidate.getClass().getName().contains("twelvemonkeys")) { + writer = candidate; + break; + } + } + if (writer == null) { + writer = ImageIO.getImageWritersByFormatName("jpeg").next(); + } + + JPEGImageWriteParam param = + (JPEGImageWriteParam) writer.getDefaultWriteParam(); + + // Set advanced compression parameters + param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); + param.setCompressionQuality(jpegQuality); + param.setOptimizeHuffmanTables(true); // Better compression + param.setProgressiveMode( + ImageWriteParam.MODE_DEFAULT); // Progressive scanning + + // Write compressed image + try (ImageOutputStream ios = + ImageIO.createImageOutputStream(originalImageStream)) { + writer.setOutput(ios); + writer.write(null, new IIOImage(scaledImage, null, null), param); + } + writer.dispose(); + } else { + ImageIO.write(bufferedImage, format, originalImageStream); + } + int originalEncodedSize = (int) image.getCOSObject().getLength(); + originalImageStream.close(); + + // Now compress the scaled image + ByteArrayOutputStream compressedImageStream = new ByteArrayOutputStream(); + if (format.equals("jpeg")) { + Iterator writers = ImageIO.getImageWritersByFormatName(format); + if (writers.hasNext()) { + ImageWriter writer = writers.next(); + ImageWriteParam param = writer.getDefaultWriteParam(); + + if (param.canWriteCompressed()) { + param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); + param.setCompressionQuality(jpegQuality); + + ImageOutputStream imageOut = + ImageIO.createImageOutputStream(compressedImageStream); + writer.setOutput(imageOut); + writer.write(null, new IIOImage(scaledImage, null, null), param); + writer.dispose(); + imageOut.close(); + } else { + ImageIO.write(scaledImage, format, compressedImageStream); + } + } else { + ImageIO.write(scaledImage, format, compressedImageStream); + } + } else { + ImageIO.write(scaledImage, format, compressedImageStream); + } + byte[] imageBytes = compressedImageStream.toByteArray(); + compressedImageStream.close(); + + // Format sizes using our utility method + String originalSizeStr = GeneralUtils.formatBytes(originalEncodedSize); + String compressedSizeStr = GeneralUtils.formatBytes(imageBytes.length); + + // Calculate reduction percentage (how much smaller the new file is) + double reductionPercentage = + 100.0 - ((imageBytes.length * 100.0) / originalEncodedSize); + + if (imageBytes.length >= originalEncodedSize) { + log.info( + "Page {}, Image {}: Compressed size {} not smaller than original {}, skipping replacement", + pageNum + 1, + imageName, + GeneralUtils.formatBytes(imageBytes.length), + GeneralUtils.formatBytes(originalEncodedSize)); + + // Accumulate original size for both counters (no change) + totalOriginalBytes += originalEncodedSize; + totalCompressedBytes += originalEncodedSize; + skippedImages++; + processedImages.add(imageName); + continue; + } + log.info( + "Page {}, Image {}: Compressed from {} to {} (reduced by {}%)", + pageNum + 1, + imageName, + originalSizeStr, + compressedSizeStr, + String.format("%.1f", reductionPercentage)); + + // Only replace if compressed size is smaller + PDImageXObject compressedImage = + PDImageXObject.createFromByteArray( + doc, imageBytes, image.getCOSObject().toString()); + res.put(name, compressedImage); + + // Update counters with compressed size + totalOriginalBytes += originalEncodedSize; + totalCompressedBytes += imageBytes.length; + compressedImages++; + processedImages.add(imageName); } } - Path tempOutput = Files.createTempFile("output_", ".pdf"); - doc.save(tempOutput.toString()); - Files.move(tempOutput, pdfFile, StandardCopyOption.REPLACE_EXISTING); + + // Log overall image compression statistics + double overallImageReduction = + totalOriginalBytes > 0 + ? 100.0 - ((totalCompressedBytes * 100.0) / totalOriginalBytes) + : 0; + + log.info( + "Image compression summary - Total: {}, Compressed: {}, Skipped: {}", + totalImages, + compressedImages, + skippedImages); + log.info( + "Total original image size: {}, compressed: {} (reduced by {:.1f}%)", + GeneralUtils.formatBytes(totalOriginalBytes), + GeneralUtils.formatBytes(totalCompressedBytes), + overallImageReduction); + + // Save the document + log.info("Saving compressed PDF to {}", pdfFile.toString()); + doc.save(pdfFile.toString()); + + // Log overall file size reduction + long compressedFileSize = Files.size(pdfFile); + double overallReduction = 100.0 - ((compressedFileSize * 100.0) / originalFileSize); + log.info( + "Overall PDF compression: {} → {} (reduced by {:.1f}%)", + GeneralUtils.formatBytes(originalFileSize), + GeneralUtils.formatBytes(compressedFileSize), + overallReduction); } } + // Updated scale factor method for levels 4-9 + private double getScaleFactorForLevel(int optimizeLevel) { + return switch (optimizeLevel) { + case 4 -> 0.9; // 90% of original size - lite image compression + case 5 -> 0.8; // 80% of original size - lite image compression + case 6 -> 0.7; // 70% of original size - lite image compression + case 7 -> 0.6; // 60% of original size - intense image compression + case 8 -> 0.5; // 50% of original size - intense image compression + case 9, 10 -> 0.4; // 40% of original size - intense image compression + default -> 1.0; // No image scaling for levels 1-3 + }; + } + + // New method for JPEG quality based on optimization level + private float getJpegQualityForLevel(int optimizeLevel) { + return switch (optimizeLevel) { + case 7 -> 0.8f; // 80% quality - intense compression + case 8 -> 0.6f; // 60% quality - more intense compression + case 9, 10 -> 0.4f; // 40% quality - most intense compression + default -> 0.7f; // 70% quality for levels 1-6 (higher quality) + }; + } + @PostMapping(consumes = "multipart/form-data", value = "/compress-pdf") @Operation( summary = "Optimize PDF file", description = - "This endpoint accepts a PDF file and optimizes it based on the provided" - + " parameters. Input:PDF Output:PDF Type:SISO") + "This endpoint accepts a PDF file and optimizes it based on the provided parameters. Input:PDF Output:PDF Type:SISO") public ResponseEntity optimizePdf(@ModelAttribute OptimizePdfRequest request) throws Exception { MultipartFile inputFile = request.getFileInput(); @@ -153,50 +414,69 @@ public class CompressController { } boolean sizeMet = false; - boolean grayscaleEnabled = Boolean.TRUE.equals(request.getGrayscale()); + boolean imageCompressionApplied = false; // Track if we've already compressed images + boolean qpdfCompressionApplied = false; + while (!sizeMet && optimizeLevel <= 9) { - - // Apply additional image compression for levels 6-9 - if (optimizeLevel >= 6) { - // Calculate scale factor based on optimization level - double scaleFactor = - switch (optimizeLevel) { - case 6 -> 0.9; // 90% of original size - case 7 -> 0.8; // 80% of original size - case 8 -> 0.65; // 70% of original size - case 9 -> 0.5; // 60% of original size - default -> 1.0; - }; - compressImagesInPDF(tempInputFile, scaleFactor, grayscaleEnabled); + // Apply appropriate compression based on level + + // Levels 4-9: Apply image compression + if (optimizeLevel >= 4 && !imageCompressionApplied) { + double scaleFactor = getScaleFactorForLevel(optimizeLevel); + float jpegQuality = getJpegQualityForLevel(optimizeLevel); + compressImagesInPDF(tempInputFile, scaleFactor, jpegQuality); + imageCompressionApplied = true; // Mark that we've compressed images } - - // Run QPDF optimization - List command = new ArrayList<>(); - command.add("qpdf"); - if (request.getNormalize()) { - command.add("--normalize-content=y"); - } - if (request.getLinearize()) { - command.add("--linearize"); - } - command.add("--optimize-images"); - command.add("--recompress-flate"); - 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()); - - ProcessExecutorResult returnCode = null; - try { - returnCode = - ProcessExecutor.getInstance(ProcessExecutor.Processes.QPDF) - .runCommandWithOutputHandling(command); - } catch (Exception e) { - if (returnCode != null && returnCode.getRc() != 3) { - throw e; + + // All levels (1-9): Apply QPDF compression + if (!qpdfCompressionApplied) { + long preQpdfSize = Files.size(tempInputFile); + log.info("Pre-QPDF file size: {}", GeneralUtils.formatBytes(preQpdfSize)); + + // For levels 1-3, map to qpdf compression levels 1-9 + int qpdfCompressionLevel = optimizeLevel; + if (optimizeLevel <= 3) { + qpdfCompressionLevel = optimizeLevel * 3; // Level 1->3, 2->6, 3->9 + } else { + qpdfCompressionLevel = 9; // Max QPDF compression for levels 4-9 } + + // Run QPDF optimization + List command = new ArrayList<>(); + command.add("qpdf"); + if (request.getNormalize()) { + command.add("--normalize-content=y"); + } + if (request.getLinearize()) { + command.add("--linearize"); + } + command.add("--recompress-flate"); + command.add("--compression-level=" + qpdfCompressionLevel); + command.add("--compress-streams=y"); + command.add("--object-streams=generate"); + command.add(tempInputFile.toString()); + command.add(tempOutputFile.toString()); + + ProcessExecutorResult returnCode = null; + try { + returnCode = + ProcessExecutor.getInstance(ProcessExecutor.Processes.QPDF) + .runCommandWithOutputHandling(command); + qpdfCompressionApplied = true; + } catch (Exception e) { + if (returnCode != null && returnCode.getRc() != 3) { + throw e; + } + } + long postQpdfSize = Files.size(tempOutputFile); + double qpdfReduction = 100.0 - ((postQpdfSize * 100.0) / preQpdfSize); + log.info( + "Post-QPDF file size: {} (reduced by {:.1f}%)", + GeneralUtils.formatBytes(postQpdfSize), + qpdfReduction); + + } else { + tempOutputFile = tempInputFile; } // Check if file size is within expected size or not auto mode @@ -204,12 +484,22 @@ public class CompressController { if (outputFileSize <= expectedOutputSize || !autoMode) { sizeMet = true; } else { - optimizeLevel = + int newOptimizeLevel = incrementOptimizeLevel( optimizeLevel, outputFileSize, expectedOutputSize); - if (autoMode && optimizeLevel >= 9) { - log.info("Maximum compression level reached in auto mode"); - sizeMet = true; + + // Check if we can't increase the level further + if (newOptimizeLevel == optimizeLevel) { + if (autoMode) { + log.info( + "Maximum optimization level reached without meeting target size."); + sizeMet = true; + } + } else { + // Reset image compression if moving to a new level + imageCompressionApplied = false; + qpdfCompressionApplied = false; + optimizeLevel = newOptimizeLevel; } } } @@ -221,8 +511,7 @@ public class CompressController { // Check if optimized file is larger than the original if (pdfBytes.length > inputFileSize) { log.warn( - "Optimized file is larger than the original. Returning the original file" - + " instead."); + "Optimized file is larger than the original. Returning the original file instead."); finalFile = tempInputFile; } @@ -243,10 +532,10 @@ public class CompressController { if (sizeReductionRatio > 0.8) return 2; if (sizeReductionRatio > 0.7) return 3; if (sizeReductionRatio > 0.6) return 4; - if (sizeReductionRatio > 0.5) return 5; - if (sizeReductionRatio > 0.4) return 6; - if (sizeReductionRatio > 0.3) return 7; - if (sizeReductionRatio > 0.2) return 8; + if (sizeReductionRatio > 0.3) return 5; + if (sizeReductionRatio > 0.2) return 6; + if (sizeReductionRatio > 0.15) return 7; + if (sizeReductionRatio > 0.1) return 8; return 9; } @@ -261,4 +550,4 @@ public class CompressController { } return Math.min(9, currentLevel + 1); } -} +} \ No newline at end of file diff --git a/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java b/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java index 1c259a4f..96f0aead 100644 --- a/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java +++ b/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java @@ -173,6 +173,18 @@ public class GeneralUtils { return null; } + public static String formatBytes(long bytes) { + if (bytes < 1024) { + return bytes + " B"; + } else if (bytes < 1024 * 1024) { + return String.format("%.2f KB", bytes / 1024.0); + } else if (bytes < 1024 * 1024 * 1024) { + return String.format("%.2f MB", bytes / (1024.0 * 1024.0)); + } else { + return String.format("%.2f GB", bytes / (1024.0 * 1024.0 * 1024.0)); + } + } + public static List parsePageList(String pages, int totalPages, boolean oneBased) { if (pages == null) { return List.of(1); // Default to first page if input is null diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index fa79c1e4..75f14a67 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -931,10 +931,9 @@ compress.title=ضغط compress.header=ضغط ملف PDF compress.credit=تستخدم هذه الخدمة qpdf لضغط / تحسين PDF. compress.grayscale.label=تطبيق التدرج الرمادي للضغط -compress.selectText.1=الوضع اليدوي - من 1 إلى 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=مستوى التحسين: -compress.selectText.3=4 (رهيب للصور النصية) compress.selectText.4=الوضع التلقائي - يضبط الجودة تلقائيًا للحصول على ملف PDF بالحجم المحدد compress.selectText.5=حجم PDF المتوقع (على سبيل المثال 25 ميجا بايت، 10.8 ميجا بايت، 25 كيلو بايت) compress.submit=ضغط diff --git a/src/main/resources/messages_az_AZ.properties b/src/main/resources/messages_az_AZ.properties index 5cfba420..aa379a1b 100644 --- a/src/main/resources/messages_az_AZ.properties +++ b/src/main/resources/messages_az_AZ.properties @@ -931,10 +931,9 @@ compress.title=Sıxışdır compress.header=PDF-i Sıxışdır compress.credit=Bu servis PDF sıxışdırılması/Optimizasiyası üçün Ghostscript istifadə edir. compress.grayscale.label=Sıxma üçün Boz Rəng Tətbiq Edin -compress.selectText.1=Manual Mod - 1-dən 5-ə -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimizasiya səviyyəsi: -compress.selectText.3=4 (Mətn şəkilləri üçün yaxşı deyil) compress.selectText.4=Avto mod - PDF-in dəqiq ölçüsünü əldə etmək üçün keyfiyyəti avtomatik tənzimləyir compress.selectText.5=Gözlənilən PDF Ölçüsü (məsələn, 25MB, 10.8MB, 25KB) compress.submit=Sıxışdır diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index d58ab003..c1d99045 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -931,10 +931,9 @@ compress.title=Компресиране compress.header=Компресиране на PDF compress.credit=Тази услуга използва qpdf за PDF компресиране/оптимизиране. compress.grayscale.label=Приложи сива скала за компресиране -compress.selectText.1=Ръчен режим - от 1 до 5 -compress.selectText.1.1=При нива на оптимизация от 6 до 9, в допълнение към общото компресиране на PDF, резолюцията на изображението се намалява, за да се намали допълнително размерът на файла. По-високите нива водят до по-силна компресия на изображенията (до 50% от оригиналния размер), като се постига по-голямо намаляване на размера, но с потенциална загуба на качество на изображенията. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Ниво на оптимизация: -compress.selectText.3=4 (Ужасно за текстови изображения) compress.selectText.4=Автоматичен режим - Автоматично настройва качеството, за да получи PDF с точен размер compress.selectText.5=Очакван PDF размер (напр. 25МБ, 10.8МБ, 25КБ) compress.submit=Компресиране diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 5d287628..b1411d66 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -931,10 +931,9 @@ compress.title=Comprimir compress.header=Comprimir PDF compress.credit=Aquest servei utilitza qpdf per a la compressió/optimització de PDF. compress.grayscale.label=Aplicar escala de grisos per a la compressió -compress.selectText.1=Mode manual: de l'1 al 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nivell d'optimització: -compress.selectText.3=4 (terrible per a imatges de text) compress.selectText.4=Mode automàtic: ajusta automàticament la qualitat perquè el PDF tingui la mida exacta compress.selectText.5=Mida esperada del PDF (p. ex. 25 MB, 10,8 MB, 25 KB) compress.submit=Comprimir diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties index 0804ef46..02cb5535 100644 --- a/src/main/resources/messages_cs_CZ.properties +++ b/src/main/resources/messages_cs_CZ.properties @@ -931,10 +931,9 @@ compress.title=Komprimovat compress.header=Komprimovat PDF compress.credit=Tato služba používá qpdf pro kompresi/optimalizaci PDF. compress.grayscale.label=Použít stupnici šedi pro kompresi -compress.selectText.1=Ruční režim - Od 1 do 5 -compress.selectText.1.1=V úrovních optimalizace 6 až 9 je kromě obecné komprese PDF sníženo rozlišení obrázků pro další zmenšení velikosti souboru. Vyšší úrovně vedou k silnější kompresi obrázků (až na 50 % původní velikosti), čímž dosahují většího zmenšení velikosti, ale s potenciální ztrátou kvality obrázků. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Úroveň optimalizace: -compress.selectText.3=4 (Špatné pro textové obrázky) compress.selectText.4=Automatický režim - Automaticky upravuje kvalitu pro dosažení přesné velikosti PDF compress.selectText.5=Očekávaná velikost PDF (např. 25MB, 10.8MB, 25KB) compress.submit=Komprimovat diff --git a/src/main/resources/messages_da_DK.properties b/src/main/resources/messages_da_DK.properties index 83641918..547a134b 100644 --- a/src/main/resources/messages_da_DK.properties +++ b/src/main/resources/messages_da_DK.properties @@ -931,10 +931,9 @@ compress.title=Komprimer compress.header=Komprimer PDF compress.credit=Denne tjeneste bruger qpdf til PDF Komprimering/Optimering. compress.grayscale.label=Anvend gråskala til komprimering -compress.selectText.1=Manuel Tilstand - Fra 1 til 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimeringsniveau: -compress.selectText.3=4 (Forfærdelig for tekstbilleder) compress.selectText.4=Auto tilstand - Justerer automatisk kvaliteten for at få PDF'en til en præcis størrelse compress.selectText.5=Forventet PDF-størrelse (f.eks. 25MB, 10.8MB, 25KB) compress.submit=Komprimer diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 1dfe2c45..bd3621be 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -931,10 +931,9 @@ compress.title=Komprimieren compress.header=PDF komprimieren compress.credit=Dieser Dienst verwendet qpdf für die PDF-Komprimierung/-Optimierung. compress.grayscale.label=Graustufen für Komprimierung anwenden -compress.selectText.1=Manueller Modus – Von 1 bis 5 -compress.selectText.1.1=In den Optimierungsstufen 6 bis 9 wird zusätzlich zur allgemeinen PDF-Komprimierung die Bildauflösung reduziert, um die Dateigröße weiter zu verringern. Höhere Stufen führen zu einer stärkeren Bildkomprimierung (bis zu 50 % der Originalgröße), wodurch eine stärkere Größenreduzierung erreicht wird, die jedoch mit einem möglichen Qualitätsverlust der Bilder einhergeht. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimierungsstufe: -compress.selectText.3=4 (Schrecklich für Textbilder) compress.selectText.4=Automatischer Modus – Passt die Qualität automatisch an, um das PDF auf die exakte Größe zu bringen compress.selectText.5=Erwartete PDF-Größe (z.B. 25 MB, 10,8 MB, 25 KB) compress.submit=Komprimieren diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index e8fb330c..1edd62d3 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -931,10 +931,9 @@ compress.title=Συμπίεση compress.header=Συμπίεση PDF compress.credit=Αυτή η υπηρεσία χρησιμοποιεί qpdf για συμπίεση/βελτιστοποίηση PDF. compress.grayscale.label=Εφαρμογή κλίμακας του γκρι για συμπίεση -compress.selectText.1=Χειροκίνητη λειτουργία - Από 1 έως 5 -compress.selectText.1.1=Στα επίπεδα βελτιστοποίησης 6 έως 9, εκτός από τη γενική συμπίεση PDF, η ανάλυση εικόνας μειώνεται για περαιτέρω μείωση του μεγέθους αρχείου. Υψηλότερα επίπεδα οδηγούν σε ισχυρότερη συμπίεση εικόνας (έως και 50% του αρχικού μεγέθους), επιτυγχάνοντας μεγαλύτερη μείωση μεγέθους αλλά με πιθανή απώλεια ποιότητας στις εικόνες. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Επίπεδο βελτιστοποίησης: -compress.selectText.3=4 (Απαίσιο για εικόνες κειμένου) compress.selectText.4=Αυτόματη λειτουργία - Αυτόματη προσαρμογή ποιότητας για επίτευξη ακριβούς μεγέθους PDF compress.selectText.5=Αναμενόμενο μέγεθος PDF (π.χ. 25MB, 10.8MB, 25KB) compress.submit=Συμπίεση diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index 8e409884..45c61e0a 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -931,10 +931,9 @@ compress.title=Compress compress.header=Compress PDF compress.credit=This service uses qpdf for PDF Compress/Optimisation. compress.grayscale.label=Apply Grayscale for Compression -compress.selectText.1=Manual Mode - From 1 to 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimisation level: -compress.selectText.3=4 (Terrible for text images) compress.selectText.4=Auto mode - Auto adjusts quality to get PDF to exact size compress.selectText.5=Expected PDF Size (e.g. 25MB, 10.8MB, 25KB) compress.submit=Compress diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index c94c02ec..7125d9e1 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -931,10 +931,9 @@ compress.title=Compress compress.header=Compress PDF compress.credit=This service uses qpdf for PDF Compress/Optimisation. compress.grayscale.label=Apply Grayscale for Compression -compress.selectText.1=Manual Mode - From 1 to 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimization level: -compress.selectText.3=4 (Terrible for text images) compress.selectText.4=Auto mode - Auto adjusts quality to get PDF to exact size compress.selectText.5=Expected PDF Size (e.g. 25MB, 10.8MB, 25KB) compress.submit=Compress diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 387c2233..8f1eafef 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -931,10 +931,9 @@ compress.title=Comprimir compress.header=Comprimir PDF compress.credit=Este servicio utiliza qpdf para compresión/optimización de PDF compress.grayscale.label=Aplicar escala de grises para compresión -compress.selectText.1=Modo manual - De 1 a 5 -compress.selectText.1.1=En los niveles de optimización 6 a 9, además de la compresión general de PDF, se reduce la resolución de la imagen para reducir aún más el tamaño del archivo. Los niveles más altos dan como resultado una mayor compresión de la imagen (hasta el 50 % del tamaño original), lo que permite lograr una mayor reducción del tamaño, pero con una posible pérdida de calidad en las imágenes. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nivel de optimización: -compress.selectText.3=4 (Terrible para imágenes de texto) compress.selectText.4=Modo automático: ajusta automáticamente la calidad para que el PDF tenga el tamaño exacto compress.selectText.5=Tamaño esperado del PDF (por ejemplo, 25 MB, 10.8 MB, 25 KB) compress.submit=Comprimir diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 89e673c8..267d0915 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -931,10 +931,9 @@ compress.title=Konprimatu compress.header=PDFa konprimatu compress.credit=Zerbitzu honek qpdf erabiltzen du PDFak komprimatzeko/optimizatzeko compress.grayscale.label=Aplikatu grisezko eskala konpresiorako -compress.selectText.1=Eskuz 1etik 5ra -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimizazio maila: -compress.selectText.3=4 (Izugarria testu-irudietarako) compress.selectText.4=Automatikoa: automatikoki egokitzen du kalitatea PDFak tamaina doi-doia izan dezan compress.selectText.5=PDFaren espero den tamaina (adibidez, 25 MB, 10.8 MB, 25 KB) compress.submit=Konprimatu diff --git a/src/main/resources/messages_fa_IR.properties b/src/main/resources/messages_fa_IR.properties index 88362a9c..961307bf 100644 --- a/src/main/resources/messages_fa_IR.properties +++ b/src/main/resources/messages_fa_IR.properties @@ -931,10 +931,9 @@ compress.title=فشرده‌سازی compress.header=فشرده‌سازی PDF compress.credit=این سرویس از qpdf برای فشرده‌سازی / بهینه‌سازی PDF استفاده می‌کند. compress.grayscale.label=اعمال مقیاس خاکستری برای فشرده‌سازی -compress.selectText.1=حالت دستی - از 1 تا 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=سطح بهینه‌سازی: -compress.selectText.3=۴ (خیلی بد برای تصاویر متنی) compress.selectText.4=حالت خودکار - کیفیت را به طور خودکار تنظیم می‌کند تا PDF به اندازه دقیق برسد compress.selectText.5=اندازه PDF مورد انتظار (مثلاً ۲۵MB، ۱۰.۸MB، ۲۵KB) compress.submit=فشرده‌سازی diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 70b0fe8c..72339b05 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -931,10 +931,9 @@ compress.title=Compresser un PDF compress.header=Compresser un PDF (lorsque c'est possible!) compress.credit=Ce service utilise qpdf pour la compression et l'optimisation des PDF. compress.grayscale.label=Appliquer l'échelle de gris pour la compression -compress.selectText.1=Mode manuel – de 1 à 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Niveau d'optimisation -compress.selectText.3=4 (terrible pour les images textuelles) compress.selectText.4=Mode automatique – ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte compress.selectText.5=Taille PDF attendue (par exemple, 25 MB, 10,8 MB, 25 KB) compress.submit=Compresser diff --git a/src/main/resources/messages_ga_IE.properties b/src/main/resources/messages_ga_IE.properties index 8ba2c246..35fda9d7 100644 --- a/src/main/resources/messages_ga_IE.properties +++ b/src/main/resources/messages_ga_IE.properties @@ -931,10 +931,9 @@ compress.title=Comhbhrúigh compress.header=Comhbhrúigh PDF compress.credit=Úsáideann an tseirbhís seo qpdf le haghaidh Comhbhrú/Optimization PDF. compress.grayscale.label=Cuir Scála Liath i bhFeidhm le Comhbhrú -compress.selectText.1=Mód Láimhe - Ó 1 go 5 -compress.selectText.1.1=I leibhéil optamaithe 6 go 9, chomh maith le comhbhrú ginearálta PDF, déantar réiteach íomhá a laghdú de réir scála chun méid comhaid a laghdú tuilleadh. Mar thoradh ar leibhéil níos airde tá comhbhrú íomhá níos láidre (suas le 50% den mhéid bunaidh), ag baint amach laghdú méide níos mó ach le caillteanas cáilíochta féideartha in íomhánna. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Leibhéal optamaithe: -compress.selectText.3=4 (Uafásach le haghaidh íomhánna téacs) compress.selectText.4=Mód uathoibríoch - Coigeartaíonn Auto cáilíocht chun PDF a fháil go dtí an méid cruinn compress.selectText.5=Méid PDF a bhfuiltear ag súil leis (m.sh. 25MB, 10.8MB, 25KB) compress.submit=Comhbhrúigh diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index fc303d94..3a90a04e 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -931,10 +931,9 @@ compress.title=कम्प्रेस compress.header=PDF कम्प्रेस करें compress.credit=यह सेवा PDF कम्प्रेस/अनुकूलन के लिए qpdf का उपयोग करती है। compress.grayscale.label=संपीड़न के लिए ग्रेस्केल लागू करें -compress.selectText.1=मैनुअल मोड - स्तर 1 से 4 -compress.selectText.1.1=अनुकूलन स्तर 6 से 9 में, सामान्य PDF कम्प्रेसन के अतिरिक्त, फ़ाइल आकार को और कम करने के लिए छवि रेज़ोल्यूशन को कम किया जाता है। उच्च स्तर पर छवियों का अधिक कम्प्रेसन होता है (मूल आकार का 50% तक), जिससे आकार में अधिक कमी आती है लेकिन छवियों की गुणवत्ता प्रभावित हो सकती है। +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=अनुकूलन स्तर: -compress.selectText.3=4 (टेक्स्ट छवियों के लिए बहुत खराब) compress.selectText.4=स्वतः मोड - PDF को सटीक आकार प्राप्त करने के लिए गुणवत्ता को स्वतः समायोजित करता है compress.selectText.5=अपेक्षित PDF आकार (जैसे 25MB, 10.8MB, 25KB) compress.submit=कम्प्रेस करें diff --git a/src/main/resources/messages_hr_HR.properties b/src/main/resources/messages_hr_HR.properties index 9c156adf..07fa8f08 100644 --- a/src/main/resources/messages_hr_HR.properties +++ b/src/main/resources/messages_hr_HR.properties @@ -931,10 +931,9 @@ compress.title=Komprimirajte compress.header=Komprimirajte PDF compress.credit=Ova usluga koristi qpdf za komprimiranje / optimizaciju PDF-a. compress.grayscale.label=Primijeni sivinu za kompresiju -compress.selectText.1=Ručni režim - Od 1 do 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nivo optimizacije: -compress.selectText.3=4 (Užasno za tekstualne slike) compress.selectText.4=Automatski način - Automatski prilagođava kvalitetu kako bi PDF dobio točnu veličinu compress.selectText.5=Očekivana veličina PDF-a (npr. 25 MB, 10,8 MB, 25 KB) compress.submit=Kompresiraj diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 667ae331..b7efbab7 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -931,10 +931,9 @@ compress.title=Tömörítés compress.header=PDF tömörítése compress.credit=Ez a szolgáltatás a qpdf használatával végzi a PDF tömörítését/optimalizálását. compress.grayscale.label=Szürkeárnyalatok alkalmazása tömörítéshez -compress.selectText.1=Kézi mód - 1-től 5-ig -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimalizálási szint: -compress.selectText.3=4 (Szöveges képeknél nem ajánlott) compress.selectText.4=Automatikus mód - Automatikusan állítja a minőséget a megadott PDF méret eléréséhez compress.selectText.5=Kívánt PDF méret (pl. 25MB, 10.8MB, 25KB) compress.submit=Tömörítés diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 6b3bec40..6b45f62a 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -931,10 +931,9 @@ compress.title=Kompres compress.header=Kompres PDF compress.credit=Layanan ini menggunakan qpdf untuk Kompresi/Optimalisasi PDF. compress.grayscale.label=Terapkan Skala Abu-Abu untuk Kompresi -compress.selectText.1=Mode Manual - Dari 1 hingga 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Tingkat Optimalisasi: -compress.selectText.3=4 (Buruk untuk gambar teks) compress.selectText.4=Mode Otomatis - Menyesuaikan kualitas secara otomatis untuk mendapatkan PDF dengan ukuran yang tepat compress.selectText.5=Ukuran PDF yang diharapkan (mis. 25MB, 10,8MB, 25KB) compress.submit=Kompres diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index f9acd9ec..91acc58c 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -931,10 +931,9 @@ compress.title=Comprimi compress.header=Comprimi PDF compress.credit=Questo servizio utilizza qpdf per la compressione/ottimizzazione dei PDF. compress.grayscale.label=Applica scala di grigio per la compressione -compress.selectText.1=Modalità manuale - Da 1 a 5 -compress.selectText.1.1=Nei livelli di ottimizzazione da 6 a 9, oltre alla compressione PDF generale, la risoluzione dell'immagine viene ridotta per ridurre ulteriormente le dimensioni del file. Livelli più alti comportano una compressione dell'immagine più forte (fino al 50% delle dimensioni originali), ottenendo una maggiore riduzione delle dimensioni ma con una potenziale perdita di qualità nelle immagini. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Livello di ottimizzazione: -compress.selectText.3=4 (Terribile per le immagini di testo) compress.selectText.4=Modalità automatica - Regola automaticamente la qualità per ottenere le dimensioni esatte del PDF compress.selectText.5=Dimensioni PDF previste (ad es. 25 MB, 10,8 MB, 25 KB) compress.submit=Comprimi diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index efbe1d50..ad64d817 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -931,10 +931,9 @@ compress.title=圧縮 compress.header=PDFを圧縮 compress.credit=本サービスはPDFの圧縮/最適化にqpdfを使用しています。 compress.grayscale.label=圧縮にグレースケールを適用する -compress.selectText.1=手動モード - 1から9 -compress.selectText.1.1=最適化レベル6~9では、一般的なPDF圧縮に加えて画像解像度が縮小され、ファイルサイズがさらに縮小されます。レベルが高くなると、画像圧縮が強化され (元のサイズの最大 50%)、サイズはさらに縮小されますが、画像の品質が低下する可能性があります。 +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=品質レベル: -compress.selectText.3=4 (テキスト画像は最悪) compress.selectText.4=自動モード - PDFを正確なサイズにするために品質を自動調整する。 compress.selectText.5=PDFサイズ (例:25MB, 10.8MB, 25KB) compress.submit=圧縮 diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 9df86030..fd4bc911 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -931,10 +931,9 @@ compress.title=압축 compress.header=PDF 압축 compress.credit=이 서비스는 PDF 압축/최적화를 위해 qpdf를 사용합니다. compress.grayscale.label=압축을 위해 그레이스케일 적용 -compress.selectText.1=수동 모드 - 1에서 5 -compress.selectText.1.1=최적화 레벨 6에서 9에서는 일반적인 PDF 압축 외에도 이미지 해상도가 낮아져 파일 크기가 더욱 감소합니다. 높은 레벨은 더 강력한 이미지 압축(원본 크기의 최대 50%)을 초래하여 더 큰 크기 감소를 달성하지만 이미지 품질이 저하될 수 있습니다. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=최적화 레벨: -compress.selectText.3=4 (텍스트 이미지에는 좋지 않음) compress.selectText.4=자동 모드 - PDF를 정확한 크기로 만들기 위해 품질 자동 조정 compress.selectText.5=예상 PDF 크기 (예: 25MB, 10.8MB, 25KB) compress.submit=압축 diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 190ced13..0701d6aa 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -931,10 +931,9 @@ compress.title=Comprimeren compress.header=PDF comprimeren compress.credit=Deze functie gebruikt qpdf voor PDF Compressie/Optimalisatie. compress.grayscale.label=Grijsschaal toepassen voor compressie -compress.selectText.1=Handmatige modus - Van 1 tot 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimalisatieniveau: -compress.selectText.3=4 (Verschrikkelijk voor tekstafbeeldingen) compress.selectText.4=Automatische modus - Past kwaliteit automatisch aan om PDF naar exacte grootte te krijgen compress.selectText.5=Verwachte PDF-grootte (bijv. 25MB, 10.8MB, 25KB) compress.submit=Comprimeren diff --git a/src/main/resources/messages_no_NB.properties b/src/main/resources/messages_no_NB.properties index bd67c528..079b0e96 100644 --- a/src/main/resources/messages_no_NB.properties +++ b/src/main/resources/messages_no_NB.properties @@ -931,10 +931,9 @@ compress.title=Komprimer compress.header=Komprimer PDF compress.credit=Denne tjenesten bruker qpdf for PDF-komprimering/optimisering. compress.grayscale.label=Bruk gråskala for komprimering -compress.selectText.1=Manuell modus - Fra 1 til 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimeringsnivå: -compress.selectText.3=4 (Dårlig for tekstbilder) compress.selectText.4=Automatisk modus - Justerer automatisk kvaliteten for å få PDF til nøyaktig størrelse compress.selectText.5=Forventet PDF-størrelse (f.eks. 25MB, 10.8MB, 25KB) compress.submit=Komprimer diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index ec5c6f0d..8366d2f7 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -931,10 +931,9 @@ compress.title=Kompresuj compress.header=Kompresuj PDF compress.credit=Ta usługa używa qpdf do kompresji/optymalizacji PDF. compress.grayscale.label=Zastosuj skalę szarości do kompresji -compress.selectText.1=Tryb ręczny - Od 1 do 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Poziom optymalizacji: -compress.selectText.3=4 (Duże dla obrazów tekstowych) compress.selectText.4=Tryb automatyczny - Automatycznie dostosowuje jakość, aby uzyskać dokładny rozmiar pliku PDF compress.selectText.5=Oczekiwany rozmiar pliku PDF (np. 25 MB, 10,8 MB, 25 KB) compress.submit=Kompresuj diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 269f4f06..54b3cf03 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -931,10 +931,9 @@ compress.title=Comprimir compress.header=Comprimir compress.credit=Este serviço usa o Qpdf para compressão/otimização de PDF. compress.grayscale.label=Aplicar escala de cinza para compressão -compress.selectText.1=Modo Manual - De 1 a 9 -compress.selectText.1.1=Nos níveis de otimização 6-9, além da compressão normal do PDF, a resolução das imagens são reduzidas, para diminuir ainda mais o tamanho do arquivo. Quanto maior o nível, maior a compressão da imagem (até 50% do tamanho original), resultando em tamanho menor do arquivo, porém com menor qualidade nas imagens. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nível de Otimização: -compress.selectText.3=4 (Pior para imagens de texto) compress.selectText.4=Modo Automático - Ajusta automaticamente a qualidade para atingir o tamanho exato desejado compress.selectText.5=Tamanho esperado do PDF (por exemplo, 25 MB, 10,8 MB, 25 KB): compress.submit=Comprimir diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 3d0623ba..56a50624 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -931,10 +931,9 @@ compress.title=Comprimir compress.header=Comprimir PDF compress.credit=Este serviço usa qpdf para Compressão/Otimização de PDF. compress.grayscale.label=Aplicar escala de cinzentos para compressão -compress.selectText.1=Modo Manual - De 1 a 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nível de otimização: -compress.selectText.3=4 (Terrível para imagens de texto) compress.selectText.4=Modo automático - Ajusta automaticamente a qualidade para obter o PDF com o tamanho exato compress.selectText.5=Tamanho esperado do PDF (ex. 25MB, 10.8MB, 25KB) compress.submit=Comprimir diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 0740d518..d5dea360 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -931,10 +931,9 @@ compress.title=Comprimare compress.header=Comprimare PDF compress.credit=Acest serviciu utilizează qpdf pentru comprimarea/optimizarea PDF-urilor. compress.grayscale.label=Aplicare scală de gri pentru compresie -compress.selectText.1=Modul manual - de la 1 la 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nivel de optimizare: -compress.selectText.3=4 (Îngrozitor pentru imaginile text) compress.selectText.4=Mod automat - ajustează automat calitatea pentru a aduce PDF-ul la dimensiunea exactă compress.selectText.5=Dimensiunea PDF așteptată (de ex. 25MB, 10.8MB, 25KB) compress.submit=Comprimare diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index b32b556b..708a08bc 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -931,10 +931,9 @@ compress.title=Сжать compress.header=Сжать PDF compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF. compress.grayscale.label=Применить шкалу серого для сжатия -compress.selectText.1=Ручной режим - от 1 до 5 -compress.selectText.1.1=На уровнях оптимизации от 6 до 9, помимо общего сжатия PDF, разрешение изображений уменьшается для дальнейшего сокращения размера файла. Более высокие уровни приводят к более сильному сжатию изображений (до 50% от исходного размера), обеспечивая большее уменьшение размера, но с возможной потерей качества изображений. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Уровень оптимизации: -compress.selectText.3=4 (Ужасно для текстовых изображений) compress.selectText.4=Автоматический режим - автоматически настраивает качество для получения точного размера PDF compress.selectText.5=Ожидаемый размер PDF (например, 25MB, 10.8MB, 25KB) compress.submit=Сжать diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties index 7e66137e..70f40710 100644 --- a/src/main/resources/messages_sk_SK.properties +++ b/src/main/resources/messages_sk_SK.properties @@ -931,10 +931,9 @@ compress.title=Komprimovať compress.header=Komprimovať PDF compress.credit=Táto služba používa qpdf pre kompresiu/optimalizáciu PDF. compress.grayscale.label=Použiť odtiene šedej na kompresiu -compress.selectText.1=Manuálny režim - Od 1 do 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Úroveň optimalizácie: -compress.selectText.3=4 (Hrozné pre textové obrázky) compress.selectText.4=Automatický režim - Automaticky upravuje kvalitu, aby sa PDF dostalo na presnú veľkosť compress.selectText.5=Očakávaná veľkosť PDF (napr. 25MB, 10.8MB, 25KB) compress.submit=Komprimovať diff --git a/src/main/resources/messages_sl_SI.properties b/src/main/resources/messages_sl_SI.properties index 371794e5..a6e5454c 100644 --- a/src/main/resources/messages_sl_SI.properties +++ b/src/main/resources/messages_sl_SI.properties @@ -931,10 +931,9 @@ compress.title=Stisnite compress.header=Stisnite PDF compress.credit=Ta storitev uporablja qpdf za stiskanje/optimizacijo PDF. compress.grayscale.label=Uporabi sivinsko lestvico za stiskanje -compress.selectText.1=Ročni način - Od 1 do 5 -compress.selectText.1.1=Na stopnjah optimizacije od 6 do 9 je poleg splošnega stiskanja PDF ločljivost slike zmanjšana, da se dodatno zmanjša velikost datoteke. Višje ravni povzročijo močnejše stiskanje slike (do 50 % prvotne velikosti), s čimer se doseže večje zmanjšanje velikosti, vendar s potencialno izgubo kakovosti slik. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Raven optimizacije: -compress.selectText.3=4 (Grozno za besedilne slike) compress.selectText.4=Samodejni način - Samodejno prilagodi kakovost, da dobi PDF na natančno velikost compress.selectText.5=Pričakovana velikost PDF (npr. 25 MB, 10,8 MB, 25 KB) compress.submit=Stisnite diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index 927012e4..ff569de8 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -931,10 +931,9 @@ compress.title=Kompresija compress.header=Kompresuj PDF compress.credit=Ova usluga koristi qpdf za kompresiju / optimizaciju PDF-a. compress.grayscale.label=Primeni sivinu za kompresiju -compress.selectText.1=Ručni režim - Od 1 do 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Nivo optimizacije: -compress.selectText.3=4 (Užasno za tekstualne slike) compress.selectText.4=Automatski režim - Automatski prilagođava kvalitet kako bi PDF bio tačne veličine compress.selectText.5=Očekivana veličina PDF-a (npr. 25MB, 10.8MB, 25KB) compress.submit=Kompresuj diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 0d6cc56c..0d119661 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -931,10 +931,9 @@ compress.title=Komprimera compress.header=Komprimera PDF compress.credit=Denna tjänst använder qpdf för PDF-komprimering/optimering. compress.grayscale.label=Tillämpa gråskala för komprimering -compress.selectText.1=Manuellt läge - Från 1 till 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimeringsnivå: -compress.selectText.3=4 (Fruktansvärt för textbilder) compress.selectText.4=Autoläge - Autojusterar kvaliteten för att få PDF till exakt storlek compress.selectText.5=Förväntad PDF-storlek (t.ex. 25MB, 10,8MB, 25KB) compress.submit=Komprimera diff --git a/src/main/resources/messages_th_TH.properties b/src/main/resources/messages_th_TH.properties index 93578998..bf4b1130 100644 --- a/src/main/resources/messages_th_TH.properties +++ b/src/main/resources/messages_th_TH.properties @@ -931,10 +931,9 @@ compress.title=บีบอัด compress.header=บีบอัด PDF compress.credit=บริการนี้ใช้ qpdf สำหรับการบีบอัด/การเพิ่มประสิทธิภาพ PDF compress.grayscale.label=ใช้ระดับสีเทาสำหรับการบีบอัด -compress.selectText.1=โหมดแมนนวล - จาก 1 ถึง 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=ระดับการเพิ่มประสิทธิภาพ: -compress.selectText.3=4 (ไม่ดีสำหรับภาพข้อความ) compress.selectText.4=โหมดอัตโนมัติ - ปรับคุณภาพอัตโนมัติเพื่อให้ PDF ตรงกับขนาดที่ต้องการ compress.selectText.5=ขนาด PDF ที่คาดหวัง (เช่น 25MB, 10.8MB, 25KB) compress.submit=บีบอัด diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 4835d931..7ea69e0a 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -931,10 +931,9 @@ compress.title=Sıkıştır compress.header=PDF'i Sıkıştır compress.credit=Bu hizmet PDF Sıkıştırma/Optimizasyonu için qpdf kullanır. compress.grayscale.label=Sıkıştırma için Gri Ton Uygula -compress.selectText.1=Manuel Mod - 1'den 5'e -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimizasyon seviyesi: -compress.selectText.3=4 (Metin resimleri için hiç uygun değil) compress.selectText.4=Otomatik mod - PDF'in tam boyutuna ulaşmak için kaliteyi otomatik ayarlar compress.selectText.5=Beklenen PDF Boyutu (örn. 25MB, 10.8MB, 25KB) compress.submit=Sıkıştır diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index dd0fb13e..61938dba 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -931,10 +931,9 @@ compress.title=Стиснути compress.header=Стиснути PDF compress.credit=Ця служба використовує qpdf для стиснення/оптимізації PDF. compress.grayscale.label=Застосувати відтінки сірого для стиснення -compress.selectText.1=Ручний режим - від 1 до 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Рівень оптимізації: -compress.selectText.3=4 (Жахливо для текстових зображень) compress.selectText.4=Автоматичний режим - автоматично налаштовує якість для отримання PDF точного розміру compress.selectText.5=Очікуваний розмір PDF (наприклад, 25 МБ, 10,8 МБ, 25 КБ) compress.submit=Стиснути diff --git a/src/main/resources/messages_vi_VN.properties b/src/main/resources/messages_vi_VN.properties index 912c757e..0c76342b 100644 --- a/src/main/resources/messages_vi_VN.properties +++ b/src/main/resources/messages_vi_VN.properties @@ -931,10 +931,9 @@ compress.title=Nén compress.header=Nén PDF compress.credit=Dịch vụ này sử dụng qpdf để Nén/Tối ưu hóa PDF. compress.grayscale.label=Áp dụng thang độ xám để nén -compress.selectText.1=Chế độ thủ công - Từ 1 đến 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Mức độ tối ưu hóa: -compress.selectText.3=4 (Tệ cho hình ảnh văn bản) compress.selectText.4=Chế độ tự động - Tự động điều chỉnh chất lượng để đạt được kích thước PDF chính xác compress.selectText.5=Kích thước PDF mong muốn (ví dụ: 25MB, 10.8MB, 25KB) compress.submit=Nén diff --git a/src/main/resources/messages_zh_BO.properties b/src/main/resources/messages_zh_BO.properties index e7f3854d..3a2555e0 100644 --- a/src/main/resources/messages_zh_BO.properties +++ b/src/main/resources/messages_zh_BO.properties @@ -931,10 +931,9 @@ compress.title=སྡུད་སྒྲིལ། compress.header=PDF སྡུད་སྒྲིལ། compress.credit=ཞབས་ཞུ་འདིས་ PDF སྡུད་སྒྲིལ་/ཡར་རྒྱས་གཏོང་བའི་ཆེད་དུ་ qpdf བེད་སྤྱོད་བྱེད་པ། compress.grayscale.label=应用灰度进行压缩 -compress.selectText.1=Manual Mode - From 1 to 4 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=Optimisation level: -compress.selectText.3=4 (Terrible for text images) compress.selectText.4=རང་འགུལ་རྣམ་པ། - PDF ཏག་ཏག་ཆེ་ཆུང་ཚད་ལ་འཁྲིད་པའི་ཆེད་དུ་སྤུས་ཚད་རང་འགུལ་གྱིས་སྙོམ་སྒྲིག་བྱེད་པ། compress.selectText.5=རེ་བའི་ PDF ཆེ་ཆུང་། (དཔེར་ན། 25MB, 10.8MB, 25KB) compress.submit=སྡུད་སྒྲིལ། diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 071a5b35..d51054ed 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -931,10 +931,9 @@ compress.title=压缩 compress.header=压缩 PDF compress.credit=此服务使用qpdf进行 PDF 压缩/优化。 compress.grayscale.label=应用灰度进行压缩 -compress.selectText.1=手动模式 - 从 1 到 5 -compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=优化级别: -compress.selectText.3=4(文本图像很糟糕) compress.selectText.4=自动模式 - 自动调整质量以获得精确大小的PDF compress.selectText.5=预期PDF大小(例如:25MB、10.8MB、25KB) compress.submit=压缩 diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 1f2c1b37..19b06990 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -931,10 +931,9 @@ compress.title=壓縮 compress.header=壓縮 PDF compress.credit=此服務使用 qpdf 進行 PDF 壓縮/最佳化。 compress.grayscale.label=應用灰階進行壓縮 -compress.selectText.1=手動模式 - 從 1 到 5 -compress.selectText.1.1=在最佳化等級 6 到 9 時,除了一般 PDF 壓縮外,圖片解析度也會降低以進一步減少檔案大小。較高的壓縮等級會進行更高強度的圖片壓縮(最多可壓縮到原始大小的 50%),以達到更高的壓縮率,但可能會影響圖片品質。 +compress.selectText.1=Compression Settings +compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality compress.selectText.2=最佳化等級: -compress.selectText.3=4(對於含有文字的影像來說結果很糟) compress.selectText.4=自動模式 - 自動調整品質使 PDF 達到指定的檔案大小 compress.selectText.5=指定的 PDF 檔案大小(例如 25MB, 10.8MB, 25KB) compress.submit=壓縮 diff --git a/src/main/resources/templates/misc/compress-pdf.html b/src/main/resources/templates/misc/compress-pdf.html index e76a4b1c..d5a8e474 100644 --- a/src/main/resources/templates/misc/compress-pdf.html +++ b/src/main/resources/templates/misc/compress-pdf.html @@ -26,7 +26,7 @@

-

+