Siamo felici di annunciare il rilascio di GroupDocs.Conversion for Java v26.9. Questo rilascio di settembre 2026 introduce la cancellazione cooperativa per la conversione dei documenti, aggiunge conversioni tra formati di flusso compresso e fornisce un nome di modulo Java stabile. Aggiorna inoltre le coppie di conversione di archivi pubblicizzate, quindi le applicazioni che selezionano le conversioni in modo dinamico dovrebbero rivedere le coppie disponibili prima di aggiornare.
Novità di questa versione
| Chiave | Categoria | Modifica |
|---|---|---|
| CONVERSIONNET-6880 | Funzionalità | Supporto alla cancellazione cooperativa tramite token di cancellazione |
| CONVERSIONNET-7032 | Funzionalità | Convertire Bzip2, Gzip, XZ e Unix Z in LZMA |
| CONVERSIONNET-7019 | Funzionalità | Convertire LZMA in Bzip2 e Gzip |
| CONVERSIONNET-7020 | Funzionalità | Convertire Unix Z in Bzip2 e Gzip |
| CONVERSIONNET-7030 | Funzionalità | Convertire Bzip2, Gzip, LZMA e Unix Z in XZ |
| CONVERSIONNET-7029 | Funzionalità | Convertire XZ in Bzip2 e Gzip |
| CONVERSIONNET-7028 | Funzionalità | Convertire Gzip in Bzip2 |
| CONVERSIONNET-7021 | Funzionalità | Convertire Bzip2 in Gzip |
| CONVERSIONJAVA-3238 | Attività | Risolvere i problemi di verifica del pacchetto in groupdocs-conversion-26.7.jar |
Il JAR di rilascio dichiara inoltre Automatic-Module-Name: com.groupdocs.conversion per le applicazioni che utilizzano il sistema di moduli Java.
Modifiche all’API pubblica
Cancellazione cooperativa
Due nuove classi, com.groupdocs.conversion.CancellationToken e com.groupdocs.conversion.CancellationTokenSource, consentono a un’applicazione di richiedere l’arresto di una conversione. Tutti i metodi pubblici Converter.convert(...) e Converter.convertPageByPage(...) ora hanno overload con un parametro finale CancellationToken. Anche l’esecutore di conversione fluente aggiunge ConversionExecutor.convert(CancellationToken).
Gli overload esistenti rimangono disponibili e usano CancellationToken.NONE, quindi le chiamate di conversione esistenti non richiedono modifiche.
Crea una sorgente di token e passa il suo token alla conversione:
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 gestore di cancellazione dell'applicazione può chiamare cancellationSource.cancel()
// da un altro thread mentre questa conversione è in esecuzione.
converter.convert(
"converted.pdf",
new PdfConvertOptions(),
cancellationSource.getToken()
);
} catch (CancellationException ex) {
System.out.println("Conversion was cancelled.");
}
Chiama cancellationSource.cancel() quando l’utente annulla un lavoro o l’applicazione decide di fermarlo. La cancellazione viene verificata tra le operazioni di conversione: un’operazione già in esecuzione termina prima che la cancellazione venga osservata. La conversione solleva quindi java.util.concurrent.CancellationException.
L’output già scritto non viene ripristinato, quindi le applicazioni dovrebbero gestire output parziali quando annullano un lavoro. Una sorgente cancellata non può essere reimpostata; crea una nuova sorgente per un nuovo lavoro. Passare un token nullo solleva NullPointerException.
Conversioni di flussi compressi
La versione 26.9 supporta le seguenti sorgenti e destinazioni di flussi compressi, inclusa la conversione nello stesso formato:
| Direzione | Formati supportati |
|---|---|
| Sorgente | Bzip2 (Bz2), Gzip (Gz e Gzip), LZMA (Lzma), XZ (Xz), Unix Z (Z) |
| Destinazione | Bzip2, Gzip, LZMA, XZ |
Unix Z è supportato come sorgente, ma non come destinazione in questo rilascio.
Usa CompressionConvertOptions.setFormat(...) per selezionare il formato di output. Ad esempio, converti un flusso Gzip in 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à della conversione di archivi
Le coppie di conversione di archivi pubblicizzate sono ora limitate alle conversioni all’interno di ZIP, 7z, TAR e CPIO. Le applicazioni che si basavano sulle precedenti coppie archivio‑a‑flusso compresso dovrebbero rivedere le conversioni disponibili prima di aggiornare. I formati di sorgente e destinazione di flusso compresso elencati sopra descrivono un gruppo separato di conversioni supportate.
Nome del modulo Java stabile
Il JAR di rilascio dichiara la seguente voce nel manifest:
Automatic-Module-Name: com.groupdocs.conversion
Ciò fornisce alle applicazioni che usano il sistema di moduli Java un nome di modulo stabile. Un’applicazione modulare può riferirsi a esso in module-info.java:
module example.conversion {
requires com.groupdocs.conversion;
}
Come ottenere l’aggiornamento
Maven
Aggiungi il repository GroupDocs e la dipendenza 26.9 al tuo pom.xml, oppure aggiorna la versione nella dipendenza esistente:
<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>
Puoi anche navigare il Repository Maven di GroupDocs.Conversion per Java.
Download diretto
Scarica il pacchetto Java dalla pagina dei rilasci di GroupDocs.Conversion per Java.