Siamo lieti di annunciare il rilascio di GroupDocs.Parser for Java 26.10, disponibile a partire da ottobre 2026. Si tratta di un rilascio di manutenzione incentrato sulla correttezza: la ricerca di testo funziona nuovamente per ogni overload, l’estrazione della struttura del documento gestisce più documenti Word, le informazioni sul file segnalano correttamente la crittografia e le coordinate delle immagini PDF ora corrispondono al resto dell’API. La licenza è ora gestita da GroupDocs.Foundation, e i componenti Aspose inclusi sono stati aggiornati.
Novità di questo rilascio
| Chiave | Riepilogo | Categoria |
|---|---|---|
| PARSERJAVA-491 | Parser.search non genera più NullPointerException quando la ricerca non è limitata a una pagina |
Correzione |
| PARSERJAVA-513 | Parser.getStructure() funziona per documenti Word con tabelle nell’intestazione o nel piè di pagina e restituisce XML ben formato |
Correzione |
| — | Parser.getFileInfo(String) segnala i file DOCX, XLSX e PPTX protetti da password come crittografati |
Correzione |
| — | FileInfo.isEncrypted() è true solo per documenti PDF crittografati |
Correzione |
| — | I rettangoli delle immagini PDF sono misurati dall’alto della pagina, come le altre aree della pagina | Correzione |
| PARSERJAVA-154 | La licenza è gestita da GroupDocs.Foundation, il nucleo di licenza condiviso dai prodotti GroupDocs | Aggiornamento |
| PARSERJAVA-512 | Componenti Aspose inclusi aggiornati | Aggiornamento |
| PARSERJAVA-509 | POM pubblicato: nome del prodotto, una breve descrizione, <url>, <organization> e <scm> |
Aggiornamento |
Modifiche al comportamento da verificare prima dell’aggiornamento
Due modifiche influenzano ciò che il codice esistente osserva:
- Coordinate delle immagini PDF. La coordinata superiore dei rettangoli delle immagini PDF è ora misurata dall’alto della pagina. Se il tuo codice le convertiva dal basso della pagina, rimuovi tale conversione.
- XML della struttura dei documenti Word. Le parole separate da un carattere di interruzione Word sono ora separate da uno spazio nell’XML della struttura.
Correzioni
Ricerca di testo non limitata a una pagina
Dalla versione 25.5, ogni chiamata a Parser.search non limitata a una pagina falliva con un NullPointerException. Questo ha interessato l’overload search(String keyword), search(String keyword, SearchOptions options) con searchByPages impostato a false (il valore predefinito), e le ricerche che richiedono evidenziazioni. Le ricerche con searchByPages impostato a true non sono state interessate.
Nella 26.10 queste chiamate restituiscono nuovamente i risultati della ricerca:
try (Parser parser = new Parser("sample.pdf")) {
Iterable<SearchResult> results = parser.search("lorem");
if (results == null) {
return; // Search isn't supported for this document
}
for (SearchResult result : results) {
System.out.println(result.getPosition() + ": " + result.getText());
}
}
Struttura del documento dei documenti Word
Parser.getStructure() sollevava un’eccezione su documenti di elaborazione testi che contengono una tabella nell’intestazione o nel piè di pagina, e poteva restituire XML non analizzabile quando il testo del documento conteneva caratteri di controllo. Entrambi i problemi sono stati risolti:
- le tabelle nelle intestazioni e nei piè di pagina sono descritte dalla loro griglia logica: l’indice di riga nella tabella, l’indice di cella nella riga e span di 1;
- i caratteri di interruzione Word (fine cella, tab verticale, interruzione di pagina, interruzione di colonna) diventano uno spazio, così le parole che separano non si uniscono più;
- i caratteri non consentiti da XML 1.0 vengono eliminati;
- i valori degli attributi sono escapati allo stesso modo del testo.
Informazioni sul file per documenti protetti da password
L’overload Parser.getFileInfo(String filePath) non riconosceva i file DOCX, XLSX e PPTX protetti da password: restituiva una dimensione 0 e isEncrypted() impostato a false per DOCX e XLSX, e nessun tipo di file per PPTX. Ora restituisce lo stesso risultato dell’overload InputStream: la dimensione reale del file, isEncrypted() impostato a true e FileType.Unknown (il formato di un documento crittografato non può essere letto senza la password).
Ciò rende più semplice rilevare un file protetto e aprirlo con una password:
FileInfo info = Parser.getFileInfo("protected.docx");
if (info.isEncrypted()) {
LoadOptions options = new LoadOptions("password");
try (Parser parser = new Parser("protected.docx", options);
TextReader reader = parser.getText()) {
System.out.println(reader.readToEnd());
}
}
Crittografia dei documenti PDF
FileInfo.isEncrypted() in precedenza restituiva true per ogni documento PDF. Ora è true solo per i documenti PDF effettivamente crittografati.
Posizione delle immagini PDF
I rettangoli delle immagini PDF restituiti da Parser.getImages() erano misurati dal basso della pagina, mentre testo, tabelle e altre aree della pagina sono misurate dall’alto. Ora le immagini usano le stesse coordinate basate sull’alto, così getImages(PageAreaOptions) trova le immagini all’interno del rettangolo specificato:
try (Parser parser = new Parser("images.pdf")) {
// Images in the top-left 400 x 400 points of each page
PageAreaOptions options = new PageAreaOptions(new Rectangle(new Point(0, 0), new Size(400, 400)));
for (PageImageArea image : parser.getImages(options)) {
System.out.println(image.getPage().getIndex() + ": " + image.getRectangle());
}
}
Aggiornamenti
Licenza su GroupDocs.Foundation
La convalida della licenza, la licenza a consumo e la licenza dei componenti Aspose inclusi sono ora gestite da GroupDocs.Foundation, lo stesso nucleo di licenza utilizzato dagli altri prodotti GroupDocs. L’API di licenza è invariata: License.setLicense, Metered.setMeteredKey, Metered.getConsumptionQuantity e Metered.getConsumptionCredit vengono chiamati esattamente come prima.
License license = new License();
license.setLicense("GroupDocs.Parser.Java.lic");
try (Parser parser = new Parser("document.docx");
TextReader reader = parser.getText()) {
System.out.println(reader.readToEnd());
}
Componenti Aspose inclusi
| Componente | 26.9 | 26.10 |
|---|---|---|
| Aspose.Cells | 26.3 | 26.9 |
| Aspose.Email | 26.1 | 26.8 |
| Aspose.PDF | 26.2 | 26.8.1 |
| Aspose.Slides | 26.2 | 26.9 |
| Aspose.Words | 26.3 | 26.8 |
| Aspose.BarCode | 26.4 | 26.6 |
| Aspose.Imaging | 25.12 | 25.12 |
| Aspose.ZIP | 25.10 | 25.10 |
| Aspose.Note | 23.3 | 23.3 |
Il prodotto continua a funzionare su Java 8.
Metadati dell’artefatto pubblicato
Il POM pubblicato ora contiene il nome GroupDocs.Parser for Java, una breve descrizione di ciò che la libreria estrae e quali formati legge, la pagina del prodotto come <url>, e dichiara <organization> e <scm>. Queste sono le informazioni che indici di dipendenze come MVNRepository mostrano. Nessun codice, comportamento o API è stato modificato.
Come ottenere l’aggiornamento
Maven
Aggiungi il repository GroupDocs e la dipendenza al tuo pom.xml:
<repositories>
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>26.10</version>
</dependency>
</dependencies>
Download diretto
Scarica il JAR dalla pagina di download di GroupDocs.Parser for Java 26.10.