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