We’re pleased to announce the GroupDocs.Redaction for Java 25.12 release, available as of December 2025. This point release resolves a single issue that affected the handling of PowerPoint Template Macro‑enabled (POTM) files after redaction.
What’s new in this release
| Issue ID | Summary | Category |
|---|---|---|
| REDACTIONJAVA-246 | Unable to open POTM file after redaction | Fix |
Fix details
When a presentation was loaded from a stream, redacted, and subsequently saved, the output was incorrectly converted to PPTX format regardless of the original file type. The fix ensures that the redacted file retains the original POTM format.
Code example (fixed behavior)
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.redactions.ExactPhraseRedaction;
import com.groupdocs.redaction.redactions.ReplacementOptions;
import com.groupdocs.redaction.options.RasterizationOptions;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class RedactPotm {
public static void main(String[] args) throws Exception {
// Define input and output file paths
Path inputPath = Paths.get("source.potm");
Path outputPath = Paths.get("redacted.potm");
// Open input stream, create redactor, and prepare output stream
// All resources are automatically closed when exiting the try block
try (final InputStream inputStream = Files.newInputStream(inputPath);
final Redactor redactor = new Redactor(inputStream);
final OutputStream outputStream = Files.newOutputStream(outputPath)) {
// Configure redaction: define text to redact and replacement string
String textToRedact = "TEXT";
String redactWith = "****";
// Create replacement options and exact phrase redaction
ReplacementOptions textReplacement = new ReplacementOptions(redactWith);
ExactPhraseRedaction textRedaction = new ExactPhraseRedaction(textToRedact, textReplacement);
// Apply the redaction to the document
redactor.apply(textRedaction);
// Configure rasterization options (disable rasterization for presentations)
RasterizationOptions rasterizationOptions = new RasterizationOptions();
rasterizationOptions.setEnabled(false);
// Save the redacted presentation
// Fixed: Now preserves the original POTM format instead of converting to PPTX
redactor.save(outputStream, rasterizationOptions);
}
}
}
The example demonstrates the corrected workflow: loading a POTM file from a stream, applying a simple text redaction, and saving the result back to POTM without unwanted format conversion.
How to get the update
Update the dependency version in your pom.xml file:
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>25.12</version>
</dependency>
</dependencies>
Or download the package directly from our Maven repository:
https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-redaction/25.12/
Additional resources
Feedback
We value your input! If you have questions, encounter issues, or have suggestions, please visit our Free Support Forum. Our team is ready to assist.