我们很高兴宣布 GroupDocs.Conversion for Java 26.10 已于 2026年10月 发布。此版本引入了对 ISO 和 UUE(uuencode)归档转换的支持、通过可配置的解码器连接器进行 HEIC 图像转换,以及在将 WordProcessing、Spreadsheet、Presentation 和 PDF 文档转换时删除内置和自定义文档元数据的功能。它还包括对文件类型检测、页面尺寸、边距保留的改进,并修复了若干错误——包括在 26.9 版本中出现的关键回归,即首次调用 License.setLicense() 失败。
本次发布的新功能
- [功能] 将 ZIP、7z、TAR 和 CPIO 归档转换为 ISO (CONVERSIONNET-7079)
- [功能] 将 ISO 归档转换为 ZIP、7z、TAR 和 CPIO (CONVERSIONNET-7078)
- [功能] 将 UUE 转换为 Bzip2、Gzip、Lzip、LZMA、XZ、Unix Z、Zstandard、UUE 以及受支持的归档格式 (CONVERSIONNET-7154)
- [功能] 将 Bzip2、Gzip、LZMA、XZ、Unix Z 和 Zstandard 转换为 UUE (CONVERSIONNET-7155)
- [功能] 通过解码器连接器支持从 HEIC 图像进行转换 (CONVERSIONNET-7140)
- [增强] 当 LoadOptions 未指定格式时改进文件类型检测 (CONVERSIONNET-7161)
- [增强] 从 PDF 文档转换时删除元数据 (CONVERSIONNET-7131)
- [增强] 从 演示文稿 文档转换时删除元数据 (CONVERSIONNET-7130)
- [增强] 从 电子表格 文档转换时删除元数据 (CONVERSIONNET-7129)
- [增强] 从 文字处理 文档转换时删除元数据 (CONVERSIONNET-7128)
- [错误] 在按文件名转换时遵循 LoadOptions 中指定的文件类型 (CONVERSIONNET-7089)
- [错误] 修复 macOS 和 Linux 上的图表转图像转换 (CONVERSIONNET-7088)
- [错误] 正确应用请求的页面尺寸 (CONVERSIONNET-7080)
- [错误] 在转换输出中包含自定义 MPP 列 (CONVERSIONNET-6905)
- [错误] 修复通过 PDF 的 HTML 到 RTF 转换 (CONVERSIONNET-6969)
- [错误] 修复从 Word 文档中提取原生和转换后的嵌入文本文件 (CONVERSIONNET-7138)
- [错误] 修复 PDF 文档信息检索 (CONVERSIONNET-7183)
- [任务] 在转换操作和保存器中实现取消令牌 (CONVERSIONJAVA-3265)
- [任务] 使转换可取消 (CONVERSIONJAVA-3266)
- [错误] 修复首次调用 License.setLicense() 时的 IllegalAccessError,该错误导致库处于评估模式(26.9 中的回归) (CONVERSIONJAVA-3300)
公共 API 更改
ISO 和 UUE 转换支持
使用 CompressionConvertOptions.setFormat(...) 并传入 CompressionFileType.Iso 或 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 支持与 ZIP、7z、TAR 和 CPIO 之间的相互转换,以及 ISO 到 ISO 的转换。
UUE 可以转换为 Bzip2、Gzip、Lzip、LZMA、XZ、Unix Z、Zstandard、UUE、ZIP、7z、TAR、CPIO 和 ISO。
支持从 Bzip2、Gzip、LZMA、XZ、Unix Z 和 Zstandard 转换为 UUE。不支持 Lzip 转换为 UUE。
HEIC 转换支持
使用 RasterImageLoadOptions.setHeicConnector(...) 配置 com.groupdocs.conversion.integration.heic.IHeicConnector 的实现,并在加载 HEIC 图像时将这些加载选项传递给 Converter。
该连接器提供 HEIC 解码器;HEIC 转换需要解码器实现。
IHeicConnector.getBitmapInfo(InputStream) 返回已解码的位图。其默认的 getDecodedBitmapInfo(InputStream) 方法将该位图适配为 com.groupdocs.conversion.contracts.BitmapInfo。连接器可以覆盖后者方法,以直接提供已解码的像素数据。
元数据删除
WordProcessingLoadOptions、SpreadsheetLoadOptions、PresentationLoadOptions 和 PdfLoadOptions 实现 IMetadataLoadOptions,并公开 setClearBuiltInDocumentProperties(boolean) 和 setClearCustomDocumentProperties(boolean),以及相应的 getter。两个选项默认值为 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());
}
可空页面边距和电子表格默认值
IPageMarginConvertOptions、PdfConvertOptions 和 WordProcessingConvertOptions 中的边距 getter 现在返回 Float 而不是 float。边距默认值为 null,在适用时保留源文档的边距。setter 接受可空的 Float 值;原始的 float setter 重载仍然可用。
请针对更新后的库重新编译应用程序。对边距 getter 结果进行拆箱的代码必须处理 null。设置显式边距以保持固定边距布局。
SpreadsheetLoadOptions.getAllColumnsInOnePagePerSheet() 和 getSkipEmptyRowsAndColumns() 现在默认值为 false。如果您的应用程序需要所有列在同一页或省略空行和列,请显式设置为 true。
电子邮件加载选项
移除了过时的 EmailLoadOptions.getDisplayEmailAddress() 和 setDisplayEmailAddress(boolean) 方法。请改用 getDisplayFromEmailAddress() 和 setDisplayFromEmailAddress(boolean)。
加载选项格式检测
覆盖多种文件类型的加载选项不再分配默认格式。当 Format 未指定时,源格式将从输入中检测。按文件名加载时,会尊重显式指定的格式。
新功能
此版本引入了新格式、元数据控制和转换修复:
- 添加了 ISO 归档的相互转换。
- 添加了 UUE(uuencode)的相互转换,格式对应关系见下文。
- 通过可配置的解码器连接器添加了 HEIC 图像转换。
- 添加了在转换 WordProcessing、Spreadsheet、Presentation 和 PDF 文档时删除内置和自定义文档属性的选项。
- 改进了文件类型检测、页面尺寸以及源文档边距的保留。
- 修复了 macOS 和 Linux 上的图表转图像转换、MPP 自定义列、嵌入文本提取和 PDF 页面选择问题。
- 修复了 26.9 中的回归,即首次调用 License.setLicense() 抛出 IllegalAccessError 并导致库处于评估模式。
代码示例
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);
}
如何获取更新
Maven
通过 Maven 升级到最新的 GroupDocs.Conversion 包:
GroupDocs.Conversion for Java 26.10
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>26.10</version>
</dependency>