GroupDocs.Conversion for Java 26.10 Release Notes
Major Features
This release introduces new formats, metadata controls, and conversion fixes:
- Added conversion from and to ISO archives.
- Added conversion from and to UUE (uuencode), with the format pairs listed below.
- Added HEIC image conversion through a configurable decoder connector.
- Added options to remove built-in and custom document properties when converting WordProcessing, Spreadsheet, Presentation, and PDF documents.
- Improved file type detection, page sizing, and preservation of source document margins.
- Fixed diagram to image conversion on macOS and Linux, MPP custom columns, embedded text extraction, and PDF page selection.
- Fixed a regression in 26.9 where the first License.setLicense() call threw IllegalAccessError and left the library in evaluation mode.
Full List of Issues Covering all Changes in this Release
| Key | Category | Summary |
|---|---|---|
| CONVERSIONNET-7079 | Feature | Convert ZIP, 7z, TAR, and CPIO archives to ISO |
| CONVERSIONNET-7078 | Feature | Convert ISO archives to ZIP, 7z, TAR, and CPIO |
| CONVERSIONNET-7154 | Feature | Convert UUE to Bzip2, Gzip, Lzip, LZMA, XZ, Unix Z, Zstandard, UUE, and supported archive formats |
| CONVERSIONNET-7155 | Feature | Convert Bzip2, Gzip, LZMA, XZ, Unix Z, and Zstandard to UUE |
| CONVERSIONNET-7140 | Feature | Support conversion from HEIC images through a decoder connector |
| CONVERSIONNET-7161 | Enhancement | Improve file type detection when LoadOptions do not specify a format |
| CONVERSIONNET-7131 | Enhancement | Remove metadata when converting from PDF documents |
| CONVERSIONNET-7130 | Enhancement | Remove metadata when converting from Presentation documents |
| CONVERSIONNET-7129 | Enhancement | Remove metadata when converting from Spreadsheet documents |
| CONVERSIONNET-7128 | Enhancement | Remove metadata when converting from WordProcessing documents |
| CONVERSIONNET-7089 | Bug | Respect the file type specified in LoadOptions when converting by file name |
| CONVERSIONNET-7088 | Bug | Fix diagram to image conversion on macOS and Linux |
| CONVERSIONNET-7080 | Bug | Apply the requested page size correctly |
| CONVERSIONNET-6905 | Bug | Include custom MPP columns in conversion output |
| CONVERSIONNET-6969 | Bug | Fix HTML to RTF conversion through PDF |
| CONVERSIONNET-7138 | Bug | Fix extraction of native and converted text files embedded in Word documents |
| CONVERSIONNET-7183 | Bug | Fix PDF document information retrieval |
| CONVERSIONJAVA-3265 | Task | Implement cancellation tokens in conversion operations and savers |
| CONVERSIONJAVA-3266 | Task | Make conversion cancellable |
| CONVERSIONJAVA-3300 | Bug | Fix IllegalAccessError on the first License.setLicense() call, which left the library in evaluation mode (regression in 26.9) |
Additional improvements and fixes:
- Preserved source document margins when conversion margins are unspecified and corrected spreadsheet to PDF page setup.
- Corrected page range handling for malformed PDFs and the order in which unselected PDF pages are removed.
- Improved cancellation propagation through conversion operations and savers; cancellation exceptions are propagated without wrapping.
- Fixed compression format handling in load options.
Public API and backward incompatible changes
ISO and UUE conversion support
Use CompressionConvertOptions.setFormat(...) with CompressionFileType.Iso or CompressionFileType.Uue.
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.filetypes.CompressionFileType;
import com.groupdocs.conversion.options.convert.CompressionConvertOptions;
CompressionConvertOptions options = new CompressionConvertOptions();
options.setFormat(CompressionFileType.Iso);
try (Converter converter = new Converter("input.zip")) {
converter.convert("converted.iso", options);
}
ISO supports conversion to and from ZIP, 7z, TAR, and CPIO, and ISO to ISO conversion.
UUE can be converted to Bzip2, Gzip, Lzip, LZMA, XZ, Unix Z, Zstandard, UUE, ZIP, 7z, TAR, CPIO, and ISO. Conversion to UUE is supported from Bzip2, Gzip, LZMA, XZ, Unix Z, and Zstandard. Lzip to UUE is not supported.
HEIC conversion support
Configure an implementation of com.groupdocs.conversion.integration.heic.IHeicConnector using
RasterImageLoadOptions.setHeicConnector(...), and pass those load options to Converter when loading a HEIC image.
The connector supplies the HEIC decoder; a decoder implementation is required for HEIC conversion.
IHeicConnector.getBitmapInfo(InputStream) returns a decoded bitmap. Its default
getDecodedBitmapInfo(InputStream) method adapts that bitmap to com.groupdocs.conversion.contracts.BitmapInfo.
Connectors can override the latter method to supply decoded pixel data directly.
Metadata removal
WordProcessingLoadOptions, SpreadsheetLoadOptions, PresentationLoadOptions, and PdfLoadOptions implement
IMetadataLoadOptions and expose setClearBuiltInDocumentProperties(boolean) and
setClearCustomDocumentProperties(boolean), with corresponding getters. Both options default to false.
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.WordProcessingLoadOptions;
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.setClearBuiltInDocumentProperties(true);
loadOptions.setClearCustomDocumentProperties(true);
try (Converter converter = new Converter("input.docx", () -> loadOptions)) {
converter.convert("converted.pdf", new PdfConvertOptions());
}
Nullable page margins and spreadsheet defaults
Margin getters in IPageMarginConvertOptions, PdfConvertOptions, and WordProcessingConvertOptions now return
Float instead of float. Margins default to null, which preserves source document margins where applicable.
The setters accept nullable Float values; primitive float setter overloads remain available.
Recompile applications against the updated library. Code that unboxes a margin getter result must handle null.
Set explicit margins to retain a fixed-margin layout.
SpreadsheetLoadOptions.getAllColumnsInOnePagePerSheet() and getSkipEmptyRowsAndColumns() now default to false.
Set them explicitly to true if your application requires all columns on one page or omission of empty rows and columns.
Email load options
Removed the obsolete EmailLoadOptions.getDisplayEmailAddress() and setDisplayEmailAddress(boolean) methods.
Use getDisplayFromEmailAddress() and setDisplayFromEmailAddress(boolean) instead.
Load option format detection
Load options covering multiple file types no longer assign a default format. When Format is unspecified, the source
format is detected from the input. An explicitly specified format is respected when loading by file name.