Мы рады объявить о выпуске GroupDocs.Conversion for Java v26.9. Этот выпуск сентября 2026 года вводит кооперативную отмену для конвертации документов, добавляет конвертации между форматами сжатых потоков и предоставляет стабильное имя Java‑модуля. Также обновлены рекламируемые пары конвертации архивов, поэтому приложения, которые динамически выбирают конвертации, должны проверить доступные пары перед обновлением.

Что нового в этом выпуске

Ключи .NET ниже идентифицируют функции, портированные в Java; описания отражают форматы, поддерживаемые этим выпуском Java.

Ключ Категория Изменение
CONVERSIONNET-6880 Feature Поддержка кооперативной отмены через токены отмены
CONVERSIONNET-7032 Feature Конвертация Bzip2, Gzip, XZ и Unix Z в LZMA
CONVERSIONNET-7019 Feature Конвертация LZMA в Bzip2 и Gzip
CONVERSIONNET-7020 Feature Конвертация Unix Z в Bzip2 и Gzip
CONVERSIONNET-7030 Feature Конвертация Bzip2, Gzip, LZMA и Unix Z в XZ
CONVERSIONNET-7029 Feature Конвертация XZ в Bzip2 и Gzip
CONVERSIONNET-7028 Feature Конвертация Gzip в Bzip2
CONVERSIONNET-7021 Feature Конвертация Bzip2 в Gzip
CONVERSIONJAVA-3238 Task Устранить проблемы проверки пакета в 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, поэтому текущие вызовы конвертации не требуют изменений.

Создайте источник токена и передайте его токен в конвертацию:

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.

Уже записанный вывод не откатывается, поэтому приложения должны обрабатывать частичный вывод при отмене задачи. Отменённый источник нельзя сбросить; создайте новый источник для новой задачи. Передача null токена вызывает 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‑файл выпуска объявляет следующую запись манифеста:

Automatic-Module-Name: com.groupdocs.conversion

Это даёт приложениям, использующим систему модулей Java, стабильное имя модуля. Модульное приложение может ссылаться на него в module-info.java:

module example.conversion {
    requires com.groupdocs.conversion;
}

Как получить обновление

Maven

Добавьте репозиторий GroupDocs и зависимость 26.9 в ваш pom.xml, либо обновите версию в существующей зависимости:

<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.

Прямое скачивание

Скачайте Java‑пакет со страницы GroupDocs.Conversion for Java releases.

Ресурсы