C# ile PDF'den Tablo Çıkarma

PDF dosyalarından tabloları çıkarmak, veri çıkarma veya analiziyle uğraşırken yaygın bir görev olabilir. İster işleme için tabloları almaya çalışıyor olun, ister daha sonra kullanmak üzere dışa aktarıyor olun, bu işlemi otomatikleştirmek zamandan ve emekten tasarruf sağlayabilir. Bu blog yazısında, C# dilinde bir PDF’den tabloları nasıl çıkaracağınızı veya çıkarılan verileri bir CSV dosyasına nasıl aktaracağınızı göstereceğiz.

Bu makalede aşağıdaki bölümleri ele alacağız:

PDF’den Tablolar Neden Çıkarılır?

PDF dosyaları, taşınabilir bir formatta bilgi paylaşımı için yaygın olarak kullanılır. Ancak, tablolar gibi yapılandırılmış verileri çıkarmak zor olabilir çünkü PDF dosyaları kolay düzenleme veya manipülasyon için tasarlanmamıştır. Tablo verilerini C#’ta programatik olarak çıkararak, verileri daha erişilebilir hale getirebilir, böylece verileri farklı uygulamalar arasında veri alışverişi için yaygın olarak kullanılan CSV gibi farklı formatlarda analiz edebilir, değiştirebilir veya depolayabilirsiniz.

PDF Tablo Çıkarımı - C# API Yapılandırması

Aşağıdaki NuGet kurulum komutuyla Conholdate.Total for .NET‘yi yapılandırarak PDF tablolarından veri çıkarabilirsiniz:

PM> NuGet\Install-Package Conholdate.Total

C# ile PDF’den Tablo Çıkarma

Bu bölümde, C# kullanarak bir PDF belgesinden tablo çıkarmayı ele alacağız.

  • PDF Belgesinin Yüklenmesi: Kod, PDF dosyasının bir Belge sınıfı nesnesine yüklenmesiyle başlar.
  • Tablo Absorber: TableAbsorber sınıfı, PDF’nin her sayfasındaki tabloları algılamak ve emmek için kullanılır.
  • Tablo Verilerinin Çıkarılması: Kod, bulunan her tabloyu yineleyerek tablodaki her hücrenin içeriğini çıkarır ve bunu yapılandırılmış bir biçimde yazdırır.

Bu yöntem, PDF belgelerinden tablo verilerine erişmenin etkili bir yolunu sunarak, bilgilerle programatik olarak çalışmanızı sağlar. Aşağıdaki kod parçası, C#’ta tablo çıkarmayı gösterir:

// Kaynak PDF belgesini yükle
var filePath = "input.pdf";
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath);
foreach (var page in pdfDocument.Pages)
{
    Aspose.Pdf.Text.TableAbsorber absorber = new Aspose.Pdf.Text.TableAbsorber();
    absorber.Visit(page);
    foreach (AbsorbedTable table in absorber.TableList)
    {
        Console.WriteLine("Table");
        foreach (AbsorbedRow row in table.RowList)
        {
            foreach (AbsorbedCell cell in row.CellList)
            {
                foreach (TextFragment fragment in cell.TextFragments)
                {
                    var sb = new StringBuilder();
                    foreach (TextSegment seg in fragment.Segments)
                        sb.Append(seg.Text);
                    Console.Write("{sb.ToString()}|");
                }
            }
            Console.WriteLine();
        }
    }
}

PDF Tablo Verilerini C# ile CSV’ye Dönüştürme

Bir PDF’den tablo verilerini çıkardıktan sonra, CSV gibi daha erişilebilir bir biçimde kaydetmek isteyebilirsiniz. CSV (Virgülle Ayrılmış Değerler), Microsoft Excel, Google E-Tablolar ve birçok veri işleme sistemi gibi uygulamalar tarafından yaygın olarak desteklenir. Bu bölümde, PDF tablo verilerini C#’ta CSV’ye dönüştüreceğiz:

Aşağıdaki adımlar, C# dilinde PDF tablolarından CSV formatına veri aktarımının nasıl yapılacağını göstermektedir:

  • PDF Belgesinin Yüklenmesi: PDF belgesi daha önce olduğu gibi Belge nesnesine yüklenir.
  • ExcelSaveOptions: ExcelSaveOptions örneği, biçimi CSV olarak ayarlanarak oluşturulur. Bu, PDF’deki tablo verilerinin doğrudan bir CSV dosyası olarak dışa aktarılmasını sağlar.
  • CSV Dosyasını Kaydetme: PDF tablo verilerini .csv dosyasına aktarmak için Save metodu çağrılır.

Aşağıdaki kod örneği, PDF tablosunun C# dilinde CSV formatına nasıl dönüştürüleceğini göstermektedir:

// PDF belgesini yükle
Document pdfDocument = new Document("input.pdf");

// ExcelSave Option nesnesini örneklendir
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };

// Çıktıyı XLS formatında kaydedin
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);

Ücretsiz Lisans Alın

API’nin farklı özelliklerini herhangi bir değerlendirme sınırlaması olmadan test etmek için ücretsiz geçici lisans alabilirsiniz.

Özetle

C# dilinde bir PDF’den tabloları çıkarmak ve verileri CSV formatına aktarmak C# dilinde basit ve etkili hale getirilebilir. Tablo çıkarmayı otomatikleştirme yeteneği, PDF’lerden CSV gibi daha esnek bir formatta tablo verilerini analiz etmeniz veya paylaşmanız gereken senaryolarda yardımcı olur. Bu blog yazısındaki adımları izleyerek, PDF dosyalarınızdan tablo verilerini kolayca alabilir ve depolayabilirsiniz. Bu süreç özellikle veri analizi, raporlama veya aksi takdirde katı PDF belgelerinden yapılandırılmış veri gerektiren herhangi bir görevde faydalıdır. Herhangi bir sorunuz olması durumunda lütfen forum adresinden bizimle iletişime geçin.

Ayrıca bakınız