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

KeyCategorySummary
CONVERSIONNET-7079FeatureConvert ZIP, 7z, TAR, and CPIO archives to ISO
CONVERSIONNET-7078FeatureConvert ISO archives to ZIP, 7z, TAR, and CPIO
CONVERSIONNET-7154FeatureConvert UUE to Bzip2, Gzip, Lzip, LZMA, XZ, Unix Z, Zstandard, UUE, and supported archive formats
CONVERSIONNET-7155FeatureConvert Bzip2, Gzip, LZMA, XZ, Unix Z, and Zstandard to UUE
CONVERSIONNET-7140FeatureSupport conversion from HEIC images through a decoder connector
CONVERSIONNET-7161EnhancementImprove file type detection when LoadOptions do not specify a format
CONVERSIONNET-7131EnhancementRemove metadata when converting from PDF documents
CONVERSIONNET-7130EnhancementRemove metadata when converting from Presentation documents
CONVERSIONNET-7129EnhancementRemove metadata when converting from Spreadsheet documents
CONVERSIONNET-7128EnhancementRemove metadata when converting from WordProcessing documents
CONVERSIONNET-7089BugRespect the file type specified in LoadOptions when converting by file name
CONVERSIONNET-7088BugFix diagram to image conversion on macOS and Linux
CONVERSIONNET-7080BugApply the requested page size correctly
CONVERSIONNET-6905BugInclude custom MPP columns in conversion output
CONVERSIONNET-6969BugFix HTML to RTF conversion through PDF
CONVERSIONNET-7138BugFix extraction of native and converted text files embedded in Word documents
CONVERSIONNET-7183BugFix PDF document information retrieval
CONVERSIONJAVA-3265TaskImplement cancellation tokens in conversion operations and savers
CONVERSIONJAVA-3266TaskMake conversion cancellable
CONVERSIONJAVA-3300BugFix 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.