Nous sommes heureux d’annoncer la sortie de GroupDocs.Conversion for Java v26.9. Cette version de septembre 2026 introduit l’annulation coopérative pour la conversion de documents, ajoute des conversions entre formats de flux compressés et fournit un nom de module Java stable. Elle met également à jour les paires de conversion d’archives annoncées, de sorte que les applications qui sélectionnent les conversions dynamiquement doivent vérifier les paires disponibles avant de mettre à jour.
Nouveautés de cette version
Les clés d’incident .NET ci‑dessous identifient les fonctionnalités portées vers Java ; les résumés décrivent les formats pris en charge par cette version Java.
| Clé | Catégorie | Modification |
|---|---|---|
| CONVERSIONNET-6880 | Fonctionnalité | Prise en charge de l’annulation coopérative via des jetons d’annulation |
| CONVERSIONNET-7032 | Fonctionnalité | Convertir Bzip2, Gzip, XZ et Unix Z vers LZMA |
| CONVERSIONNET-7019 | Fonctionnalité | Convertir LZMA vers Bzip2 et Gzip |
| CONVERSIONNET-7020 | Fonctionnalité | Convertir Unix Z vers Bzip2 et Gzip |
| CONVERSIONNET-7030 | Fonctionnalité | Convertir Bzip2, Gzip, LZMA et Unix Z vers XZ |
| CONVERSIONNET-7029 | Fonctionnalité | Convertir XZ vers Bzip2 et Gzip |
| CONVERSIONNET-7028 | Fonctionnalité | Convertir Gzip vers Bzip2 |
| CONVERSIONNET-7021 | Fonctionnalité | Convertir Bzip2 vers Gzip |
| CONVERSIONJAVA-3238 | Tâche | Résoudre les problèmes de vérification du package dans groupdocs-conversion-26.7.jar |
Le JAR de la version déclare également Automatic-Module-Name: com.groupdocs.conversion pour les applications utilisant le système de modules Java.
Modifications de l’API publique
Annulation coopérative
Deux nouvelles classes, com.groupdocs.conversion.CancellationToken et com.groupdocs.conversion.CancellationTokenSource, permettent à une application de demander l’arrêt d’une conversion. Toutes les méthodes publiques Converter.convert(...) et Converter.convertPageByPage(...) disposent désormais de surcharges avec un paramètre final CancellationToken. L’exécuteur de conversion fluide ajoute également ConversionExecutor.convert(CancellationToken).
Les surcharges existantes restent disponibles et utilisent CancellationToken.NONE, de sorte que les appels de conversion existants ne nécessitent aucune modification.
Créez une source de jeton et transmettez son jeton à la conversion :
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")) {
// Un gestionnaire d’annulation d’application peut appeler cancellationSource.cancel()
// depuis un autre thread pendant que cette conversion s’exécute.
converter.convert(
"converted.pdf",
new PdfConvertOptions(),
cancellationSource.getToken()
);
} catch (CancellationException ex) {
System.out.println("Conversion was cancelled.");
}
Appelez cancellationSource.cancel() lorsque l’utilisateur annule une tâche ou que l’application décide de l’arrêter. L’annulation est vérifiée entre les opérations de conversion : une opération déjà en cours se termine avant que l’annulation ne soit détectée. La conversion lève alors java.util.concurrent.CancellationException.
La sortie déjà écrite n’est pas annulée, de sorte que les applications doivent gérer les sorties partielles lors de l’annulation d’une tâche. Une source annulée ne peut pas être réinitialisée ; créez une nouvelle source pour une nouvelle tâche. Passer un jeton nul lève NullPointerException.
Conversions de flux compressés
La version 26.9 prend en charge les sources et cibles de flux compressés suivantes, y compris la conversion du même format :
| Direction | Formats pris en charge |
|---|---|
| Source | Bzip2 (Bz2), Gzip (Gz et Gzip), LZMA (Lzma), XZ (Xz), Unix Z (Z) |
| Cible | Bzip2, Gzip, LZMA, XZ |
Unix Z est pris en charge comme source, mais n’est pas une cible dans cette version.
Utilisez CompressionConvertOptions.setFormat(...) pour sélectionner le format de sortie. Par exemple, convertir un flux Gzip en 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);
}
Compatibilité des conversions d’archives
Les paires de conversion d’archives annoncées sont désormais limitées aux conversions au sein de ZIP, 7z, TAR et CPIO. Les applications qui s’appuyaient sur les paires archive‑vers‑flux‑compressé précédemment annoncées doivent vérifier les conversions disponibles avant de mettre à jour. Les formats source et cible de flux compressés listés ci‑dessus décrivent un groupe distinct de conversions prises en charge.
Nom de module Java stable
Le JAR de la version déclare l’entrée de manifeste suivante :
Automatic-Module-Name: com.groupdocs.conversion
Cela fournit aux applications utilisant le système de modules Java un nom de module stable. Une application modulaire peut y faire référence dans module-info.java :
module example.conversion {
requires com.groupdocs.conversion;
}
Comment obtenir la mise à jour
Maven
Ajoutez le dépôt GroupDocs et la dépendance 26.9 à votre pom.xml, ou mettez à jour la version dans votre dépendance existante :
<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>
Vous pouvez également parcourir le GroupDocs.Conversion for Java Maven repository.
Téléchargement direct
Téléchargez le package Java depuis la page des GroupDocs.Conversion for Java releases.