Java Belge Ayrıştırma: GroupDocs.Parser ile Belgelerden Görüntüleri Çıkarma
Bu kapsamlı rehberde, Java için GroupDocs.Parser kullanarak çeşitli dosya türlerinden görüntüleri çıkarmak için java document parsing tekniklerini öğreneceksiniz. Kütüphane kurulumunu, özel bir ExternalResourceHandler oluşturmayı ve akıllı filtreleme uygulamayı adım adım göstereceğiz, böylece yalnızca gerçekten ihtiyaç duyduğunuz kaynakları yüklersiniz—bellek kullanımını azaltmanıza ve işleme hızını artırmanıza yardımcı olur.
Hızlı Yanıtlar
- GroupDocs.Parser ne yapar? 50’den fazla dosya formatını ayrıştırır, metin, görüntü ve diğer gömülü kaynakları programatik kullanım için ortaya çıkar.
- İstenmeyen görüntüleri atlayabilir miyim? Evet—kaynakları anında filtrelemek için özel bir
ExternalResourceHandleruygulayın. - Hangi Maven sürümü gereklidir? GroupDocs.Parser Java 25.5 veya daha yeni bir sürüm kullanın.
- Lisans gerekiyor mu? Değerlendirme için ücretsiz deneme çalışır; üretim için kalıcı bir lisans gereklidir.
- Bu yaklaşım çok iş parçacıklı (thread‑safe) mı? Her iş parçacığı için ayrı bir
Parserörneği oluşturun; nesneler paylaşılmaz.
“Belgelerden görüntü çıkarma” nedir?
Belgelerden görüntü çıkarmak, gömülü resim dosyalarını programatik olarak alıp, orijinal dosyanın dışında saklamanızı, görüntülemenizi veya daha fazla işlem yapmanızı sağlar. Bu işlem, küçük resimler, veri görselleştirme gerektiğinde veya tam kaynak belgeyi tutmadan medya varlıklarını yeniden kullanmanız gerektiğinde önemlidir.
Görüntü çıkarırken neden kaynakları filtrelemelisiniz?
Görüntü çıkarırken kaynakları filtrelemek, büyük dosyaları işlerken bellek kullanımını %70’e kadar azaltmanıza olanak tanır, çünkü istenmeyen ikili dosyalar JVM yığınına hiç girmez. Ayrıca potansiyel olarak güvensiz içeriğin yüklenmesini engelleyerek güvenliği artırır ve işlem hattını hızlandırır—yüzlerce dekoratif grafik içeren büyük sözleşmeler, orijinal sürenin bir kısmında ayrıştırılabilir.
Önkoşullar
- Java Development Kit (JDK) – sürüm 8 veya üzeri.
- Maven – bağımlılık yönetimi için.
- Java I/O ve istisna yönetimi konusunda temel bilgi.
Java için GroupDocs.Parser Kurulumu
Add the GroupDocs repository and the parser dependency to your pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
Alternatif olarak, en son sürümü GroupDocs.Parser for Java releases adresinden indirebilirsiniz.
Lisans Edinme
- Free Trial – maliyet olmadan temel özellikleri keşfedin.
- Temporary License – değerlendirme sırasında tam işlevselliği açın.
- Purchased License – ticari dağıtım için gereklidir.
Görüntü çıkarırken kaynakları nasıl filtrelersiniz
Kaynakları filtrelemek için, hangi gömülü dosyaların yükleneceğine karar veren bir ExternalResourceHandler uygulayın. Bu işleyiciyi belgeyi açmadan önce ParserSettings içinde kaydedin, ardından ayrıştırıcıyı çağırın. İşleyici, her kaynağın meta verilerini alır ve tür, boyut veya ad gibi kriterlere göre kabul edip reddetmenize olanak tanır, böylece yalnızca gerekli görüntüler işlenir.
Adım 1: Özel bir işleyici oluşturun
ExternalResourceHandler belirli bir dış kaynağın—örneğin bir görüntünün—yüklenip yüklenmeyeceğine karar vermenizi sağlayan bir arayüzdür. onLoading metodunu uygulayın ve tutmak istediğiniz kaynaklar için true, atlamak için false döndürün. onLoading metodu kaynak meta verilerini alır ve kaynağı yüklemek için true, atlamak için false döndürmelidir.
import com.groupdocs.parser.options.ExternalResourceHandler;
import com.groupdocs.parser.data.ExternalResourceLoadingArgs;
class Handler extends ExternalResourceHandler {
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
super.onLoading(args);
}
}
Adım 2: İşleyici ile ParserSettings yapılandırın
ParserSettings, ayrıştırıcı için özel işleyiciler, algılama ayarları ve performans iyileştirmeleri gibi seçenekleri tutan bir yapılandırma sınıfıdır. Bir belgeyi açmadan önce işleyici örneğinizi ParserSettings‘e geçirin.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.exceptions.IOException;
import com.groupdocs.parser.options.ParserSettings;
public class LoadExternalResources {
public static void run() throws IOException {
ParserSettings settings = new ParserSettings(new Handler());
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY", settings)) {
Iterable<PageImageArea> images = parser.getImages();
for (PageImageArea image : images) {
System.out.println(image.getFileType());
}
}
}
}
Adım 3: Filtreleme mantığını ince ayar yapın
Daha karmaşık kurallara ihtiyacınız varsa—örneğin görüntü boyutu, formatı veya URI deseniyle filtreleme—onLoading metodunu buna göre genişletin. Örneğin, 2 MB’den büyük herhangi bir görüntüyü atlayabilir veya tüm PNG dosyalarını yok sayabilirsiniz.
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
}
Pratik Uygulamalar
- Document Management Systems – Tarama yoluyla elde edilen sözleşmelerden yalnızca gerekli görüntüleri çekerek küçük resimler oluşturun.
- Data Extraction Services – Dekoratif grafikleri atlayın ve değerli veri içeren grafiklere odaklanın.
- Web Scraping Tools – HTML tabanlı belgelerden anlamlı medyayı alırken izleme piksellerini filtreleyin.
Performans Düşünceleri
Parser, bir belgeyi açan ve içeriğine erişim sağlayan temel sınıftır.
- Erken filtrele: Kaynaklar üzerinde yineleme yapmadan önce özel işleyicinizi uygulayarak istenmeyen verilerin belleğe yüklenmesini önleyin.
- Hemen serbest bırak: Yerel kaynakları serbest bırakmak için try‑with‑resources (
try (Parser parser = …)) kullanın. - Asenkron işleme: Büyük toplular için belgeleri paralel akışlarda işleyin, her
Parserörneğini tek bir iş parçacığıyla sınırlı tutun.
Yaygın Sorunlar ve Çözümler
| Sorun | Neden Olur | Çözüm |
|---|---|---|
| Görüntü döndürülmedi | İşleyici, tüm kaynakları istemeden atlıyor | if koşulunu doğrulayın ve args.setSkipped(true) yalnızca istenmeyen URI’ler için çağrıldığından emin olun. |
Büyük dosyalarda IOException | Yetersiz yığın belleği | JVM yığınını artırın (-Xmx2g) veya sayfaları daha küçük parçalar halinde işleyin. |
| Lisans tanınmadı | Üretim kodunda deneme DLL’si kullanmak | License.setLicense("path/to/license") ile doğru lisans dosyası yolunu uygulayın. |
Sıkça Sorulan Sorular
S: Özel bir ExternalResourceHandler kullanmanın temel amacı nedir?
C: Hangi dış kaynakların yükleneceğini kontrol etmenizi sağlar, gereksiz dosyaları filtreleyerek güvenliği ve performansı artırır.
S: GroupDocs.Parser for Java’ı lisans olmadan kullanabilir miyim?
C: Evet, ücretsiz bir deneme mevcuttur, ancak gelişmiş özellikler ve büyük ölçekli dağıtımlar geçerli bir lisans gerektirir.
S: GroupDocs.Parser ile ayrıştırma sırasında istisnaları nasıl ele alırım?
C: Ayrıştırma çağrılarını IOException ve diğer belirli istisnalar için try‑catch bloklarıyla sararak hataları nazikçe yönetin.
S: Kaynakları filtrelerken yaygın tuzaklar nelerdir?
C: Yanlış URI kontrolleri gerekli dosyaları atlayabilir; koşullarınızı doğrulamak için günlükleme veya kesme noktaları kullanın.
S: GroupDocs.Parser for Java ile HTML dışı belgeler ayrıştırılabilir mi?
C: Kesinlikle—GroupDocs.Parser PDF, Word, Excel, PowerPoint ve birçok diğer formatı destekler.
Sonraki Adımlar
Ek ayarlar için tam API Reference adresini keşfedin; örneğin tabloları çıkarmak için ParserSettings.setDetectTables(true) veya yazı tiplerini çıkarmak için ParserSettings.setExtractEmbeddedFonts(true) deneyin.
Son Güncelleme: 2026-06-22
Test Edilen Versiyon: GroupDocs.Parser 25.5 for Java
Yazar: GroupDocs
Kaynaklar
- Dokümantasyon: GroupDocs.Parser Dokümantasyonu
- API Referansı: API Detayları
- İndirilenler: En Son Sürümler