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
- C# kullanarak PDF’ye Metin Ekleme
- TextParagraph’ı kullanarak PDF’ye Metin Ekleyin
- PDF’ye Saydam Metin Ekle
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.
- Belge sınıfını kullanarak PDF dosyasını yükleyin.
- İstediğiniz PDF sayfasını bir Page nesnesine alın veya yeni bir tane ekleyin.
- Bir TextBuilder nesnesi oluşturun ve onu Sayfa nesnesiyle başlatın.
- TextParagraph sınıfından bir nesne oluşturun.
- TextParagraph.Rectangle özelliğini kullanarak paragrafın konumunu belirtin.
- TextParagraph’ın biçimlendirme seçeneklerini ayarlayın.
- Bir TextFragment nesnesi oluşturun ve metnini, konumunu, yazı tipini, arka plan rengini vb. ayarlayın.
- TextParagraph.AppendLine(TextFragment) yöntemini kullanarak paragrafa TextFragment ekleyin.
- TextBuilder.AppendParagraph(TextParagraph) yöntemini kullanarak sayfaya paragraf ekleyin.
- Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.
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.
- Belge sınıfını kullanarak PDF dosyasını yükleyin.
- İstediğiniz PDF sayfasını bir Page nesnesine alın veya yeni bir tane ekleyin.
- Bir Grafik nesnesi oluşturun ve başlatın.
- Bir Dikdörtgen nesnesi oluşturun ve onu başlatın.
- Rectangle.GraphInfo.FillColor özelliğini ayarlayın.
- Graph.Shapes.Add(Rectangle) yöntemini kullanarak Grafiğe dikdörtgen ekleyin.
- Page.Paragraphs.Add(Graph) yöntemini kullanarak sayfanın paragraf koleksiyonuna Grafik ekleyin.
- Bir TextFragment nesnesi oluşturun ve TextState.ForegroundColor özelliğini ayarlayın.
- Page.Paragraphs.Add(TextFragment) yöntemini kullanarak TextFragment’i sayfaya ekleyin.
- Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.
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.