iTextSharp: PDF'ye Görsel Ekleme
PDF'lere filigran ekleme, belge güvenliği, markalama ve sürüm kontrolü için yaygın bir gerekliliktir. Belgeleri gizli olarak işaretlemek, resmi raporları markalamak veya izinsiz kopyalamayı önlemek olsun, filigranlama gerekli bir özelliktir.
C# dilinde, geliştiricilerin aralarından seçim yapabileceği, en popüler iki seçenek olarak IronPDF ve PDFSharp bulunan birçok kütüphane vardır. Ancak, yaklaşımları, kullanım kolaylıkları, performansları ve lisanslama yapıları önemli ölçüde farklılık gösterir. Bu makale, mevcut PDF'lere filigran eklemek için IronPDF ve PDFSharp'ın ayrıntılı bir karşılaştırmasını sağlar, işlevsellikleri, uygulama süreçleri ve özelleştirme yetenekleri hakkında içgörüler sunar.
Karşılaştırma, her iki kütüphanenin filigran API'lerini çalışır kod örnekleriyle ele alır, böylece projenizin gereksinimlerini karşılayacak olanı değerlendirebilirsiniz.
PDF Filigranlamayı Anlama
Filigran Nedir?
Filigran, bir belge üzerine, kimlik, caydırıcılık veya markalama unsuru olarak hizmet veren grafiksel veya metinsel bir örtüdür. Filigranlar amaçlarına bağlı olarak görünür veya görünmez olabilir ve belge açıklamaları için kullanılan metin ve resim damgalarına yakından bağlıdır.
Filigran Türleri
- Metin Filigranı – Genellikle "GİZLİ" veya "TASLAK" gibi bir mesajla yarı saydam bir örtü.
- Resim Filigranı – Logom, amblem veya belgede gömülü grafik.
- Şeffaf Filigran – Belgenin okunabilirliğini engellemeyen hafif bir markalama.
- Damgalı Filigran – Görünürlüğü sağlamak için daha belirgin ve cesur bir işaret.
Yaygın Kullanım Alanları
- Güvenlik ve Koruma – Belgeleri tescilli olarak işaretleyerek izinsiz çoğaltmayı önleyin.
- Markalama – Belgelerinizde şirket logoları veya imzaları ekleyerek markalama tutarlılığını koruyun.
- Sürüm Kontrolü – Taslakları, nihai sürümleri veya belge revizyonlarını etiketleyin.
IronPDF ve PDFSharp Nedir?
IronPDF
IronPDF, PDF işlemlerini kolaylaştırmak için tasarlanmış, sıfırdan PDF oluşturma dahil olmak üzere gelişmiş manipülasyon görevlerini gerçekleştirme kapasitesine sahip zengin özelliklere sahip bir premium .NET kütüphanesidir.IronPDF özellikle filigranlama dahil PDF manipülasyon işlemlerini kolayca uygulamak isteyen geliştiriciler için kullanışlıdır.
Anahtar Özellikler:
- Minimal kod gerektiren basit ve sezgisel API.
- Özelleştirme seçenekleri ile metin ve resim filigranlarını destekler.
- Kesin yerleştirme için opaklık kontrolü, konumlandırma ve döndürme sunar.
- .NET 6+, .NET Core ve .NET Framework ile uyumlu.
- Uzun süreli kullanım için süresiz lisanslama modeli ile sunulmaktadır.
- Ek yetenekler arasında PDF açıklamaları, HTML'den PDF'ye dönüşüm, ve dijital imzalar bulunmaktadır.
PDFSharp
PDFSharp, geliştiricilerin C# dilinde PDF'ler oluşturmasına, düzenlemesine ve manipüle etmesine olanak tanıyan açık kaynaklı bir kütüphanedir. Şu andaPDFSharpkullanıyorsanız ve geçiş yapmayı düşünüyorsanız, PDFSharp'tan IronPDF'ye geçiş rehberi, geçiş sürecini adım adım anlatıyor. Çizim işlemleri üzerinde ince ayar kontrolü sunar, ancak filigranlama, IronPDF'nin soyutlanmış yaklaşımından daha fazla manuel uygulamayı içerir.
Anahtar Özellikler:
- Ücretsiz ve açık kaynaklı, bu bütçe dostu projeler için uygun hale getirir.
- Hem ana hat grafik yolları hem de şeffaf grafik yollar dahil nokta çizim operasyonları üzerinde düşük seviyeli kontrol sunar.
- Metin ve resim filigranlarını destekler ancak dönüşümler için ek kod gerektirir.
- .NET Framework ve .NET Core ile çalışır (PDFSharpCore üzerinden).
- Yerleşik yüksek seviyeli filigranlama işlevlerini içermez; Geliştiriciler, opaklık ve döndürme gibi özellikleri doğrudan çizim API'si aracılığıyla uygular.
İşte iki kütüphanenin filigranlama görevleri için nasıl karşılaştırıldığı hakkında hızlı bir yan yana özet:
| Özellik | IronPDF | PDFSharp |
|---|---|---|
| Metin Filigranı | Dahili ApplyWatermark yöntemi |
XGraphics API ile manuel çizim |
| Resim Filigranı | HTML/CSS <img> etiket desteği |
Manuel konumlandırma ile DrawImage |
| Opaklık Kontrolü | ApplyWatermark üzerinde Parametre |
Özel fırça/alpha işleme gerektirir |
| Döndürme | ApplyWatermark üzerinde Parametre |
Manuel RotateTransform çağrısı |
| Filigran Stil | Tam HTML/CSS desteği | Yazı tipi ve fırça yapılandırması |
| .NET Uyumluluğu | .NET 6+, Core, Framework | .NET Framework, Core (PDFSharpCore üzerinden) |
| Lisanslama | Ticari (süresiz seçenek) | Açık kaynak (MIT) |
IronPDF'nin [ücretsiz 30 günlük denemesi](trial-license örneklerde kullanılan tam filigran API'sini içerir.
IronPDF ile Filigran Ekleme
IronPDF, geliştiricilere yalnızca birkaç satır kod ile filigran uygulama olanağı sağlayan yüksek seviyeli bir API sunar, koordinat hesaplaması veya grafik kanal ayarı olmaksızın. IronPDF'nin filigran aracı HTML/CSS dizelerini kabul ettiğinden — kütüphanede kullanılan Chromium tabanlı HTML işleme motoru ile aynı — stil, konumlandırma ve görünüm üzerinde tam kontrol sağlayarak tanıdık web işaretleme dilinden yararlanabilirsiniz.
Metin Filigranı Örneği
using IronPdf;
const string filename = "existing.pdf";
// Load the existing PDF file
PdfDocument pdf = PdfDocument.FromFile(filename);
// Create a simple HTML-based watermark
string watermark = "<h1 style='color:red'>Confidential!</h1>";
// Apply the watermark to the PDF
pdf.ApplyWatermark(watermark);
// Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf");
using IronPdf;
const string filename = "existing.pdf";
// Load the existing PDF file
PdfDocument pdf = PdfDocument.FromFile(filename);
// Create a simple HTML-based watermark
string watermark = "<h1 style='color:red'>Confidential!</h1>";
// Apply the watermark to the PDF
pdf.ApplyWatermark(watermark);
// Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Private Const filename As String = "existing.pdf"
' Load the existing PDF file
Private pdf As PdfDocument = PdfDocument.FromFile(filename)
' Create a simple HTML-based watermark
Private watermark As String = "<h1 style='color:red'>Confidential!</h1>"
' Apply the watermark to the PDF
pdf.ApplyWatermark(watermark)
' Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf")

Bu kod örneğinde,IronPDF ile mevcut PDF dosyalarınıza filigran uygulamanın ne kadar kolay olduğunu görüyoruz. Burada, mevcut PDF'yi FromFile yöntemiyle yüklüyoruz. Daha sonra, filigran olarak HTML öğesi biçiminde basit bir dize oluşturup, PDF'ye uyguluyoruz, tıpkı sıfırdan bir PDF oluşturmak için nasıl HTML kullanacağınız gibi. Görüntüde görüldüğü gibi, PDF'mize "Gizli" şeklinde basit bir metin dizesi filigran olarak ekledik.
Resim Filigranı Örneği
using IronPdf;
// Load the PDF document
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
// Create an HTML-based watermark containing the image
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
// Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
// Save the watermarked document
pdf.SaveAs("watermarked.pdf");
using IronPdf;
// Load the PDF document
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
// Create an HTML-based watermark containing the image
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
// Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
// Save the watermarked document
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
' Load the PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
' Create an HTML-based watermark containing the image
Private watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"
' Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)
' Save the watermarked document
pdf.SaveAs("watermarked.pdf")

Resim eklemek de metin eklemek kadar kolaydır, çünkü her ikisi de aynı yöntemi kullanır. Tıpkı örnek metinde olduğu gibi, görüntü URL'sine işaret eden HTML resim etiketini içeren yeni bir filigran dize değişkeni oluşturur ve uygularız. Bu sefer, IronPDF'nin rendering options parametreleri aracılığıyla özelleştirilmiş döndürme ve opaklık dönüşümleri ekliyoruz.
Bu yaklaşım, belirtilen bir konumda bir resim filigranını bindirme yaparak özel yerleştirme ve şeffaflık sağlar.
PDFSharp ile Filigran Ekleme
PDFSharp geliştiricilerin metin ve resimleri manuel olarak GDI+ çizim API'si kullanarak işlemesini gerektirir. Mevcut bir PDF dosyasına filigran eklemek için çizim yapacak bir XGraphics nesnesi oluşturun ve istenen içeriği uygulayın.
Metin Filigranı Örneği
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
const string filename = "existing.pdf";
// Open the PDF document in modify mode
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);
foreach (var page in document.Pages)
{
// Create an XGraphics object for drawing
var gfx = XGraphics.FromPdfPage(page);
// Move the origin to the center of the page for rotation purposes
gfx.TranslateTransform(page.Width / 2, page.Height / 2);
// Rotate for diagonal watermark placement
gfx.RotateTransform(Math.Atan(page.Height / page.Width));
// Define font and brush for drawing the watermark text
var font = new XFont("Arial", 40);
var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red)); // Semi-transparent red
// Draw the watermark text centered on the page
gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0));
}
// Save modified document
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
const string filename = "existing.pdf";
// Open the PDF document in modify mode
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);
foreach (var page in document.Pages)
{
// Create an XGraphics object for drawing
var gfx = XGraphics.FromPdfPage(page);
// Move the origin to the center of the page for rotation purposes
gfx.TranslateTransform(page.Width / 2, page.Height / 2);
// Rotate for diagonal watermark placement
gfx.RotateTransform(Math.Atan(page.Height / page.Width));
// Define font and brush for drawing the watermark text
var font = new XFont("Arial", 40);
var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red)); // Semi-transparent red
// Draw the watermark text centered on the page
gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0));
}
// Save modified document
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf.IO
Private Const filename As String = "existing.pdf"
' Open the PDF document in modify mode
Private document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify)
For Each page In document.Pages
' Create an XGraphics object for drawing
Dim gfx = XGraphics.FromPdfPage(page)
' Move the origin to the center of the page for rotation purposes
gfx.TranslateTransform(page.Width \ 2, page.Height \ 2)
' Rotate for diagonal watermark placement
gfx.RotateTransform(Math.Atan(page.Height \ page.Width))
' Define font and brush for drawing the watermark text
Dim font = New XFont("Arial", 40)
Dim brush = New XSolidBrush(XColor.FromArgb(128, XColors.Red)) ' Semi-transparent red
' Draw the watermark text centered on the page
gfx.DrawString("WATERMARK", font, brush, New XPoint(0, 0))
Next page
' Save modified document
document.Save("watermarked.pdf")
Bu uygulama net koordinatlara dayalı pozisyonlama ile her sayfaya bir filigran çizer.IronPDF örneği ile benzer bir çıktı üretse de, PDFSharp'ın yaklaşımı daha fazla kod içeriyor — IronPDF'nin metin filigranı yaklaşık 4 aktif satır gerektirirken, PDFSharp'ın 10 satır gerektiriyor çünküPDFSharpyerleşim kararlarını (çeviri, döndürme, yazı tipi seçimi) soyutlamak yerine geliştiriciye bırakıyor.
Resim Filigranı Örneği
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
// Open the existing PDF document in modify mode
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);
// Load the watermark image
XImage watermark = XImage.FromFile("watermark.png");
foreach (var page in document.Pages)
{
// Create a graphics object from the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Draw the image watermark at the specified position and size
gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}
// Save the modified PDF document
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
// Open the existing PDF document in modify mode
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);
// Load the watermark image
XImage watermark = XImage.FromFile("watermark.png");
foreach (var page in document.Pages)
{
// Create a graphics object from the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Draw the image watermark at the specified position and size
gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}
// Save the modified PDF document
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf.IO
' Open the existing PDF document in modify mode
Private document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify)
' Load the watermark image
Private watermark As XImage = XImage.FromFile("watermark.png")
For Each page In document.Pages
' Create a graphics object from the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Draw the image watermark at the specified position and size
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2)
Next page
' Save the modified PDF document
document.Save("watermarked.pdf")

Bu yöntem, sabit bir konum ve boyutta bir resim filigranını yerleştirir. OpaSite kontrolü PDFSharp'ın tek arama API'sinin dışındadır — saydamlık kontrolü gerektiren geliştiriciler, XGraphics hattı üzerinden doğrudan yönetir. Metin filigranı örneğinde olduğu gibi,PDFSharpsize işleme üzerinde daha ince ayarlı kontrol sağlar, ancak IronPDF'nin üst düzey filigran API'sine kıyasla ekstra kurulum gerektirir.
IronPDF ve PDFSharp Filigran Eklemekte Nasıl Karşılaştırılır?
Kullanım Kolaylığı
- IronPDF: Minimum kodla filigranlamayı basitleştiren yüksek düzeyde işlevler sağlar. Karmaşık işlemleri soyutlar ve hızlı ve etkili bir çözüme ihtiyaç duyan geliştiriciler için idealdir.
- PDFSharp: Grafik API'si kullanılarak manuel uygulanması gereken, karmaşıklığı ve geliştirme süresini artıran bir yöntem gerektirir. Ayrıntılı render kontrolüne ihtiyaç duyan ancak ek kodlamaya alışkın geliştiricilere daha uygundur.
Performans
- IronPDF: Opasiteyi, döndürmeyi ve konumlandırmayı tek bir metod çağrısında işleyen ve çok sayfalı belgelerde sayfa başına işlem yükünü azaltan watermark işlemleri ile birlikte tek bir NuGet paketi olarak sunulur. Büyük ölçekli iş akışları için IronPDF performans optimizasyon kılavuzunu inceleyin.
- PDFSharp: Küçük bağımlılık izi ile hafif. Sayfa başına birden fazla dönüşüm içeren karmaşık filigran görevleri için, geliştiriciler çizim mantığını profilize etmek ve optimize etmek zorunda kalabilirler, çünküPDFSharpbu işlemleri içsel olarak gruplamaz veya önbelleğe almaz.
Özelleştirme Seçenekleri
- IronPDF: Opasite, döndürme, konumlandırma ve yazı tipi boyut özelleştirmesi için yerleşik destek. Kullanıcılar, karmaşık render mantığına girmeden kolayca ayarları değiştirebilir.
- PDFSharp: Opasite, şeffaflık efektleri ve dönüşüm yönetimi için ek kodlama gerektirir. Güçlü olmasına rağmen, geliştiriciden daha fazla özelleştirme gerektirir, belirli işlem görevleri için
varformatını kullanmayı içerir.
Uyumluluk
- IronPDF: .NET 6+, .NET Core ve .NET Framework ile tamamen uyumlu olup, modern ve eski uygulamalar için uygundur.
- PDFSharp: .NET Framework ve .NET Core (PDFSharpCore aracılığıyla) destekler. Seçtiğiniz topluluk portuna bağlı olarak bazı yeni çerçeve özellikleri mevcut kapsamının dışında olabilir.
Lisanslama ve Maliyet
- IronPDF: Ücretli lisans gerektiren ticari bir üründür, ancak sürekli lisanslama seçenekleri, müşteri desteği ve düzenli güncellemeler içerir.
- PDFSharp: Açık kaynak ve ücretsiz kullanıma sahip olup, kendi desteğini ve güncellemelerini yönetmeye istekli olan geliştiriciler için bir maliyet etkin çözüm sunar.
Lisans maliyetinin ötesinde, toplam proje maliyeti, IronPDF'nin tek bir metod çağrısında ele aldığı koordinat tabanlı konumlandırma, özel opasite ve döndürme mantığı ile sayfa başına çizim kodu üzerinde harcanan geliştirici saatlerini içerir. Çok yıllı bir proje yaşam döngüsünde maliyeti değerlendiren ekipler için, bu uygulama ve bakım saatleri, genellikle açık kaynak ile ticari lisanslama arasındaki farkı aşar.
Hangi Kütüphaneyi Seçmelisiniz?

PDFSharp, katı düşük düzeyde çizim kontrolü ve bir açık kaynak lisansı sağlar — bütçesi sıkışık ekipler için ve baştan filigran mantığı oluşturma geliştirme kapasitesine sahip ekipler için gerçek bir avantajdır. Yerleşik filigran konumlandırma, opasite, döndürme ve HTML/CSS tabanlı stillendirme gibi birinci sınıf işlemlerine ihtiyaç duyan ekipler için IronPDF uygulama süresini azaltan daha kapsamlı bir API sunar. Sonuçta en iyi seçim, proje gereksinimlerinize, kodlama uzmanlığınıza ve mevcut kaynaklarınıza bağlıdır.
Ücretsiz deneme lisansını indirerek IronPDF'yi kendiniz denemeye çalışın ve bugün C# PDF projelerinizi bir üst seviyeye taşımanın nasıl mümkün olduğunu keşfedin!
Sıkça Sorulan Sorular
.NET kütüphanesi kullanarak bir PDF'ye nasıl filigran ekleyebilirim?
IronPDF kullanarak, basit bir API ile opaklık ve döndürme gibi özelleştirilebilir seçeneklerle hem metin hem de resim filigranlarını destekleyen bir PDF'ye filigran ekleyebilirsiniz.
Premium bir .NET PDF kütüphanesi kullanmanın filigran eklemede avantajları nelerdir?
IronPDF gibi premium bir .NET PDF kütüphanesi, kolay filigran ekleme için yüksek düzeyde fonksiyonlar sunar, modern .NET frameworkleriyle uyumluluk sağlar ve PDF açıklamaları ve HTML'den PDF'ye dönüştürme gibi ek özellikler sunar.
PDF belgelerinde filigran ekleme neden önemlidir?
Filigran ekleme, belge güvenliği, markalama ve sürüm kontrolü için önemlidir. İzinsiz çoğaltmayı önlemeye yardımcı olur, marka tutarlılığını sağlar ve belgeleri gizli olarak işaretler.
PDF'lere filigran eklemede IronPDF ile PDFsharp arasındaki farklar nelerdir?
IronPDF, kolay filigran ekleme için daha sezgisel bir API sunarken, PDFsharp, dönüşümler ve opaklık ayarları için daha fazla manuel çaba ve ek kodlama gerektirir.
IronPDF, açık kaynaklı seçeneklere göre PDF üzerinde nasıl iyileştirmeler yapar?
IronPDF, daha karmaşık kodlama gerektirecek açık kaynaklı seçeneklerdeki gibi, filigran ekleme, açıklamaları ve dönüştürmeleri gerçekleştirmeyi kolaylaştıran yerleşik yüksek düzey fonksiyonlar sunar.
.NET kütüphanelerini kullanarak PDF'lere hangi tür filigranlar eklenebilir?
IronPDF gibi kütüphaneler ile metin filigranları, resim filigranları ve saydam filigranlar ekleyebilir, konumlandırma, opaklık ve döndürme gibi özelleştirme seçenekleri sunabilirsiniz.
IronPDF, büyük PDF belgelerini işlemek için uygun mudur?
Evet, IronPDF yüksek hızlı işlem için optimize edilmiştir ve performans sorunları olmaksızın büyük PDF belgelerini verimli bir şekilde işleyebilir.
Premium ve açık kaynaklı bir .NET PDF kütüphanesi arasında seçim yaparken neye dikkat etmeliyim?
Kullanım kolaylığı, mevcut özellikler, uyumluluk, performans ve destek gibi faktörleri dikkate alın. IronPDF gibi premium bir kütüphane, kapsamlı özellikler ve destek sunarken, PDFsharp gibi açık kaynaklı bir kütüphane ücretsizdir ancak daha karmaşık kodlama gerektirir ve resmi destekten yoksundur.
IronPDF'i .NET Core ile kullanabilir miyim?
Evet, IronPDF .NET 6+, .NET Core ve .NET Framework ile uyumludur, bu da farklı geliştirme ortamları için esnek hale getirir.
IronPDF'nin filigran eklemenin ötesinde sağladığı ek işlevsellikler nelerdir?
IronPDF, filigran eklemeye ek olarak, PDF açıklamaları, HTML'den PDF'ye dönüştürme, dijital imzalar ve daha fazlasını destekler, kapsamlı PDF manipülasyon yetenekleri sunar.



