PDF Veri Çıkarma .NET: Geliştirici Rehberi
PDF'lerden metin, tablo, form ve görüntüleri .NET ile IronPDF kullanarak sadece birkaç kod satırı ile çıkarın—NuGet aracılığıyla yükleyin, PDF'inizi yükleyin ve 5 dakikadan kısa sürede başlamak için ExtractAllText() çağrısı yapın.
PDF belgeleri iş dünyasında her yerdedir: faturalar, raporlar, sözleşmeler, kılavuzlar. Ancak bunlardan hayati bilgileri programlı olarak almak zordur. PDF'ler, şeylerin nasıl göründüğüne odaklanır, verilerin nasıl erişileceğine değil. C#'ta OCR ile çalışan geliştiriciler için bu, taranmış belgelerle uğraşırken benzersiz zorluklar sunar.
.NET geliştiricileri için IronPDF, PDF dosyalarından veri çıkarmayı kolaylaştıran güçlü bir .NET PDF kütüphanesidir. Metin, tablolar, form alanları, görseller ve ekleri doğrudan girdi PDF belgelerinden çekebilirsiniz. Fatura işleme otomasyonundan bilgi tabanı oluşturmaya ya da raporlar oluşturmaya kadar, bu kütüphane size önemli oranda zaman kazandırır. Tarama yapılan PDF'lerle çalışırken, görüntü tabanlı içeriği yönetmek için PDF OCR metin çıkarma yeteneklerine de ihtiyacınız olabilir.
Bu kılavuz, metin içeriği, tablo verileri ve form alanı değerlerinin çıkarılması için pratik örneklerle sizi yönlendirir ve kendi projelerinize uyarlamanız için her kod snippet'inin ardından açıklamalar sunar. Eğer başka belge türleriyle de çalışıyorsanız, tarama yapılan belgeleri okuma veya TIFF'i aranabilir PDF'e dönüştürme seçeneklerini de araştırmak faydalı olabilir.
IronPDF ile Çalışmaya Nasıl Başlarım?
IronPDF'u yüklemek, NuGet Paket Yöneticisi üzerinden saniyeler alır. Paket Yöneticisi Konsolu'nu açın ve şunu çalıştırın:
Install-Package IronOcr
Daha gelişmiş kurulum senaryoları için NuGet paketleri belgelerine göz atın. Kurulduktan sonra, girdi PDF belgelerini hemen işlemeye başlayabilirsiniz. IronPDF'ün API'sinin en basit bir .NET örneği burada gösterilmektedir:
using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
Imports IronPdf
' Load any PDF document
Dim pdf = PdfDocument.FromFile("document.pdf")
' Extract all text with one line
Dim allText As String = pdf.ExtractAllText()
Console.WriteLine(allText)
Bu kod, bir PDF'yi yükler ve her metin parçasını çıkarır. IronPDF, tipik olarak diğer kütüphanelerde sorunlara neden olan karmaşık PDF yapıları, form verisi ve kodlamaları otomatik olarak yönetir. PDF belgelerinden çıkarılan veriler bir metin dosyasına kaydedilebilir veya analiz için daha fazla işlenebilir. Daha karmaşık çıkarma ihtiyaçları için özel belge işleme tekniklerini araştırmak isteyebilirsiniz.
Pratik ipucu: Çıkarılan metni daha sonra işlemek için bir .txt dosyasına kaydedebilir veya veritabanlarını, Excel sayfalarını veya bilgi tabanlarını doldurmak için ayrıştırabilirsiniz. Bu yöntem, raporlar, sözleşmeler veya hızlıca ham metni elde etmeniz gereken herhangi bir PDF için iyi çalışır. Tablolar içeren senaryolar için, daha yapılandırılmış veri çıkarımı için belgelerdeki tabloları okuma konusunu öğrenmeyi düşünün.
Çıkarılan Metin Ne Görünebilir?

Belirli Sayfalardan Veri Nasıl Çıkartılır?
Gerçek dünya uygulamaları genellikle kesin veri çıkarımı gerektirir. IronPDF, bir PDF içindeki belirli sayfalardan değerli bilgileri hedeflemek için çeşitli yöntemler sunar. Bu yaklaşım, OCR bölgeye özgü çıkarma ile benzerdir, ancak PDF'ler için. Bu örnek için, aşağıdaki PDF'yi kullanacağız:

Aşağıdaki kod, bu PDF içindeki belirli sayfalardan verileri çıkarır ve sonuçları konsolumuza geri verir. Çok sayfalı belgelerle çalışırken, benzer zorluklar için çok sayfalı TIFF işleme tekniklerini faydalı bulabilirsiniz.
using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
string pageText = pdf.ExtractTextFromPage(pageIndex);
// Split on 2 or more spaces (tables often flatten into space-separated values)
var tokens = Regex.Split(pageText, @"\s{2,}");
foreach (string token in tokens)
{
// Match totals, invoice headers, and invoice rows
if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
{
Console.WriteLine($"Important: {token.Trim()}");
}
}
}
using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
string pageText = pdf.ExtractTextFromPage(pageIndex);
// Split on 2 or more spaces (tables often flatten into space-separated values)
var tokens = Regex.Split(pageText, @"\s{2,}");
foreach (string token in tokens)
{
// Match totals, invoice headers, and invoice rows
if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
{
Console.WriteLine($"Important: {token.Trim()}");
}
}
}
Imports IronPdf
Imports System
Imports System.Text.RegularExpressions
' Load any PDF document
Dim pdf = PdfDocument.FromFile("AnnualReport2024.pdf")
' Extract from selected pages
Dim pagesToExtract As Integer() = {0, 2, 4} ' Pages 1, 3, and 5
For Each pageIndex In pagesToExtract
Dim pageText As String = pdf.ExtractTextFromPage(pageIndex)
' Split on 2 or more spaces (tables often flatten into space-separated values)
Dim tokens = Regex.Split(pageText, "\s{2,}")
For Each token As String In tokens
' Match totals, invoice headers, and invoice rows
If token.Contains("Invoice") OrElse token.Contains("Total") OrElse token.StartsWith("INV-") Then
Console.WriteLine($"Important: {token.Trim()}")
End If
Next
Next
Bu örnek, PDF belgelerinden metin çıkarmanın, temel bilgileri aramanın ve bunları veri dosyalarında veya bilgi tabanında depolamaya hazırlamanın nasıl yapılacağını gösterir. ExtractTextFromPage() metodu, belgenin okuma sırasını korur, bu da onu belge analizi ve içerik indeksleme görevleri için mükemmel hale getirir. Gelişmiş doğruluk için, düşük kaliteli PDF'lerle çalışırken görüntü optimizasyon filtrelerini kullanmayı düşünebilirsiniz.

Finansal belgeleri işlerken, özel terimlerle gelişmiş doğruluk için Finansal Dil Paketi'nden faydalanabilirsiniz. Ayrıca, büyük belge grupları için çıkarım performansını izlemek için ilerleme takibi faydalı olabilir.
PDF Dosyalarından Tablolar Nasıl Çıkarılır?
PDF dosyalarındaki tablolar, yerli bir yapıya sahip değildirler—sadece tablo gibi görünmek için konumlandırılmış metin içeriğidirler. IronPDF, tablosal verileri düzeni koruyarak çıkarır, böylece Excel veya metin dosyalarına işleyebilirsiniz. Bu, OCR çizim çıkarma ile benzerdir ancak tablosal içerik için özel olarak optimize edilmiştir. Bu örnek için, bu PDF'yi kullanacağız:

Amacımız, IronPDF'nin tablosal verileri ayrıştırabilme yeteneğini göstererek tablonun içerisindeki verileri çıkarmaktır. Daha gelişmiş tablo çıkarma senaryoları için, karmaşık tablo yapılarını makine öğrenmesi kullanarak okuyan belgelerdeki tabloları okuma konusunu keşfedin.
using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
continue;
string[] rawCells = Regex.Split(line.Trim(), @"\s+");
string[] cells;
// If the line starts with "Product", combine first two tokens as product name
if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
{
cells = new string[rawCells.Length - 1];
cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
}
else
{
cells = rawCells;
}
// Keep header or table rows
bool isTableOrHeader = cells.Length >= 2
&& (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
|| Regex.IsMatch(cells[0], @"^INV-\d+"));
if (isTableOrHeader)
{
Console.WriteLine($"Row: {string.Join("|", cells)}");
string csvRow = string.Join(",", cells).Trim();
csvBuilder.AppendLine(csvRow);
}
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
continue;
string[] rawCells = Regex.Split(line.Trim(), @"\s+");
string[] cells;
// If the line starts with "Product", combine first two tokens as product name
if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
{
cells = new string[rawCells.Length - 1];
cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
}
else
{
cells = rawCells;
}
// Keep header or table rows
bool isTableOrHeader = cells.Length >= 2
&& (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
|| Regex.IsMatch(cells[0], @"^INV-\d+"));
if (isTableOrHeader)
{
Console.WriteLine($"Row: {string.Join("|", cells)}");
string csvRow = string.Join(",", cells).Trim();
csvBuilder.AppendLine(csvRow);
}
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
Imports IronPdf
Imports System
Imports System.Text
Imports System.Text.RegularExpressions
Dim pdf = PdfDocument.FromFile("example.pdf")
Dim rawText As String = pdf.ExtractAllText()
' Split into lines for processing
Dim lines As String() = rawText.Split(ControlChars.Lf)
Dim csvBuilder As New StringBuilder()
For Each line As String In lines
If String.IsNullOrWhiteSpace(line) OrElse line.Contains("Page") Then
Continue For
End If
Dim rawCells As String() = Regex.Split(line.Trim(), "\s+")
Dim cells As String()
' If the line starts with "Product", combine first two tokens as product name
If rawCells(0).StartsWith("Product") AndAlso rawCells.Length >= 5 Then
cells = New String(rawCells.Length - 2) {}
cells(0) = rawCells(0) & " " & rawCells(1) ' Combine Product + letter
Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2)
Else
cells = rawCells
End If
' Keep header or table rows
Dim isTableOrHeader As Boolean = cells.Length >= 2 AndAlso (cells(0).StartsWith("Item") OrElse cells(0).StartsWith("Product") OrElse Regex.IsMatch(cells(0), "^INV-\d+"))
If isTableOrHeader Then
Console.WriteLine($"Row: {String.Join("|", cells)}")
Dim csvRow As String = String.Join(",", cells).Trim()
csvBuilder.AppendLine(csvRow)
End If
Next
' Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString())
Console.WriteLine("Table data exported to CSV")
PDF'lerdeki tablolar genellikle bir grid gibi görünmeleri için konumlandırılmış metindir. Bu kontrol, bir satırın tablo satırına mı yoksa başlığa mı ait olduğunu belirlemeye yardımcı olur. Başlıkları, altbilgileri ve ilgisiz metni filtreleyerek, temiz tablosal verileri bir PDF'den çıkartabilir, CSV veya Excel için hazır hale getirebilirsiniz. Karmaşık düzenleri olan makbuzlar ve faturaları işlerken, AdvancedScan Uzantısı'na bir göz atın.
Bu iş akışı PDF formları, finansal belgeler ve raporlar için çalışır. Daha sonra PDF'lerden verileri xlsx dosyalarına dönüştürebilir veya tüm faydalı verileri içeren bir zip dosyasına birleştirebilirsiniz. Birleşik hücreler içeren karmaşık tablolar için, sütun konumlarına göre ayrıştırma mantığını ayarlamanız gerekebilir. veri çıkışı belgeleri yapılandırılmış sonuçlarla çalışmaya dair detaylı kılavuzluk sağlar.

Gelişmiş tablo çıkarım doğruluğu için, tablo bölgelerini otomatik olarak algılamak üzere bilgisayarla görme tekniklerini kullanmayı düşünebilirsiniz. Bu yaklaşım, karmaşık düzenlerde önemli ölçüde sonuçları iyileştirebilir.
Form Alanı Verilerini Nasıl Çıkarırım?
IronPDF ayrıca form alanı verilerin çıkarımı ve modifikasyonunu yönetir, pasaport okuma yeteneklerine benzer şekilde yapılandırılmış belgeler için:
using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
Console.WriteLine($"{field.Name}: {field.Value}");
// Update form values if needed
if (field.Name == "customer_name")
{
field.Value = "Updated Value";
}
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
Console.WriteLine($"{field.Name}: {field.Value}");
// Update form values if needed
if (field.Name == "customer_name")
{
field.Value = "Updated Value";
}
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
Imports IronPdf
Imports System.Drawing
Imports System.Linq
Dim pdf = PdfDocument.FromFile("form_document.pdf")
' Extract form field data
Dim form = pdf.Form
For Each field In form ' Removed '.Fields' as 'FormFieldCollection' is enumerable
Console.WriteLine($"{field.Name}: {field.Value}")
' Update form values if needed
If field.Name = "customer_name" Then
field.Value = "Updated Value"
End If
Next
' Save modified form
pdf.SaveAs("updated_form.pdf")
Bu kod, PDF'lerden form alanı değerlerini çıkarır ve bunları programlı olarak güncellemenize olanak tanır, bu da PDF formlarını işlemeyi ve belirli bilgi sınırlarını analiz veya rapor üretimi için çıkarmayı kolaylaştırır. Bu, müşteri girişini otomatize etme, anket işleme veya veri doğrulama gibi iş akışlarını otomatize etmeye yararlıdır. Kimlik belgesi işleme için, kimlik belgesi OCR en iyi uygulamalarını inceleyin.

CheckBox ve radyo düğmeleri içeren formlarla çalışırken, özel alan türleri için barkod ve QR kod okuma benzeri özel mantık uygulamanız gerekebilir. OcrResult Sınıf belgeleri çeşitli sonuç türlerini yönetme konusunda kapsamlı bilgiler sağlar.
Sırada Ne Yapmalıyım?
IronPDF, .NET'te PDF veri çıkarımını pratik ve verimli bir hale getirir. Birçok PDF belgesinden, taranan PDF'ler dahil, resimleri, metni, tabloları, form alanlarını ve hatta ekleri çıkartabilirsiniz. Taranmış belgeler için, IronPDF ve IronOCR özelliklerini birleştirmek, kapsamlı belge işleme yetenekleri sunar.
Bilgi tabanı oluşturuyor, raporlama iş akışlarını otomatikleştiriyor veya finansal PDF'lerden veri çıkarıyorsanız, bu kütüphane işleri manuel kopyalamadan veya hata yapma olasılığı yüksek ayrıştırmadan kurtarır. Basit, hızlı ve Visual Studio projelerine doğrudan entegre olur. Dağıtım için, IronPDF Windows, Linux, Docker ve AWS ve Azure gibi bulut platformlarını da içeren çeşitli platformları destekler.
Bir deneyin - muhtemelen zaman kazanacak ve PDF'lerle çalışmanın getirdiği genellikle baş ağrılarına neden olan sorunlardan kurtulacaksınız. Yeni başlayanlar ve küçük ekipler için, lisanslama seçenekleri ihtiyaçlarınıza göre büyüyen esnek planlar içerir. Üretim dağıtımları için lisans anahtarı uygulamasını da inceleyebilirsiniz.
Uygulamalarınızda PDF veri çıkarımını uygulamaya hazır mısınız? IronPDF size göre bir .NET kütüphanesi gibi mi görünüyor? Tam işlevselliğe erişmek için ücretsiz denemenizi başlatın veya ticari kullanım için lisanslama seçeneklerimizi keşfedin. belgelerimize kapsamlı kılavuzlar ve API referansları için göz atın. Hızlı uygulama için, başlangıçta dakikalar içinde başlamanızı sağlayan demos ve kod örneklerimize göz atın.
Sıkça Sorulan Sorular
PDF belgelerinden veri çıkarmanın ana zorluğu nedir?
PDF belgeleri, içeriği belirli bir yerleşimde görüntülemek için tasarlanmıştır, bu nedenle programlanabilir veri çıkarımı, veri erişilebilirliğinden çok görünüme odaklanıldığından zordur.
IronOCR, .NET'te PDF veri çıkarımına nasıl yardımcı olabilir?
IronOCR, taranmış belgeler dahil PDF'lerden metin ve verileri çıkarmak için araçlar sunar; Optik Karakter Tanıma (OCR) kullanarak metin görüntülerini makine tarafından okunabilir verilere dönüştürür.
IronOCR, taranmış PDF belgelerini işleyebilir mi?
Evet, IronOCR, gelişmiş OCR teknolojisini kullanarak belgedeki görüntülerden metni tanıyıp çıkartarak taranmış PDF'leri işleyebilir.
PDF veri çıkarımı için IronOCR ile hangi programlama dili kullanılır?
IronOCR, C# ile kullanılmak üzere tasarlanmıştır ve .NET framework içinde PDF'lerden veri çıkarmak için mükemmel bir seçimdir.
IronOCR kullanarak PDF veri çıkarımı için kod örnekleri mevcut mu?
Evet, kılavuz IronOCR kullanarak PDF dosyalarından etkin bir şekilde veri çıkarmayı gösteren tam C# kod örneklerini içerir.
IronOCR, PDF belgelerinden tabloları ayrıştırabilir mi?
IronOCR, PDF belgelerinden tabloları ayrıştırma işlevi içerir, böylece geliştiricilerin yapılandırılmış verileri verimli bir şekilde çıkarmasını sağlar.
IronOCR, PDF'lerden hangi tür içerikleri çıkarabilir?
IronOCR, metinleri, tabloları ve taranmış görüntülerden verileri PDF'lerden çıkarabilir, bu da onu veri çıkarımı için çok yönlü bir araç yapar.



