PDF dosyaları, metin, resim, animasyon, video ve diğer pek çok ek açıklamayı destekledikleri için popülerdir. Ancak metin, PDF belgelerinin çoğunun en önemli kısmıdır. Bu yazımızda C# .NET kullanarak PDF dosyasını TXT dosyasına ve TXT dosyasını PDF formatına dönüştüreceğiz. Bu dönüştürme, yalnızca PDF belgelerinin metin içerikleriyle ilgilendiğiniz durumlarda kullanışlıdır. Gelecek konulara genel bir bakış için aşağıdaki başlıkları inceleyelim:

İpucu: Metinlerden animasyonlar oluşturmanıza olanak tanıyan ücretsiz bir Metinden GIF’e Dönüştürücü ilginizi çekebilir.

TXT’den PDF’e veya PDF’den TXT’ye Dönüştürücü

PDF’den TXT’ye dönüştürmenin yanı sıra TXT dosyasından PDF’ye dönüştürme, asıl endişeniz belgede kullanılan metin dizisi olduğunda çok yararlıdır. Aspose.PDF for .NET API kullanarak birkaç basit adımda bu dosya biçimlerini birbirine dönüştürebilirsiniz. .NET çerçevesi tabanlı bir API olarak, VB.NET programlama dilinin yanı sıra C# ile çalışmanıza olanak tanır. İndirilenler‘dan DLL dosyalarını indirerek veya NuGet galerisi aracılığıyla API’yi .NET uygulamalarınıza kolayca yükleyebilirsiniz.

API’yi başarıyla kurduktan sonra, iki farklı yaklaşımla bir PDF dosyasını TXT dosyasına dönüştürmeye devam edelim:

C# veya VB.NET kullanarak PDF’yi Biçimlendirmeden METİN Dosyasına Dönüştürün

Her şeyden önce, herhangi bir biçimlendirme rutini olmadan PDF’yi Metin’e dönüştüreceğiz. Metin içeriği olduğu gibi dönüştürülecektir. Dolayısıyla çıktı metni, giriş PDF dosyasından itibaren herhangi bir biçimlendirmeyi takip etmeyecektir. PDF’yi TXT’ye büyük bir verimlilik ve güvenilirlikle dönüştürmek için aşağıdaki adımları izlemeniz gerekir.

  1. Giriş PDF belgesini yükle
  2. StringBuilder Sınıfının bir örneğini başlat
  3. PDF belgesinin her sayfasını yineleyin
  4. TextDevice ve Raw modunu kullanarak Metni Oku
  5. Çıktı Metnini bir TXT dosyası olarak kaydedin

Aşağıdaki kod parçacığı, .NET Framework’te C# veya VB kullanarak PDF’nin TXT dosyasına nasıl dönüştürüleceğini gösterir:

// Belgeyi aç
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Ayıklanan metni tutmak için dize
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Metin cihazı oluştur
        TextDevice textDevice = new TextDevice();

        // Farklı seçenekler belirleyin
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Sayfayı dönüştürün ve metni akışa kaydedin
        textDevice.Process(pdfPage, textStream);

        // Bellek akışını kapat
        textStream.Close();

        // Bellek akışından metin al
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Metin dosyasını kaydedin
File.WriteAllText(dataDir, builder.ToString());

C# veya VB.NET kullanarak Biçimlendirme Rutinleriyle PDF’yi TXT Dosyasına Dönüştürün

Şimdi, biraz biçimlendirme yordamıyla PDF’yi Metne dönüştürmeniz gereken kullanım durumunu ele alalım. Örneğin, paragraf girintileri, sekmeler, stiller veya sütun bazında biçimlendirme. Aşağıdaki adımları izleyerek bir PDF belgesinin metin içeriğini C# ile kolayca bir TXT dosyasına dönüştürebilirsiniz:

  1. Kaynak PDF Dosyasını Yükle
  2. Bir dizi değişkeni başlat
  3. TextFormattingMode.Pure ile her sayfayı okuyun
  4. Dönüştürülen TXT dosyasını kaydet

Aşağıdaki kod parçacığı, C# veya VB.NET dili kullanılarak biçimlendirme ile PDF’nin TXT dosyasına nasıl dönüştürüleceğini gösterir:

// Belgeyi aç
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Ayıklanan metni tutmak için dize
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Metin cihazı oluştur
        TextDevice textDevice = new TextDevice();

        // Farklı seçenekler belirleyin
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Sayfayı dönüştürün ve metni akışa kaydedin
        textDevice.Process(pdfPage, textStream);

        // Bellek akışını kapat
        textStream.Close();

        // Bellek akışından metin al
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Metin dosyasını kaydedin
File.WriteAllText(dataDir, builder.ToString());

PURE ve RAW Metin Dönüştürmenin Görsel Karşılaştırması

Aşağıdaki ekran görüntüsü, az önce tartıştığımız iki yaklaşımın görsel bir karşılaştırmasıdır. Saf modun (en sağdaki pencere), Metni PDF dosyasındakiyle (en soldaki pencere) aynı biçimlendirmelerle gösterdiğini fark edebilirsiniz.

PDF TXT csharp'ı dönüştür

Girdi ve çıktı dosyalarının bu ekran görüntüsü, hangi dönüştürme yaklaşımının size en uygun olduğuna karar vermenizi sağlar.

C# veya VB.NET kullanarak TXT Dosyasını Programlı Olarak PDF’ye Dönüştürün

TXT dosyaları genellikle çok büyük metin içerikleri içerir. Aspose.PDF for .NET API ile bir TXT dosyasını kolayca PDF dosyasına dönüştürebilirsiniz. Metni PDF’e dönüştürmek için aşağıdaki adımları uygulamanız yeterlidir:

  1. TextReader sınıfının bir örneğini oluşturun
  2. Bir PDF belgesi başlatın ve Boş Sayfa Ekleyin
  3. TextBuilder nesnesini somutlaştırın
  4. Giriş TXT dosyasındaki her metin satırını okuyun
  5. Çıktı PDF dosyasını kaydet

Aşağıdaki kod parçacığı, metin içeren bir TXT dosyasının program aracılığıyla C# veya VB.NET dilini kullanarak bir PDF belgesine nasıl dönüştürüleceğini açıklar:

// Giriş TXT dosyasını oku
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Yeni Belgeyi başlat
Document doc = new Document();

// boş sayfa ekle
Page page = doc.Pages.Add();
String strLine;

// TextBuilder nesnesini başlat
TextBuilder builder = new TextBuilder(page);
double x = 100; double y = 100;
while ((strLine = tr.ReadLine()) != null)
{
 TextFragment text = new TextFragment(strLine);
 text.Position = new Position(x, y);
 if (y >= page.PageInfo.Height - 72)
 {
  y = 100;
  page = doc.Pages.Add();
  builder = new TextBuilder(page);
 }
 else
 {
  y += 15;
 }
 builder.AppendText(text);
}

// Çıktı PDF dosyasını kaydet
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Çözüm

Bu yazıda, PDF dosyasındaki metnin TXT dosya formatına dönüştürülmesini öğrendik ve araştırdık. Ayrıca, bir TXT dosyasındaki metni, .NET Framework’te C# veya VB kullanarak bir PDF belgesine dönüştürdük. PDF ve TXT dosyalarını oldukça verimli ve hızlı bir şekilde dönüştürebilirsiniz. Bununla birlikte, herhangi bir endişeniz veya sorunuz varsa, lütfen Ücretsiz Destek Forumu adresinden bize yazmaktan veya Ürün Belgelerini keşfetmekten çekinmeyin. Sizden haber almak isteriz!

Ayrıca bakınız