Ми раді оголосити про випуск GroupDocs.Conversion for Java v26.9. Цей випуск вересня 2026 року вводить кооперативне скасування для конвертації документів, додає конверсії між форматами стислих потоків і забезпечує стабільну назву 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, тому існуючі виклики конвертації не потребують змін.
Створіть джерело токену і передайте його токен у процес конвертації:
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.