diff --git a/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java b/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java index 86037d8f..999f44b8 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java +++ b/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java @@ -50,9 +50,9 @@ public class S3DocxProcessor { try (S3Object s3Object = s3Client.getObject(bucket, key); InputStream originalStream = new BufferedInputStream(s3Object.getObjectContent())) { byte[] updatedBytes=null; - if (isDocxFile(originalStream)) { - log.warn("Skipping non-DOCX file from S3: bucket={}, key={}", bucket, key); - updatedBytes = replacePlaceholders(originalStream, replacements); + if(Boolean.FALSE.equals(key.endsWith(".zip")) && (replacements!=null && Boolean.FALSE.equals(replacements.isEmpty())) && isDocxFile(originalStream)) { + log.warn("Skipping non-DOCX file from S3: bucket={}, key={}", bucket, key); + updatedBytes = replacePlaceholders(originalStream, replacements); }else { // non-DOCX → just copy raw stream updatedBytes = originalStream.readAllBytes();