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:
Parsersınıfı belgeyi belleğe yükleyen giriş noktasıdır. - Özellik kontrolü:
parser.getFeatures().isTables()metodunu çağırın; tablo çıkarımı desteklendiğindetruedö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ı:
optionsiçinde önceden tanımlanmış düzeni içerenparser.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:
- Veri analizi: Finansal raporlar veya bilimsel makalelerden yapılandırılmış verileri alıp sonraki analizler için kullanın.
- Fatura işleme: Faturalardan satır öğelerini otomatik olarak çıkarın ve verileri muhasebe sistemlerine besleyin.
- 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
| Sorun | Neden | Çözüm |
|---|---|---|
| Tablolar döndürülmedi | Düzen koordinatları gerçek tablo konumlarıyla eşleşmiyor | Bir 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üklendi | Akış modunu kullanın veya JVM yığınını artırın (-Xmx). |
| Boş hücreler | Tablo, düzen tarafından kapsanmayan birleştirilmiş hücreler içeriyor | Dü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