我們很高興宣佈 GroupDocs.Conversion for Java v26.9 的發布。此 2026 年 9 月的版本引入了文件轉換的協同取消功能,新增了壓縮流格式之間的轉換,並提供了穩定的 Java 模組名稱。它同時更新了宣傳的壓縮檔案轉換配對,因而在動態選擇轉換的應用程式升級前應檢查可用的配對。
此版本的新功能
以下 .NET 問題鍵標示了移植至 Java 的功能;摘要說明了此 Java 版本支援的格式。
| 鍵 | 類別 | 變更 |
|---|---|---|
| CONVERSIONNET-6880 | 功能 | 支援透過取消令牌的協同取消 |
| CONVERSIONNET-7032 | 功能 | 將 Bzip2、Gzip、XZ 與 Unix Z 轉換為 LZMA |
| CONVERSIONNET-7019 | 功能 | 將 LZMA 轉換為 Bzip2 與 Gzip |
| CONVERSIONNET-7020 | 功能 | 將 Unix Z 轉換為 Bzip2 與 Gzip |
| CONVERSIONNET-7030 | 功能 | 將 Bzip2、Gzip、LZMA 與 Unix Z 轉換為 XZ |
| CONVERSIONNET-7029 | 功能 | 將 XZ 轉換為 Bzip2 與 Gzip |
| CONVERSIONNET-7028 | 功能 | 將 Gzip 轉換為 Bzip2 |
| CONVERSIONNET-7021 | 功能 | 將 Bzip2 轉換為 Gzip |
| CONVERSIONJAVA-3238 | 任務 | 解決 groupdocs-conversion-26.7.jar 中的套件驗證問題 |
此發行的 JAR 亦宣告了 Automatic-Module-Name: com.groupdocs.conversion,供使用 Java 模組系統的應用程式使用。
公共 API 變更
協同取消
兩個新類別 com.groupdocs.conversion.CancellationToken 與 com.groupdocs.conversion.CancellationTokenSource 讓應用程式可以請求停止轉換。所有公開的 Converter.convert(...) 與 Converter.convertPageByPage(...) 方法現在都有帶有最後一個 CancellationToken 參數的重載。流暢的轉換執行器也新增了 ConversionExecutor.convert(CancellationToken)。
既有的重載仍然可用,且會使用 CancellationToken.NONE,因此現有的轉換呼叫不需要變更。
建立一個 token source,並將其 token 傳遞給轉換:
import com.groupdocs.conversion.CancellationTokenSource;
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import java.util.concurrent.CancellationException;
CancellationTokenSource cancellationSource = new CancellationTokenSource();
try (Converter converter = new Converter("input.docx")) {
// 應用程式的取消處理程式可以在另一個執行緒中呼叫 cancellationSource.cancel()
// 於此轉換執行期間。
converter.convert(
"converted.pdf",
new PdfConvertOptions(),
cancellationSource.getToken()
);
} catch (CancellationException ex) {
System.out.println("Conversion was cancelled.");
}
當使用者取消工作或應用程式決定停止時,呼叫 cancellationSource.cancel()。取消會在 轉換操作之間 檢查:已在執行的操作會完成後才觀察到取消。隨後會拋出 java.util.concurrent.CancellationException。
已寫入的輸出不會回滾,因此在取消工作時應處理部分輸出。已取消的 source 無法重設;若有新工作請建立新 source。傳遞 null token 會拋出 NullPointerException。
壓縮流轉換
版本 26.9 支援以下壓縮流來源與目標,亦包括相同格式的轉換:
| 方向 | 支援的格式 |
|---|---|
| 來源 | Bzip2(Bz2)、Gzip(Gz 與 Gzip)、LZMA(Lzma)、XZ(Xz)、Unix Z(Z) |
| 目標 | Bzip2、Gzip、LZMA、XZ |
Unix Z 在此版本中僅支援作為來源,並非目標。
使用 CompressionConvertOptions.setFormat(...) 來選擇輸出格式。例如,將 Gzip 流轉換為 LZMA:
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.Lzma);
try (Converter converter = new Converter("input.gz")) {
converter.convert("converted.lzma", options);
}
壓縮檔案轉換相容性
宣傳的壓縮檔案轉換配對現在僅限於 ZIP、7z、TAR 與 CPIO 之間 的轉換。依賴先前宣傳的壓縮檔案至壓縮流配對的應用程式,升級前應檢查可用的轉換。上表列出的壓縮流來源與目標格式屬於另一組支援的轉換。
穩定的 Java 模組名稱
此發行的 JAR 宣告了以下 manifest 條目:
Automatic-Module-Name: com.groupdocs.conversion
這為使用 Java 模組系統的應用程式提供了穩定的模組名稱。模組化的應用程式可以在 module-info.java 中這樣引用:
module example.conversion {
requires com.groupdocs.conversion;
}
如何取得更新
Maven
在 pom.xml 中加入 GroupDocs 倉庫與 26.9 依賴,或在現有依賴中更新版本號:
<repositories>
<repository>
<id>groupdocs-artifacts-repository</id>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>26.9</version>
</dependency>
</dependencies>
您也可以瀏覽 GroupDocs.Conversion for Java Maven repository。
直接下載
從 GroupDocs.Conversion for Java releases 頁面下載 Java 套件。