We zijn verheugd de release van GroupDocs.Parser for Java 26.10 aan te kondigen, beschikbaar vanaf oktober 2026. Dit is een onderhoudsrelease gericht op correctheid: tekst zoeken werkt weer voor elke overload, extractie van documentstructuur ondersteunt meer Word‑documenten, bestandsinformatie rapporteert encryptie nauwkeurig, en PDF‑afbeeldingscoördinaten komen nu overeen met de rest van de API. Licenties worden nu afgehandeld door GroupDocs.Foundation, en de meegeleverde Aspose‑componenten zijn bijgewerkt.
Wat is er nieuw in deze release
| Sleutel | Samenvatting | Categorie |
|---|---|---|
| PARSERJAVA-491 | Parser.search gooit niet langer een NullPointerException wanneer de zoekopdracht niet is beperkt tot een pagina |
Fix |
| PARSERJAVA-513 | Parser.getStructure() werkt voor Word‑documenten met kop‑ of voettekst‑tabellen en retourneert goed gevormde XML |
Fix |
| — | Parser.getFileInfo(String) meldt wachtwoord‑beveiligde DOCX‑, XLSX‑ en PPTX‑bestanden als versleuteld |
Fix |
| — | FileInfo.isEncrypted() is true alleen voor versleutelde PDF‑documenten |
Fix |
| — | PDF‑afbeeldingsrechthoeken worden gemeten vanaf de bovenkant van de pagina, net als de andere pagina‑gebieden | Fix |
| PARSERJAVA-154 | Licenties worden uitgevoerd door GroupDocs.Foundation, de licentie‑core die door de GroupDocs‑producten wordt gedeeld | Update |
| PARSERJAVA-512 | Meegeleverde Aspose‑componenten bijgewerkt | Update |
| PARSERJAVA-509 | Gepubliceerde POM: productnaam, een korte beschrijving, <url>, <organization> en <scm> |
Update |
Gedragswijzigingen om te controleren vóór het upgraden
Twee wijzigingen beïnvloeden wat bestaande code waarneemt:
- PDF‑afbeeldingscoördinaten. De bovenste coördinaat van PDF‑afbeeldingsrechthoeken wordt nu gemeten vanaf de bovenkant van de pagina. Als uw code dit van de onderkant van de pagina heeft omgezet, verwijder die omzetting.
- Structuur‑XML van Word‑documenten. Woorden die gescheiden waren door een Word‑breekteken worden nu gescheiden door een spatie in de structuur‑XML.
Oplossingen
Tekst zoeken niet beperkt tot een pagina
Sinds versie 25.5 mislukte elke Parser.search‑aanroep die niet beperkt was tot een pagina met een NullPointerException. Dit trof de overload search(String keyword), search(String keyword, SearchOptions options) met searchByPages ingesteld op false (de standaard), en zoekopdrachten die highlights aanvragen. Zoekopdrachten met searchByPages ingesteld op true werden niet beïnvloed.
In 26.10 geven deze aanroepen weer zoekresultaten terug:
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());
}
}
Documentstructuur van Word‑documenten
Parser.getStructure() gooide vroeger een fout bij tekstverwerkingsdocumenten die een tabel in een kop‑ of voettekst bevatten, en kon XML retourneren die niet parseerde wanneer de documenttekst controle‑karakters bevatte. Beide problemen zijn opgelost:
- tabellen in kop‑ en voetteksten worden beschreven door hun logische raster: de rij‑index in de tabel, de cel‑index in de rij en een span van 1;
- Word‑breektekens (cel‑einde, verticale tab, pagina‑einde, kolom‑einde) worden een spatie, zodat de woorden die ze scheiden niet langer aan elkaar geplakt worden;
- tekens die XML 1.0 niet toestaat worden verwijderd;
- attribuutwaarden worden op dezelfde manier als tekst geescaped.
Bestandsinformatie voor wachtwoord‑beveiligde documenten
De overload Parser.getFileInfo(String filePath) herkende geen wachtwoord‑beveiligde DOCX‑, XLSX‑ en PPTX‑bestanden: hij gaf een grootte van 0 terug en isEncrypted() stond op false voor DOCX en XLSX, en er was geen bestandstype voor PPTX. Nu geeft hij hetzelfde resultaat terug als de InputStream‑overload: de werkelijke bestandsgrootte, isEncrypted() staat op true en FileType.Unknown (het formaat van een versleuteld document kan niet worden gelezen zonder het wachtwoord).
Dit maakt het eenvoudig om een beschermd bestand te detecteren en te openen met een wachtwoord:
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());
}
}
Versleuteling van PDF‑documenten
FileInfo.isEncrypted() gaf eerder true terug voor elk PDF‑document. Het is nu true alleen voor PDF‑documenten die daadwerkelijk versleuteld zijn.
Positie van PDF‑afbeeldingen
De rechthoeken van PDF‑afbeeldingen die door Parser.getImages() werden geretourneerd, werden gemeten vanaf de onderkant van de pagina, terwijl tekst, tabellen en andere pagina‑gebieden vanaf de bovenkant worden gemeten. Afbeeldingen gebruiken nu dezelfde boven‑gebaseerde coördinaten, zodat getImages(PageAreaOptions) de afbeeldingen binnen de opgegeven rechthoek vindt:
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());
}
}
Updates
Licenties op GroupDocs.Foundation
Licentie‑validatie, meter‑licenties en de licenties van de meegeleverde Aspose‑componenten worden nu uitgevoerd door GroupDocs.Foundation, dezelfde licentie‑core die door de andere GroupDocs‑producten wordt gebruikt. De licentie‑API is ongewijzigd: License.setLicense, Metered.setMeteredKey, Metered.getConsumptionQuantity en Metered.getConsumptionCredit worden precies zoals voorheen aangeroepen.
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());
}
Meegeleverde Aspose‑componenten
| Component | 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 |
Het product draait nog steeds op Java 8.
Gepubliceerde artefact‑metadata
De gepubliceerde POM bevat nu de naam GroupDocs.Parser for Java, een korte beschrijving van wat de bibliotheek extraheert en welke formaten hij leest, de productpagina als <url>, en verklaart <organization> en <scm>. Dit is de informatie die afhankelijkheids‑indexen zoals MVNRepository weergeven. Er is geen code, gedrag of API gewijzigd.
Hoe u de update krijgt
Maven
Voeg de GroupDocs‑repository en de afhankelijkheid toe aan uw 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>
Directe download
Download de JAR van de GroupDocs.Parser for Java 26.10 downloadpagina.