我們很高興宣佈 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 套件。

資源