Memnuniyetle duyuruyoruz ki GroupDocs.Parser for Java 26.10 sürümünü Ekim 2026 itibarıyla yayınladık. Bu, doğruluğa odaklanan bir bakım sürümüdür: metin araması tüm aşırı yüklemeler için tekrar çalışıyor, belge yapısı çıkarımı daha fazla Word belgesini işliyor, dosya bilgileri şifrelemeyi doğru raporlıyor ve PDF görüntü koordinatları artık API’nin geri kalanıyla eşleşiyor. Lisanslama artık GroupDocs.Foundation tarafından yönetiliyor ve paketlenmiş Aspose bileşenleri güncellendi.

Bu sürümde yenilikler

Anahtar Özet Kategori
PARSERJAVA-491 Parser.search artık arama bir sayfaya sınırlı olmadığında NullPointerException fırlatmaz Düzeltme
PARSERJAVA-513 Parser.getStructure() başlık veya alt bilgi tabloları içeren Word belgelerinde çalışır ve iyi biçimlendirilmiş XML döndürür Düzeltme
— Parser.getFileInfo(String) şifre korumalı DOCX, XLSX ve PPTX dosyalarını şifreli olarak raporlar Düzeltme
— FileInfo.isEncrypted() yalnızca şifreli PDF belgeleri için true döner Düzeltme
— PDF görüntü dikdörtgenleri sayfanın üstünden ölçülür, diğer sayfa alanları gibi Düzeltme
PARSERJAVA-154 Lisanslama, GroupDocs ürünleri tarafından paylaşılan lisans çekirdeği GroupDocs.Foundation tarafından gerçekleştirilir Güncelleme
PARSERJAVA-512 Paketlenmiş Aspose bileşenleri güncellendi Güncelleme
PARSERJAVA-509 Yayınlanan POM: ürün adı, kısa açıklama, <url>, <organization> ve <scm> Güncelleme

Yükseltmeden önce kontrol edilmesi gereken davranış değişiklikleri

İki değişiklik mevcut kodun gözlemlediği şeyi etkiler:

  1. PDF görüntü koordinatları. PDF görüntü dikdörtgenlerinin üst koordinatı artık sayfanın üstünden ölçülüyor. Kodunuz bunu sayfanın altından dönüştürüyorsa, bu dönüşümü kaldırın.
  2. Word belgelerinin yapı XML’i. Word kesme karakteriyle ayrılan kelimeler artık yapı XML’inde bir boşlukla ayrılıyor.

Düzeltmeler

Sayfaya sınırlı olmayan metin araması

25.5 sürümünden beri, sayfaya sınırlı olmayan her Parser.search çağrısı NullPointerException ile başarısız oluyordu. Bu, search(String keyword) aşırı yüklemesini, search(String keyword, SearchOptions options) çağrısını searchByPages false (varsayılan) olarak ayarlandığında ve vurgulama isteyen aramaları etkiledi. searchByPages true olarak ayarlanan aramalar etkilenmedi.

26.10’da bu çağrılar tekrar arama sonuçları döndürür:

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());
    }
}

Word belgelerinin belge yapısı

Parser.getStructure() başlık veya alt bilgi içinde tablo içeren kelime işlem belgelerinde istisna fırlatıyordu ve belge metni kontrol karakterleri içerdiğinde ayrıştırılamayan XML döndürebiliyordu. Her iki sorun da düzeltildi:

  • başlık ve alt bilgi içindeki tablolar mantıksal ızgaralarıyla tanımlanır: tablodaki satır indeksi, satırdaki hücre indeksi ve 1 genişliği.
  • Word kesme karakterleri (hücre sonu, dikey sekme, sayfa sonu, sütun sonu) bir boşluk haline getirilir, böylece ayırdıkları kelimeler artık birleşmez;
  • XML 1.0 tarafından izin verilmeyen karakterler atılır;
  • öznitelik değerleri metin gibi aynı şekilde kaçış yapılır.

Şifre korumalı belgeler için dosya bilgisi

Parser.getFileInfo(String filePath) aşırı yüklemesi şifre korumalı DOCX, XLSX ve PPTX dosyalarını tanımıyordu: DOCX ve XLSX için boyutu 0 ve isEncrypted() false olarak, PPTX için ise dosya türü döndürmüyordu. Şimdi InputStream aşırı yüklemesiyle aynı sonucu döndürür: gerçek dosya boyutu, isEncrypted() true olarak ve FileType.Unknown (şifreli bir belgenin formatı şifre olmadan okunamaz).

Bu, korumalı bir dosyayı tespit etmeyi ve şifreyle açmayı kolaylaştırır:

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());
    }
}

PDF belgelerinin şifrelenmesi

FileInfo.isEncrypted() daha önce her PDF belgesi için true döndürüyordu. Şimdi yalnızca gerçekten şifreli PDF belgeleri için true döner.

PDF görüntülerinin konumu

Parser.getImages() tarafından döndürülen PDF görüntülerinin dikdörtgenleri sayfanın altından ölçülüyordu, oysa metin, tablolar ve diğer sayfa alanları üstten ölçülür. Görüntüler artık aynı üst‑temelli koordinatları kullanıyor, bu yüzden getImages(PageAreaOptions) verilen dikdörtgen içindeki görüntüleri bulur:

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());
    }
}

Güncellemeler

GroupDocs.Foundation üzerinde lisanslama

Lisans doğrulama, ölçülü lisanslama ve paketlenmiş Aspose bileşenlerinin lisanslaması artık GroupDocs.Foundation tarafından yapılmaktadır; bu, diğer GroupDocs ürünleri tarafından kullanılan aynı lisans çekirdeğidir. Lisans API’si değişmedi: License.setLicense, Metered.setMeteredKey, Metered.getConsumptionQuantity ve Metered.getConsumptionCredit daha önceki gibi çağrılır.

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());
}

Paketlenmiş Aspose bileşenleri

Bileşen 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

Ürün hâlâ Java 8 üzerinde çalışıyor.

Yayınlanan artefakt meta verileri

Yayınlanan POM artık GroupDocs.Parser for Java adını, kütüphanenin neyi çıkardığı ve hangi formatları okuduğuna dair kısa bir açıklamayı, ürün sayfasını <url> olarak ve <organization> ile <scm> öğelerini içeriyor. Bu, MVNRepository gibi bağımlılık indekslerinin gösterdiği bilgidir. Kod, davranış veya API’de değişiklik yapılmadı.

Güncellemeyi nasıl alabilirsiniz

Maven

GroupDocs deposunu ve bağımlılığı pom.xml dosyanıza ekleyin:

<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>

Doğrudan indirme

JAR dosyasını GroupDocs.Parser for Java 26.10 indirme sayfasından indirin.

Kaynaklar