Java PDF tablo çıkarma nasıl yapılır GroupDocs.Parser ile
PDF dosyalarından tabloları çıkarmak, statik belgeleri yapılandırılmış verilere dönüştürmeniz gerektiğinde sık karşılaşılan bir gereksinimdir. Bu öğreticide Java için GroupDocs.Parser kütüphanesini kullanarak PDF’lerden tabloları nasıl çıkaracağınızı öğreneceksiniz. Ortam kurulumunu, tablo‑düzeni yapılandırmasını ve pdf tablolarını csv olarak dışa aktarmayı kapsayacağız. Sonunda, sağlam tablo çıkarımını herhangi bir Java tabanlı veri hattına entegre edebileceksiniz.
Hızlı cevaplar
- Temel kütüphane nedir? GroupDocs.Parser for Java
- Tarama yapılan PDF’lerden tablolar çıkarabilir miyim? Yalnızca OCR sonrası; aşağıdaki “extract tables scanned pdf” notuna bakın
- Lisans gerekir mi? Deneme lisansı geliştirme için çalışır; üretim için tam lisans gereklidir.
- Hangi Java sürümü gereklidir? Java 8 or higher
- Toplu işleme destekleniyor mu? Evet – API büyük ölçekli çıkarım için optimize edilmiştir.
Java PDF tablo çıkarma nedir?
Java PDF tablo çıkarma, bir PDF içinde tablo yapısını programlı olarak bulma, hücre sınırlarını yorumlama ve metni CSV veya Excel gibi makine tarafından okunabilir bir formatta almayı içeren bir süreçtir. Bu, manuel kopyala‑yapıştırma olmadan sonraki analiz, raporlama veya taşıma görevlerini mümkün kılar.
Java PDF tablo çıkarma için neden GroupDocs.Parser kullanılmalı?
GroupDocs.Parser 50’den fazla giriş ve çıkış formatı için doğru düzen algılaması sağlar ve bellek kullanımını 200 MB’nin altında tutarak çok sayfalı PDF’leri işleyebilir. Toplu işleri destekler, basit bir Maven bağımlılığı sunar ve taranmış belge senaryoları için GroupDocs OCR ile sorunsuz bir şekilde bütünleşir.
Önkoşullar
Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:
- Java 8+ IDE’nizde veya derleme aracınızda kurulu ve yapılandırılmış olmalı.
- Maven bağımlılık yönetimi için.
- GroupDocs.Parser lisansına (deneme veya tam) erişiminiz olmalı.
Gerekli kütüphaneler ve bağımlılıklar
Şunlara ihtiyacınız olacak:
- GroupDocs.Parser for Java kütüphanesi (sürüm 25.5 veya üzeri).
- Bağımlılık yönetimi için sisteminizde kurulu Maven.
Ortam kurulumu
Geliştirme ortamınızın uyumlu bir Java sürümü (Java 8 veya üzeri) ile kurulduğundan emin olun.
Bilgi önkoşulları
Java programlamaya temel bir anlayış ve Java’da dosya işlemlerine aşinalık faydalı olacaktır.
GroupDocs.Parser’ı Java için kurma
GroupDocs.Parser’ı kullanmaya başlamak için projenize aşağıdaki şekilde entegre edin:
Maven kurulumu
GroupDocs.Parser’ı bağımlılık olarak eklemek için pom.xml dosyanıza aşağıdaki yapılandırmayı 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, GroupDocs.Parser for Java’ın en son sürümünü GroupDocs releases adresinden indirin.
Lisans edinimi
Ücretsiz bir deneme ile başlayın, geçici bir lisans edinin veya tam lisans satın alın. Ayrıntılar için GroupDocs lisans sayfası adresini ziyaret edin.
Temel başlatma ve kurulum
Java uygulamanızda GroupDocs.Parser’ı aşağıdaki gibi başlatın:
import com.groupdocs.parser.Parser;
public class DocumentParser {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
// Ready to perform operations on the document
} catch (Exception e) {
System.err.println("Error creating Parser instance: " + e.getMessage());
}
}
}
Uygulama rehberi
PDF’den tabloları nasıl çıkaracağınızı öğrenmeniz gereken her özelliği adım adım inceleyelim.
Özellik 1: GroupDocs ile belge ayrıştırma
Genel Bakış
PDF belgesiyle etkileşim kurmak için Parser sınıfının bir örneğini oluşturun.Parser, GroupDocs.Parser içinde PDF içeriğini okuyan giriş noktası sınıfıdır. Bu, belge üzerinde çeşitli işlemleri mümkün kılar.
Parser örneği oluşturmaParser sınıfı, GroupDocs.Parser içinde PDF içeriğini okumanın giriş noktasıdır. Belgeyi belleğe yükler ve metin, tablo ve diğer yapıları çıkarmak için yöntemler sunar.
import com.groupdocs.parser.Parser;
public class CreateParserInstance {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
// Document is ready for operations
} catch (Exception e) {
System.err.println("Error creating Parser instance: " + e.getMessage());
}
}
}
Özellik 2: tablo çıkarma yeteneği kontrolü
Genel Bakış
Tabloları çıkarmadan önce PDF’in tablo çıkarımını desteklediğini doğrulayın.
Tablo desteğini kontrol etmehasTables() yöntemi, yüklenen PDF’in algılanabilir tablo verisi içerip içermediğini belirten bir boolean döndürür.hasTables() belgenin herhangi bir tablo içerip içermediğini kontrol eder.
import com.groupdocs.parser.Parser;
public class CheckTableSupport {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
try (Parser parser = new Parser(filePath)) {
boolean isTablesSupported = parser.getFeatures().isTables();
if (!isTablesSupported) {
System.out.println("Document doesn't support tables extraction.");
}
} catch (Exception e) {
System.err.println("Error checking table extraction capability: " + e.getMessage());
}
}
}
Özellik 3: tablo düzeni yapılandırması
Genel Bakış
Tablolarınızın düzenini yapılandırmak, veri çıkarımının doğruluğunu artırabilir.
Tablo düzeni ayarlamaTemplateTableLayout, beklenen sütun genişliklerini ve satır yüksekliklerini tanımlar.TemplateTableLayout, tablo algısı için özel sütun genişlikleri ve satır yükseklikleri belirler. Bu değerleri ayarlamak, motorun hücre sınırlarını görsel ızgaraya hizalamasına yardımcı olur.
import com.groupdocs.parser.templates.TemplateTableLayout;
import java.util.Arrays;
public class ConfigureTableLayout {
public static void main(String[] args) {
final double[] columnWidths = {50.0, 95.0, 275.0, 415.0, 485.0, 545.0};
final double[] rowHeights = {325.0, 340.0, 365.0, 395.0};
TemplateTableLayout layout = new TemplateTableLayout(
Arrays.asList(columnWidths),
Arrays.asList(rowHeights));
}
}
Özellik 4: tablo çıkarma seçenekleri ayarı
Genel Bakış
Çıkarma doğruluğunu artırmak için belirli yapılandırmalarla tabloları çıkarmak üzere seçenekleri ayarlayın.
Çıkarma seçeneklerini yapılandırmaTableExtractionOptions, başlık satırlarını dahil edip etmeyeceğinizi, hücreleri birleştirip birleştirmeyeceğinizi veya boş satırları yok sayıp saymayacağınızı belirlemenizi sağlar.TableExtractionOptions, başlıkları dahil etme veya hücreleri birleştirme gibi çıkarma davranışını yapılandırır.
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.templates.TemplateTableLayout;
public class SetExtractionOptions {
public static void main(String[] args) {
TemplateTableLayout layout = new TemplateTableLayout(
Arrays.asList(new Double[]{50.0, 95.0, 275.0, 415.0, 485.0, 545.0}),
Arrays.asList(new Double[]{325.0, 340.0, 365.0, 395.0}));
PageTableAreaOptions options = new PageTableAreaOptions(layout);
}
}
Özellik 5: bir belgeden tablo çıkarma
Genel Bakış
Yapılandırılmış seçenekleri kullanarak tabloları çıkarın ve gerektiği gibi işleyin.
Çıkarma sürecigetTables() yöntemi, istenen sayfalarda algılanan her tabloyu temsil eden Table nesnelerinin bir koleksiyonunu döndürür.getTables() belgeden tüm algılanan tabloları alır.Table, satır ve hücrelere sahip tek bir çıkarılmış tabloyu temsil eder.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PageTableAreaOptions;
import com.groupdocs.parser.data.PageTableArea;
public class ExtractTables {
public static void main(String[] args) {
final String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleInvoicePagesPdf.pdf";
PageTableAreaOptions options = new PageTableAreaOptions(/* layout from previous feature */);
try (Parser parser = new Parser(filePath)) {
Iterable<PageTableArea> tables = parser.getTables(options);
for (PageTableArea table : tables) {
// Process each table as needed
}
} catch (Exception e) {
System.err.println("Error extracting tables: " + e.getMessage());
}
}
}
Özellik 6: tablo satırları ve sütunları üzerinde yineleme
Genel Bakış
Çıkarma sonrası, tek tek hücrelere erişmek için satır ve sütunlar üzerinde yineleme yapın.
Hücreleri yinele ve eriş
Her Table, getRows() sağlar ve her Row, getCells() sağlar. Hücre metnini getText() ile okuyabilir ve CSV ya da başka bir formata yazabilirsiniz.Row, bir Table içindeki tek bir satırı temsil eder.getRows(), bir tablodaki satırların listesini döndürür.getCells(), bir satırın hücrelerini döndürür.getText(), bir hücrenin metin içeriğini alır.
import com.groupdocs.parser.data.PageTableArea;
import com.groupdocs.parser.data.PageTableAreaCell;
public class IterateTables {
public static void main(String[] args) {
PageTableArea table = /* reference to a specific PageTableArea object */;
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) {
// Process the cell text as needed
}
}
}
}
}
Yaygın sorunlar ve çözümler
| Sorun | Neden olur | İpucu |
|---|---|---|
| Tablolar döndürülmedi | PDF taranmış (görüntü‑tabanlı) | Önce OCR çalıştırın veya ayrıştırmadan önce GroupDocs OCR kullanın. |
| Yanlış sütun hizalaması | Düzen koordinatları hatalı | TemplateTableLayout değerlerini görsel ızgaraya uyacak şekilde ince ayar yapın. |
| Büyük PDF’lerde bellek dalgalanmaları | Parser tüm belgeyi belleğe yükler | Sayfaları toplu işleyin ve her toplu işlemden sonra Parser‘ı kapatın. |
Sıkça sorulan sorular
1. Taranmış PDF’lerden mi yoksa sadece dijital PDF’lerden mi tablo çıkarabilirim?
Cevap: GroupDocs.Parser öncelikle gömülü metin içeren dijital, seçilebilir PDF’lerle çalışır. Taranmış PDF’ler için önce OCR çalıştırmanız gerekir—ya GroupDocs OCR ya da başka bir OCR motoru ile—metnin tablo çıkarımından önce aranabilir hâle gelmesi için.
2. Karmaşık düzenlere veya birleştirilmiş hücrelere sahip tabloları nasıl yönetirim?
Cevap: TemplateTableLayout‘u kesin sütun ve satır koordinatlarıyla özelleştirin veya TableExtractionOptions içinde mergeCells bayrağını etkinleştirin. Birleştirilmiş bölgeleri doğru yorumlamak için son‑işleme gerekebilir.
3. GroupDocs.Parser büyük belgeler veya toplu işleme için uygun mu?
Cevap: Evet. Kütüphane yüksek verimli senaryolar için tasarlanmıştır ve bellek tüketimini düşük tutarak yüzlerce sayfalı PDF’leri işleyebilir. Performansı en üst düzeye çıkarmak için sayfa‑aralığı seçeneklerini kullanın ve her toplu işlemden sonra Parser örneğini serbest bırakın.
4. Çıkarılan tablo verilerini CSV veya Excel gibi formatlara dışa aktarabilir miyim?
Cevap: GroupDocs.Parser ham tablo verilerini (satırlar ve hücreler) döndürür. Bu verileri OpenCSV kullanarak CSV’ye veya Apache POI kullanarak Excel’e kolayca yazabilirsiniz. Bu, ek lisans gerektirmeden export pdf tables csv kullanım senaryosunu karşılar.
5. Birden fazla sayfadan aynı anda tablo çıkarmayı destekliyor mu?
Cevap: Kesinlikle. Sayfa aralığıyla parser.getTables(pageOptions) çağırın veya tüm sayfaları yineleyin. API, sayfalar arasında tabloları birleştirir ve tek bir bütünleştirilmiş veri kümesi oluşturmanıza olanak tanır.
Sonuç
GroupDocs.Parser ile Java PDF tablo çıkarma oldukça basit hale gelir. Bir Parser başlatarak, tablo desteğini doğrulayarak, düzen ve çıkarma seçeneklerini yapılandırarak ve ortaya çıkan Table nesneleri üzerinde yineleme yaparak statik PDF’leri yapılandırılmış CSV veya Excel dosyalarına dönüştürebilirsiniz. Kütüphanenin performansa odaklı tasarımı, 50’den fazla format desteği ve sorunsuz OCR entegrasyonu, fatura otomasyonu, veri taşıma ve büyük ölçekli analiz hatları için ideal bir seçim olmasını sağlar. Yukarıda belirtilen adımlarla, güvenilir tablo çıkarımını herhangi bir Java uygulamasına yerleştirmeye hazırsınız.
Son Güncelleme: 2026-09-17
Test Edilen Versiyon: GroupDocs.Parser 25.5 (Java)
Yazar: GroupDocs