
PDF Vurgulayıcı (Ücretsiz ve Çevrimiçi Araçlar Eğitimi)
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");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");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");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");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!

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


