C# ile PDF'ye Metin Ekleme

PDF formatı, faturalar, finansal raporlar, özgeçmişler vb. gibi çeşitli türlerde belgeler oluşturmak için yaygın olarak kullanılır. Otomasyon dünyasında, PDF belgeleri web veya masaüstü uygulamaları içinden oluşturulur ve değiştirilir. Bu nedenle, bazı durumlarda mevcut PDF dosyalarına programlı olarak metin eklemeniz gerekebilir. Buna uygun olarak, bu makale C# kullanarak PDF belgelerine nasıl metin ekleneceğini gösterir.

PDF’ye Metin Eklemek için C# API

PDF dosyalarına dinamik olarak metin eklemek için Aspose.PDF for .NET kullanacağız. .NET uygulamalarınız içinden PDF dosyaları oluşturmanıza ve yönetmenize izin veren, zengin özelliklere sahip bir API’dir. API’yi indirebilir veya NuGet kullanarak yükleyebilirsiniz.

PM> Install-Package Aspose.PDF

C# kullanarak PDF’ye Metin Ekleme

Aşağıda, C# kullanarak bir PDF dosyasına metin ekleme adımları yer almaktadır.

  • Belge sınıfını kullanarak PDF dosyasını yükleyin.
  • PDF’nin istenen sayfasını bir Page nesnesine alın.
  • Bir TextFragment nesnesi oluşturun ve metnini, konumunu, yazı tipini, arka plan rengini vb. ayarlayın.
  • Bir TextBuilder nesnesi oluşturun ve onu Sayfa nesnesiyle başlatın.
  • PDF sayfasına metin eklemek için TextBuilder.AppendText(TextFragment) yöntemini kullanın.
  • Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, bir PDF dosyasına nasıl metin ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("input.pdf");

// Belirli bir sayfayı al
Page pdfPage = (Page)pdfDocument.Pages[1];

// Metin parçası oluştur
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Metin özelliklerini ayarla
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// TextBuilder nesnesi oluştur
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Metin parçasını PDF sayfasına ekleyin
textBuilder.AppendText(textFragment);

// Ortaya çıkan PDF belgesini kaydedin.
pdfDocument.Save("output.pdf");

TextParagraph’ı kullanarak PDF’ye Metin Ekleyin

TextParagraph kullanarak bir PDF dosyasına metin ekleme adımları aşağıda verilmiştir.

Aşağıdaki kod örneği, TextParagraph sınıfını kullanarak bir PDF’ye nasıl metin ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
string fontFile = "font.ttf";

// Giriş PDF dosyasını yükle
Document doc = new Document("input.pdf");

// Belgenin ilk sayfası için metin oluşturucu nesnesi oluştur
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Örnek dizeyle metin parçası oluştur
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // TrueType yazı tipini akış nesnesine yükleyin
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Metin dizesi için yazı tipi adını ayarlayın
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Metin Parçası için konumu belirtin
        textFragment.Position = new Position(10, 10);
        
        // Metni, PDF dosyasının üzerine yerleştirilebilmesi için TextBuilder'a ekleyin
        textBuilder.AppendText(textFragment);
    }

    // Ortaya çıkan PDF belgesini kaydet
    doc.Save("output.pdf");
}

C# ile PDF’de Saydam Metin Ekleme

Aspose.PDF for .NET, aşağıdaki adımlarda gösterildiği gibi bir PDF belgesine şeffaf metin eklenmesine de izin verir.

Aşağıdaki kod örneği, saydam metnin bir PDF dosyasına nasıl ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belge örneği oluştur
Document doc = new Document("input.pdf");

// PDF dosyasının sayfalarca koleksiyonunu oluşturun
Aspose.Pdf.Page page = doc.Pages.Add();

// Grafik nesnesi oluştur
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Belirli boyutlara sahip dikdörtgen örneği oluşturun
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Alfa renk kanalından renk nesnesi oluşturun
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Grafik nesnesinin şekiller koleksiyonuna dikdörtgen ekleme
canvas.Shapes.Add(rect);

// Sayfa nesnesinin paragraf koleksiyonuna grafik nesnesi ekleyin
page.Paragraphs.Add(canvas);

// Değeri, grafik nesnesinin konumunu değiştirmeyecek şekilde ayarlayın
canvas.IsChangePosition = false;

// Örnek değerle TextFragment örneği oluşturun
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// Alfa kanalından renkli nesne oluştur
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Metin örneği için renk bilgilerini ayarla
text.TextState.ForegroundColor = color;

// Sayfa örneğinin paragraf koleksiyonuna metin ekleyin
page.Paragraphs.Add(text);

// Güncellenmiş PDF dosyasını kaydedin
doc.Save("output.pdf");

Ücretsiz Lisans Alın

Aspose.PDF for .NET’i geçici lisans kullanarak değerlendirme sınırlamaları olmaksızın kullanabilirsiniz.

Çözüm

Bu makalede, C# kullanarak mevcut PDF dosyalarına nasıl metin ekleyeceğinizi öğrendiniz. Ek olarak, bir PDF’ye dinamik olarak nasıl saydam metin ekleneceğini gördünüz. Belgeleri kullanarak C# PDF API hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, sorularınızı forumumuza gönderebilirsiniz.

Ayrıca bakınız