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:

  1. 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.
  2. 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.

Zdroje