S potěšením oznamujeme vydání GroupDocs.Parser for Java 26.10, k dispozici od října 2026. Jedná se o údržbové vydání zaměřené na správnost: vyhledávání textu opět funguje pro všechny přetížení, extrakce struktury dokumentu podporuje více dokumentů Word, informace o souboru přesně uvádějí šifrování a souřadnice obrázků PDF nyní odpovídají zbytku API. Licencování je nyní zajišťováno GroupDocs.Foundation a zabalené komponenty Aspose byly aktualizovány.
Co je nového v tomto vydání
| Klíč | Shrnutí | Kategorie |
|---|---|---|
| PARSERJAVA-491 | Parser.search již nevyhazuje NullPointerException, když vyhledávání není omezeno na stránku |
Oprava |
| PARSERJAVA-513 | Parser.getStructure() funguje pro dokumenty Word s tabulkami v záhlaví nebo zápatí a vrací dobře formované XML |
Oprava |
| — | Parser.getFileInfo(String) hlásí soubory DOCX, XLSX a PPTX chráněné heslem jako šifrované |
Oprava |
| — | FileInfo.isEncrypted() je true pouze pro šifrované PDF dokumenty |
Oprava |
| — | Obdélníky obrázků PDF jsou měřeny od horního okraje stránky, stejně jako ostatní oblasti stránky | Oprava |
| PARSERJAVA-154 | Licencování je prováděno pomocí GroupDocs.Foundation, licenčního jádra sdíleného produkty GroupDocs | Aktualizace |
| PARSERJAVA-512 | Zabalené komponenty Aspose aktualizovány | Aktualizace |
| PARSERJAVA-509 | Publikovaný POM: název produktu, krátký popis, <url>, <organization> a <scm> |
Aktualizace |
Změny chování, které je třeba zkontrolovat před aktualizací
Dvě změny ovlivňují to, co existující kód pozoruje:
- Souřadnice obrázků PDF. Horní souřadnice obdélníků obrázků PDF je nyní měřena od horního okraje stránky. Pokud váš kód převáděl souřadnice z dolního okraje stránky, odstraňte tento převod.
- XML struktury dokumentů Word. Slova oddělená znakem zalomení Word jsou nyní v XML struktury oddělena mezerou.
Opravy
Vyhledávání textu neomezené na stránku
Od verze 25.5 selhal každý volání Parser.search, které nebylo omezeno na stránku, s výjimkou NullPointerException. To se týkalo přetížení search(String keyword), search(String keyword, SearchOptions options) s nastaveným searchByPages na false (výchozí) a vyhledávání, která požadují zvýraznění. Vyhledávání s searchByPages nastaveným na true nebyla ovlivněna.
Ve verzi 26.10 tato volání opět vrací výsledky vyhledávání:
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());
}
}
Struktura dokumentu Word
Parser.getStructure() dříve vyhazoval výjimku u dokumentů pro zpracování textu, které obsahovaly tabulku v záhlaví nebo zápatí, a mohl vracet XML, které se nepodařilo parsovat, když text dokumentu obsahoval řídicí znaky. Obě problémy jsou opraveny:
- tabulky v záhlavích a zápatích jsou popisovány jejich logickou mřížkou: index řádku v tabulce, index buňky v řádku a rozsahem 1;
- znaky zalomení Word (konec buňky, vertikální tabulátor, zalomení stránky, zalomení sloupce) se převádějí na mezeru, takže slova, která oddělují, se již nespojují;
- znaky, které XML 1.0 neumožňuje, jsou odstraněny;
- hodnoty atributů jsou escapovány stejným způsobem jako text.
Informace o souboru pro dokumenty chráněné heslem
Přetížení Parser.getFileInfo(String filePath) nerozpoznávalo soubory DOCX, XLSX a PPTX chráněné heslem: vracelo velikost 0 a isEncrypted() nastavené na false pro DOCX a XLSX a žádný typ souboru pro PPTX. Nyní vrací stejný výsledek jako přetížení InputStream: skutečnou velikost souboru, isEncrypted() nastavené na true a FileType.Unknown (formát šifrovaného dokumentu nelze přečíst bez hesla).
To usnadňuje detekci chráněného souboru a jeho otevření pomocí hesla:
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());
}
}
Šifrování PDF dokumentů
FileInfo.isEncrypted() dříve vracelo true pro každý PDF dokument. Nyní je true pouze pro PDF dokumenty, které jsou skutečně šifrované.
Pozice obrázků PDF
Obdélníky obrázků PDF vrácené metodou Parser.getImages() byly měřeny od spodního okraje stránky, zatímco text, tabulky a další oblasti stránky jsou měřeny od horního okraje. Obrázky nyní používají stejné souřadnice založené na horní hraně, takže getImages(PageAreaOptions) najde obrázky uvnitř zadaného obdélníku:
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());
}
}
Aktualizace
Licencování v GroupDocs.Foundation
Validace licence, měřené licencování a licencování zabalených komponent Aspose jsou nyní prováděny GroupDocs.Foundation, stejným licenčním jádrem používaným ostatními produkty GroupDocs. API licencování zůstalo beze změny: License.setLicense, Metered.setMeteredKey, Metered.getConsumptionQuantity a Metered.getConsumptionCredit jsou volány přesně jako dříve.
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());
}
Zabalené komponenty Aspose
| Komponenta | 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 |
Produkt stále běží na Java 8.
Metadata publikovaného artefaktu
Publikovaný POM nyní obsahuje název GroupDocs.Parser for Java, krátký popis toho, co knihovna extrahuje a které formáty čte, stránku produktu jako <url> a deklaruje <organization> a <scm>. Toto jsou informace, které zobrazují indexy závislostí jako MVNRepository. Kód, chování ani API se nezměnily.
Jak získat aktualizaci
Maven
Přidejte repozitář GroupDocs a závislost do vašeho 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>
Přímé stažení
Stáhněte JAR ze stránky ke stažení GroupDocs.Parser for Java 26.10.