Wir freuen uns, die Veröffentlichung von GroupDocs.Parser for Java 26.10 bekannt zu geben, verfügbar seit Oktober 2026. Dies ist ein Wartungsrelease, das sich auf Korrektheit konzentriert: Die Textsuche funktioniert wieder für jede Überladung, die Extraktion der Dokumentenstruktur unterstützt mehr Word‑Dokumente, die Dateiinformationen melden die Verschlüsselung genau, und die PDF‑Bildkoordinaten stimmen nun mit dem Rest der API überein. Die Lizenzierung wird jetzt von GroupDocs.Foundation übernommen, und die mitgelieferten Aspose‑Komponenten wurden aktualisiert.
Was ist neu in diesem Release
| Kennung | Zusammenfassung | Kategorie |
|---|---|---|
| PARSERJAVA-491 | Parser.search wirft keine NullPointerException mehr, wenn die Suche nicht auf eine Seite beschränkt ist | Fehlerbehebung |
| PARSERJAVA-513 | Parser.getStructure() funktioniert bei Word‑Dokumenten mit Kopf‑ oder Fußzeilentabellen und liefert wohlgeformtes XML | Fehlerbehebung |
| — | Parser.getFileInfo(String) meldet passwortgeschützte DOCX-, XLSX- und PPTX‑Dateien als verschlüsselt | Fehlerbehebung |
| — | FileInfo.isEncrypted() ist nur für verschlüsselte PDF‑Dokumente true | Fehlerbehebung |
| — | PDF‑Bildrechtecke werden vom oberen Rand der Seite gemessen, wie die anderen Seitenbereiche | Fehlerbehebung |
| PARSERJAVA-154 | Die Lizenzierung wird von GroupDocs.Foundation durchgeführt, dem Lizenzierungskern, der von den GroupDocs‑Produkten gemeinsam genutzt wird | Aktualisierung |
| PARSERJAVA-512 | Mitgelieferte Aspose‑Komponenten wurden aktualisiert | Aktualisierung |
| PARSERJAVA-509 | Veröffentlichtes POM: Produktname, kurze Beschreibung, <url>, <organization> und <scm> |
Aktualisierung |
Verhaltensänderungen, die vor dem Upgrade geprüft werden sollten
Zwei Änderungen beeinflussen das Verhalten bestehenden Codes:
- PDF‑Bildkoordinaten. Die obere Koordinate von PDF‑Bildrechtecken wird jetzt vom oberen Rand der Seite gemessen. Wenn Ihr Code sie vom unteren Rand der Seite umgerechnet hat, entfernen Sie diese Umrechnung.
- Struktur‑XML von Word‑Dokumenten. Wörter, die durch ein Word‑Umbruchzeichen getrennt waren, werden nun im Struktur‑XML durch ein Leerzeichen getrennt.
Fehlerbehebungen
Textsuche nicht auf eine Seite beschränkt
Seit Version 25.5 schlug jeder Parser.search‑Aufruf, der nicht auf eine Seite beschränkt war, mit einer NullPointerException fehl. Dies betraf die Überladung search(String keyword), search(String keyword, SearchOptions options) mit searchByPages auf false (Standard) und Suchen, die Hervorhebungen anfordern. Suchen mit searchByPages auf true waren nicht betroffen.
In 26.10 geben diese Aufrufe wieder Suchergebnisse zurück:
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());
}
}
Dokumentenstruktur von Word‑Dokumenten
Parser.getStructure() hat früher bei Textverarbeitungsdokumenten, die eine Tabelle in der Kopf‑ oder Fußzeile enthalten, eine Ausnahme ausgelöst und konnte XML zurückgeben, das nicht geparst werden konnte, wenn der Dokumententext Steuerzeichen enthielt. Beide Probleme wurden behoben:
- Tabellen in Kopf‑ und Fußzeilen werden durch ihr logisches Raster beschrieben: Zeilenindex in der Tabelle, Zellenindex in der Zeile und Spannen von 1;
- Word‑Umbruchzeichen (Zellenende, vertikaler Tab, Seitenumbruch, Spaltenumbruch) werden zu einem Leerzeichen, sodass die Wörter, die sie trennen, nicht mehr zusammenlaufen;
- Zeichen, die in XML 1.0 nicht erlaubt sind, werden entfernt;
- Attributwerte werden auf dieselbe Weise wie Text escaped.
Dateiinformationen für passwortgeschützte Dokumente
Die Überladung Parser.getFileInfo(String filePath) erkannte passwortgeschützte DOCX‑, XLSX‑ und PPTX‑Dateien nicht: Sie gab eine Größe von 0 und isEncrypted() auf false für DOCX und XLSX zurück und keinen Dateityp für PPTX. Jetzt liefert sie dasselbe Ergebnis wie die InputStream‑Überladung: die tatsächliche Dateigröße, isEncrypted() auf true und FileType.Unknown (das Format eines verschlüsselten Dokuments kann ohne das Passwort nicht gelesen werden).
Damit lässt sich eine geschützte Datei leicht erkennen und mit einem Passwort öffnen:
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());
}
}
Verschlüsselung von PDF‑Dokumenten
FileInfo.isEncrypted() gab zuvor für jedes PDF‑Dokument true zurück. Jetzt ist es nur noch für tatsächlich verschlüsselte PDF‑Dokumente true.
Position von PDF‑Bildern
Die Rechtecke von PDF‑Bildern, die von Parser.getImages() zurückgegeben wurden, wurden vom unteren Rand der Seite gemessen, während Text, Tabellen und andere Seitenbereiche vom oberen Rand gemessen werden. Bilder verwenden jetzt dieselben oben‑basierten Koordinaten, sodass getImages(PageAreaOptions) die Bilder innerhalb des angegebenen Rechtecks findet:
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());
}
}
Aktualisierungen
Lizenzierung über GroupDocs.Foundation
Lizenzvalidierung, nutzungsbasierte Lizenzierung und die Lizenzierung der mitgelieferten Aspose‑Komponenten werden jetzt von GroupDocs.Foundation durchgeführt, dem gleichen Lizenzierungskern, der von den anderen GroupDocs‑Produkten verwendet wird. Die Lizenzierungs‑API bleibt unverändert: License.setLicense, Metered.setMeteredKey, Metered.getConsumptionQuantity und Metered.getConsumptionCredit werden genau wie zuvor aufgerufen.
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());
}
Mitgelieferte Aspose‑Komponenten
| Komponente | 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 |
Das Produkt läuft weiterhin auf Java 8.
Veröffentliche Artefakt‑Metadaten
Das veröffentlichte POM enthält nun den Namen GroupDocs.Parser for Java, eine kurze Beschreibung dessen, was die Bibliothek extrahiert und welche Formate sie liest, die Produktseite als <url> und deklariert <organization> und <scm>. Dies sind die Informationen, die Abhängigkeitsindizes wie MVNRepository anzeigen. Es wurden weder Code, Verhalten noch API geändert.
Wie Sie das Update erhalten
Maven
Fügen Sie das GroupDocs‑Repository und die Abhängigkeit zu Ihrer pom.xml hinzu:
<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>
Direkter Download
Laden Sie das JAR von der GroupDocs.Parser for Java 26.10 Download‑Seite herunter.