java pdf tablo çıkarımı nasıl yapılır GroupDocs.Parser ile

Hızlı cevaplar

  • GroupDocs.Parser PDF’lerden tabloları okuyabilir mi? Evet – PDF’ler ve birçok diğer format için yerel tablo çıkarımı sağlar.
  • Geliştirme için lisansa ihtiyacım var mı? Ücretsiz deneme ile başlayabilirsiniz; üretim kullanımı için lisans gereklidir.
  • Hangi Java sürümü gereklidir? JDK 8 veya üzeri.
  • Maven kütüphaneyi eklemenin tek yolu mu? Hayır – JAR’ı doğrudan da indirebilirsiniz.
  • Şifre korumalı dosyalarla çalışır mı? Evet, Parser örneğini oluştururken şifreyi sağlayın.

java pdf tablo çıkarımı nedir?

Java pdf table extraction, PDF (veya Word) dosyalarına gömülü tablo yapılarını Java kodu ile programlı olarak okuma sürecidir. GroupDocs.Parser düşük seviyeli ayrıştırmayı soyutlar ve her hücreyi analiz veya veritabanı aktarımı için hazır düz metin olarak döndürür. Tarama ve yerel PDF’leri destekler, birleştirilmiş hücreleri ve çok sayfalı tabloları ek yapılandırma olmadan işler.

Tablo çıkarımı için GroupDocs.Parser neden kullanılmalı?

GroupDocs.Parser 50+ giriş ve çıkış formatını destekler—PDF, DOCX, PPTX ve HTML dahil—böylece aynı API’yi farklı belge türlerinde yeniden kullanabilirsiniz. Düzen‑tabanlı çıkarımı, karmaşık tablolarda %98’e kadar doğruluk sağlar ve kütüphane, akış kullanarak çok sayfalı PDF’leri işleyerek bellek kullanımını 200 MB’nin altında tutar.

Önkoşullar

  • Java Development Kit (JDK) 8+ yüklü.
  • Bağımlılık yönetimi için Maven (veya manuel JAR yönetimi).
  • Java sözdizimi ve nesne‑yönelimli kavramlara temel aşinalık.

GroupDocs.Parser’ı Java için kurma

Maven kurulumu

Bağımlılıkları Maven ile yönetiyorsanız, depo ve bağımlılığı pom.xml dosyanıza ekleyin:

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

Doğrudan indirme

Alternatif olarak, en son sürümü doğrudan GroupDocs.Parser for Java releases adresinden indirin. Web sitelerinde verilen kurulum talimatlarını izleyin.

Lisans edinimi

GroupDocs.Parser özelliklerine tam erişim için bir lisans almayı düşünün. Ücretsiz deneme ile başlayabilir veya satın alma sayfasındaki adımları izleyerek geçici bir lisans edinebilirsiniz.

Her şey kurulduktan sonra, gerçek java pdf tablo çıkarımı uygulamasına geçelim.

Uygulama rehberi

Tablo çıkarımı için belge desteğini kontrol etme

Bu belge tablo çıkarımını destekliyor mu?
İlk olarak hedef dosyanın tablo işleme için işlenebilir olduğunu doğrulamanız gerekir. GroupDocs.Parser, verilen format için tablo çıkarımının mevcut olup olmadığını belirten bir özellik bayrağı sunar ve çalışma zamanında gereksiz hataları önler.

  • Parser başlatma: Parser sınıfı belgeyi belleğe yükleyen giriş noktasıdır.
  • Özellik kontrolü: parser.getFeatures().isTables() metodunu çağırın; tablo çıkarımı desteklendiğinde true döner.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.IDocumentInfo;

public class TableExtractionCheck {
    public static void main(String[] args) {
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/your_document.pdf")) {
            // Check if the document supports table extraction.
            if (!parser.getFeatures().isTables()) {
                System.out.println("Document doesn't support table extraction.");
            } else {
                System.out.println("Document supports table extraction. Proceeding...");
                extractTablesFromDocument();
            }
        }
    }
}

Çıkarma için tablo düzeni oluşturma

Kesin bir tablo düzeni nasıl tanımlanır?
Bir düzen, motorun sütun ve satırların nerede başladığını bildirir; bu, otomatik algılamanın birleştirilmiş hücreleri veya düzensiz aralıkları kaçırabileceği karmaşık PDF’lerde esastır.

  • Sütun ve satır koordinatları: Her sütun için X‑eksen başlangıç/bitiş konumlarını ve her satır için Y‑eksen konumlarını belirtin.
  • TemplateTableLayout: Bu nesne koordinat haritasını saklar ve daha sonra çıkarım çağrısına geçirilir.
import com.groupdocs.parser.templates.TemplateTableLayout;

public class TableExtractionSetup {
    public static TemplateTableLayout createTemplateTableLayout() {
        return new TemplateTableLayout(
            java.util.Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
            java.util.Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0})
        );
    }
}

Belge sayfalarından tabloları çıkarma

Tabloları çıkarmak için adım‑adım süreç nedir?
Destek doğrulandıktan ve bir düzen tanımlandıktan sonra, her sayfayı döner, tablo verisini talep eder ve sonuçları daha sonraki işleme için bir Java koleksiyonuna toplarsınız.

  • Sayfa yineleme: Çok sayfalı PDF’leri işlemek için parser.getPages() üzerinden döngü oluşturun.
  • Tablo çıkarımı: options içinde önceden tanımlanmış düzeni içeren parser.getTables(pageIndex, options) metodunu kullanın.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.IDocumentInfo;
import com.groupdocs.parser.options.PageTableAreaOptions;

public class TableExtractionProcess {
    public static void extractTablesFromDocument() {
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/your_document.pdf")) {
            IDocumentInfo documentInfo = parser.getDocumentInfo();
            if (documentInfo.getPageCount() > 0) {
                PageTableAreaOptions options = new PageTableAreaOptions(TableExtractionSetup.createTemplateTableLayout());

                for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
                    Iterable<PageTableArea> tables = parser.getTables(pageIndex, options);
                    
                    for (PageTableArea table : tables) {
                        for (int row = 0; row < table.getRowCount(); row++) {
                            for (int column = 0; column < table.getColumnCount(); column++) {
                                PageTableAreaCell cell = table.getCell(row, column);
                                if (cell != null) {
                                    System.out.print(cell.getText() + " | ");
                                }
                            }
                            System.out.println();
                        }
                        System.out.println();
                    }
                }
            } else {
                System.out.println("Document has no pages.");
            }
        }
    }
}

java pdf tablo çıkarımının pratik uygulamaları

Tablo çıkarımını uygulamak çeşitli gerçek dünya senaryolarında faydalı olabilir:

  1. Veri analizi: Finansal raporlar veya bilimsel makalelerden yapılandırılmış verileri alıp sonraki analizler için kullanın.
  2. Fatura işleme: Faturalardan satır öğelerini otomatik olarak çıkarın ve verileri muhasebe sistemlerine besleyin.
  3. Belge yönetimi: Çıkarılan tablo verilerini tam metin içeriğiyle birlikte indeksleyerek DMS çözümlerinde arama yeteneğini artırın.

Performans değerlendirmeleri

GroupDocs.Parser kullanırken optimal performans için:

  • Bellek kullanımını optimize edin: Büyük PDF’ler için yeterli yığın alanı ayırın (ör. -Xmx2g).
  • Toplu işleme: JVM ısınma süresini azaltmak için bir işte birden fazla belgeyi gruplayın.
  • Verimli düzenler: Kesin koordinat tanımları tarama alanını en aza indirir, çıkarımı %30’a kadar hızlandırır.

Yaygın sorunlar ve çözümler

SorunNedenÇözüm
Tablolar döndürülmediDüzen koordinatları gerçek tablo konumlarıyla eşleşmiyorBir görüntüleyicinin cetvelini kullanarak sütun/satır koordinatlarını PDF ile doğrulayın.
Bellek yetersizliği hatalarıTam dosya olarak çok büyük belge yüklendiAkış modunu kullanın veya JVM yığınını artırın (-Xmx).
Boş hücrelerTablo, düzen tarafından kapsanmayan birleştirilmiş hücreler içeriyorDüzeni, birleştirilmiş hücre sınırlarını içerecek şekilde ayarlayın veya düzen olmadan varsayılan çıkarımı kullanın.

Sıkça sorulan sorular

S: Diğer belge formatlarından tablolar çıkarabilir miyim?
C: Evet, GroupDocs.Parser DOCX, PPTX, TXT ve daha birçok formatı destekler. Tam liste için resmi belgelere bakın.

S: Geliştirme sürümleri için lisansa ihtiyacım var mı?
C: Geliştirme ve test için ücretsiz deneme lisansı yeterlidir. Üretim dağıtımları için ticari lisans gereklidir.

S: GroupDocs.Parser şifre korumalı PDF’leri nasıl işler?
C: Parser nesnesini oluştururken şifreyi sağlayın, ör. new Parser(filePath, password). Kütüphane dosyayı otomatik olarak çözer.

S: Düzen tanımlamadan tabloları çıkarmak mümkün mü?
C: Evet, seçenek olmadan parser.getTables(pageIndex) çağırabilirsiniz, ancak düzen‑tabanlı çıkarım karmaşık tablolar için daha yüksek doğruluk sağlar.

S: Hangi GroupDocs.Parser sürümü Java 11 ile uyumludur?
C: Bu rehberde kullanılan 25.5 sürümü, Java 8‑17’yi (Java 11 dahil) tam olarak destekler.

Sonuç

Artık GroupDocs.Parser kullanarak java pdf tablo çıkarımı için üretime hazır bir yaklaşımınız var. Belge yeteneklerini doğrulayarak, özel bir TemplateTableLayout tanımlayarak ve sayfalar arasında yineleyerek, herhangi bir sonraki Java iş akışı için güvenilir şekilde yapılandırılmış veri çekebilirsiniz.

Sonraki adımlar

  • Belgelendirmede documentation adresinde tablo birleştirme, hücre biçimlendirme ve CSV’ye dışa aktarma gibi gelişmiş özellikleri keşfedin.
  • Belge koleksiyonunuzdaki farklı tablo tasarımlarını yönetmek için çeşitli düzen yapılandırmalarıyla deneyler yapın.

Son Güncelleme: 2026-09-17
Test Edilen Versiyon: GroupDocs.Parser 25.5 for Java
Yazar: GroupDocs

İlgili Eğitimler