Altbilgi içeriğine atla
ÜRüN KARşıLAşTıRMALARı

IronPDF ve iTextPdf: Tam .NET PDF Kütüphanesi Karşılaştırması

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

IronPDF, Chromium tabanlı HTML render motoru ile tam CSS3 ve JavaScript desteği sunarak yerleşik DOCX dönüştürme özelliği ile üstün gelir. Buna karşılık, iTextPdf AGPL veya ticari lisanslamayla gelişmiş kurumsal özellikler sunar ancak modern web standartları ve belge dönüştürmeleri için harici bağımlılıklar gerektirir.

PDF çalışmalarıyla uğraşan geliştiriciler için, PDF oluşturma ve manipülasyon için güvenilir bir kütüphaneye sahip olmak zorunludur. .NET ekosisteminde, iki popüler PDF kütüphanesi dikkat çekiyor—IronPDF ve iTextPdf—her biri PDF belgeleri oluşturma, düzenleme ve yönetme araçları sunar. Bu makale, bu kütüphanelerin özellik yetenekleri, dokümantasyon kalitesi ve fiyatlandırma politikalarına dayalı kapsamlı bir karşılaştırmasını sunar.

IronPDF ve iTextPdf Nedir?

IronPDF PDF Geliştirme Sürecini Nasıl Basitleştirir?

IronPDF, çeşitli .NET ortamları (Core 8, 7, 6, Framework ve daha fazlası) ile uyumlu güvenilir bir .NET PDF yönetim kütüphanesidir. HTML'den PDF'ye dönüştürme, PDF'leri birleştirme, şifreleme ve dijital imzalar gibi eksiksiz bir özellik seti sunar. IronPDF'in dokümantasyonu basittir ve kullanıcılar güvenilir teknik desteğe erişebilir. Geliştiriciler genellikle Stack Overflow tartışmaları ve diğer kaynak kodu paylaşım platformları aracılığıyla yaygın sorunlara çözüm bulurlar. Kütüphane, ayrıntılı uygulama rehberliği için API referansları sağlar ve NuGet paketleri aracılığıyla ileri düzey kurulum yöntemlerini destekler. Hızlı uygulama için, hızla başlamak için hızlı başlangıç kılavuzunu ve kurulum genel bakışını keşfedin.

iTextPdf'i Kurumsal Uygulamalar İçin Uygun Yapan Nedir?

iTextPdf, kurumsal düzeyde belge işlemlerine odaklanan Java ve .NET (C#) için ileri düzey bir PDF kütüphanesidir. Hem AGPL hem de ticari lisanslarda mevcuttur, bu nedenle çeşitli proje gereklilikleri için esneklik sağlar. iTextPdf, belge şifreleme, dijital imzalama ve form oluşturma gibi karmaşık PDF görevleri için idealdir. Kütüphane, yoğun PDF manipülasyonu yeteneklerine ve arşivleme amaçları için PDF/A standartlarına uyum gerektiren kurumsal ortamlarda sağlam bir yer edinmiştir. Bölüm 508 erişilebilirlik uyumluluğu gerektiren kuruluşlar, evrensel erişilebilirlik standartlarını destekleyen kurumsal sınıf çözümleri sıklıkla tercih eder.

IronPDF ve iTextPdf Hangi Platformları Destekliyor?

Hem IronPDF hem de iTextPdf, çeşitli .NET uygulama ihtiyaçları için çok yönlü hale getiren çapraz platform işlevselliğini destekler. Her kütüphanenin uyumluluğunun bir dökümü.

  • .NET Sürümleri: .NET Core (8, 7, 6, 5, 3.1+), .NET Standard (2.0+), ve .NET Framework (4.6.2+) ile uyumludur.
  • Uygulama Ortamları: Windows, Linux, Mac, Docker, Azure, ve AWS ortamlarında sorunsuz çalışır.
  • Desteklenen IDE'ler: Microsoft Visual Studio ve JetBrains Rider & ReSharper ile iyi çalışır.
  • İşletim Sistemleri & İşlemciler: Windows, Mac, Linux, x64, x86, ARM'yi destekler.

  • .NET Sürümleri: .NET Core 8, 7, 6, 5, 3.1+, .NET Standard 2.0+, .NET Framework 4.6.2+ ile uyumludur
  • Uygulama Ortamları: Windows, Linux, Mac, Docker, Azure ve AWS ile çalışır
  • Desteklenen IDE'ler: Microsoft Visual Studio ve JetBrains Rider & ReSharper
  • İşletim Sistemleri & İşlemciler: Windows, Mac, Linux, x64, x86, ARM
  • Mobil Platformlar: MAUI aracılığıyla Android desteği
  • Container Desteği: Ölçeklenebilir mimariler için uzak container dağıtımı

  • .NET Sürümleri: .NET Core (2.x, 3.x), .NET Framework (4.6.1+), ve .NET 5+ destekler.
  • Uygulama Ortamları: Windows, macOS, Linux ve Docker ile uyumludur.

iTextPdf Nerelerde Dağıtılabilir?

  • .NET Sürümleri: .NET Core 2.x, 3.x, .NET Framework 4.6.1+, .NET 5+ destekler
  • Uygulama Ortamları: Windows, macOS, Linux, Docker ile uyumludur
  • Kurumsal Dağıtımlar: AGPL veya ticari lisanslama ile sunucu ortamları için optimize edilmiştir

IronPDF vs. iTextPdf'in Ana Özellikleri Nelerdir?

Aşağıda, her kütüphanenin sağladığı ana özelliklerin ayrıntılı bir karşılaştırması bulunmaktadır.

IronPDF'in Hangi Yetenekleri Mevcut?

  • HTML'den PDF'ye Dönüşüm: HTML, CSS, JavaScript ve resimleri destekler.
  • PDF Manipülasyonu: PDF belgelerini bölün, birleştirin ve düzenleyin.
  • Güvenlik: PDF şifreleme ve şifresini çözme yetenekleri.
  • Düzenleme: Açıklama, yer imleri ve taslaklar ekleme izni verir.
  • Şablonlar: Başlık, alt bilgi ve sayfa numaraları uygulama.
  • Filigranlama: HTML/CSS kullanarak metin ve resim filigranlarını destekler.
  • PDF Damgalama: PDF dosyalarına resim ve metin damgaları ekleyin.

IronPDF'in özellikleri hakkında daha fazla bilgi için IronPDF özellikler sayfasını ziyaret edin. Kütüphane ayrıca çeşitli kaynaklardan PDF oluşturma, formatlar arasında PDF dönüştürme ve profesyonel araçlarla PDF düzenleme desteği sağlar.

iTextPdf Hangi Kurumsal Özellikleri Sunar?

  • PDF Oluşturma: Başlangıçtan PDF belgeleri oluşturmayı destekler.
  • Formlar: PDF formlarını oluşturma ve düzenleme sunar.
  • Dijital İmzalar: PDF belgelerini imzalama.
  • Sıkıştırma: PDF dosya boyutlarını optimize eder.
  • İçerik Çıkarma: PDF'lerden metin ve resim çıkarır.
  • Özelleştirilebilirlik: Karmaşık projeler için yüksek özelleştirilebilirlik.

Her İki Kütüphane HTML'den PDF'ye Dönüştürmeyi Nasıl Ele Alır?

Her iki kütüphane de HTML'den PDF'ye dönüştürmeyi destekler, ancak yaklaşım ve kullanım kolaylığı açısından farklılık gösterirler. IronPDF, piksel mükemmelliği için Chromium render motorunu kullanırken, iTextPdf pdfHTML eklentisi ile daha sınırlı CSS desteği sunar. IronPDF, tam JavaScript render desteği de dahil olmak üzere girdi kaynakları olarak HTML dosyalarını, HTML dizelerini ve URL'leri destekler. IronPDF, karmaşık düzenler için CSS ekran ve yazdırma medya türlerini işler ve hassas kontrol için özel kenar boşlukları destekler.

IronPDF

using IronPdf;

// Instantiate the renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Advanced example with external assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");

// Render with custom options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
var customPdf = renderer.RenderHtmlAsPdf("<h1>Custom Settings</h1>");
customPdf.SaveAs("custom-settings.pdf");
using IronPdf;

// Instantiate the renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Advanced example with external assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");

// Render with custom options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
var customPdf = renderer.RenderHtmlAsPdf("<h1>Custom Settings</h1>");
customPdf.SaveAs("custom-settings.pdf");
Imports IronPdf

' Instantiate the renderer
Dim renderer As New ChromePdfRenderer()

' Create a PDF from an HTML string
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")

' Advanced example with external assets
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")

' Render with custom options
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Dim customPdf = renderer.RenderHtmlAsPdf("<h1>Custom Settings</h1>")
customPdf.SaveAs("custom-settings.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using iText.Html2pdf;
using System.IO;

public class HtmlToPdf
{
    public static void ConvertHtmlToPdf()
    {
        using (FileStream htmlSource = File.Open("input.html", FileMode.Open))
        using (FileStream pdfDest = File.Open("output.pdf", FileMode.Create))
        {
            ConverterProperties converterProperties = new ConverterProperties();
            HtmlConverter.ConvertToPdf(htmlSource, pdfDest, converterProperties);
        }
    }
}
using iText.Html2pdf;
using System.IO;

public class HtmlToPdf
{
    public static void ConvertHtmlToPdf()
    {
        using (FileStream htmlSource = File.Open("input.html", FileMode.Open))
        using (FileStream pdfDest = File.Open("output.pdf", FileMode.Create))
        {
            ConverterProperties converterProperties = new ConverterProperties();
            HtmlConverter.ConvertToPdf(htmlSource, pdfDest, converterProperties);
        }
    }
}
Imports iText.Html2pdf
Imports System.IO

Public Class HtmlToPdf
	Public Shared Sub ConvertHtmlToPdf()
		Using htmlSource As FileStream = File.Open("input.html", FileMode.Open)
		Using pdfDest As FileStream = File.Open("output.pdf", FileMode.Create)
			Dim converterProperties As New ConverterProperties()
			HtmlConverter.ConvertToPdf(htmlSource, pdfDest, converterProperties)
		End Using
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF, HTML, CSS ve JavaScript'i destekleyen HTML'den PDF'ye dönüşüm için basit bir yaklaşım sunar. HTML dizelerinden doğrudan dönüştürür veya isteğe bağlı bir temel yol ile varlıkları içerir. Kütüphane ayrıca karmaşık projeler için HTML ZIP dosyalarını ve geliştirilmiş render için daha uyumlu CSS'yi destekler. Dinamik içerik için, IronPDF tam sayfa yükleme sağlamak amacıyla JavaScript yürütme ve render gecikme seçenekleri sunar. Ek render özellikleri arasında görünüm alanı kontrolü ve özel kağıt boyutları yer almaktadır. iTextPdf daha fazla ön kurulum gerektirir ve öncelikli olarak sınırlı modern web standart desteği ile dosya tabanlı dönüşüme odaklanır.

Hangi Kütüphane Daha İyi PDF Şifreleme Sunar?

Güvenlik önemli olduğunda şifreleme gerekli bir özellik haline gelir. İşte her kütüphanenin bunu nasıl ele aldığı. IronPDF, AES şifreleme ve izin yönetimini içeren tam güvenlik özellikleri sağlar. Kütüphane, potansiyel olarak zararlı içeriği kaldırmak için meta veri yönetimi ve temizlik destekler.

IronPDF

using IronPdf;

// Load an encrypted PDF or create a new one
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set document security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.Password = "my-password";

// Set owner password for administrative access
pdf.SecuritySettings.OwnerPassword = "owner-password";

// Save with encryption
pdf.SaveAs("secured.pdf");
using IronPdf;

// Load an encrypted PDF or create a new one
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set document security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.Password = "my-password";

// Set owner password for administrative access
pdf.SecuritySettings.OwnerPassword = "owner-password";

// Save with encryption
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Load an encrypted PDF or create a new one
Dim pdf = PdfDocument.FromFile("encrypted.pdf", "password")

' Set document security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserFormData = False
pdf.Password = "my-password"

' Set owner password for administrative access
pdf.SecuritySettings.OwnerPassword = "owner-password"

' Save with encryption
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using iText.Kernel.Pdf;
using System.Text;

public class EncryptPdf
{
    public static readonly string DEST = "encrypt_pdf.pdf";
    public static readonly string OWNER_PASSWORD = "World";
    public static readonly string USER_PASSWORD = "Hello";

    protected void ManipulatePdf(string dest)
    {
        PdfDocument document = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter(dest,
            new WriterProperties().SetStandardEncryption(
                Encoding.UTF8.GetBytes(USER_PASSWORD),
                Encoding.UTF8.GetBytes(OWNER_PASSWORD),
                EncryptionConstants.ALLOW_PRINTING,
                EncryptionConstants.ENCRYPTION_AES_128)));
        document.Close();
    }
}
using iText.Kernel.Pdf;
using System.Text;

public class EncryptPdf
{
    public static readonly string DEST = "encrypt_pdf.pdf";
    public static readonly string OWNER_PASSWORD = "World";
    public static readonly string USER_PASSWORD = "Hello";

    protected void ManipulatePdf(string dest)
    {
        PdfDocument document = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter(dest,
            new WriterProperties().SetStandardEncryption(
                Encoding.UTF8.GetBytes(USER_PASSWORD),
                Encoding.UTF8.GetBytes(OWNER_PASSWORD),
                EncryptionConstants.ALLOW_PRINTING,
                EncryptionConstants.ENCRYPTION_AES_128)));
        document.Close();
    }
}
Imports iText.Kernel.Pdf
Imports System.Text

Public Class EncryptPdf
	Public Shared ReadOnly DEST As String = "encrypt_pdf.pdf"
	Public Shared ReadOnly OWNER_PASSWORD As String = "World"
	Public Shared ReadOnly USER_PASSWORD As String = "Hello"

	Protected Sub ManipulatePdf(ByVal dest As String)
		Dim document As New PdfDocument(New PdfReader("input.pdf"), New PdfWriter(dest, (New WriterProperties()).SetStandardEncryption(Encoding.UTF8.GetBytes(USER_PASSWORD), Encoding.UTF8.GetBytes(OWNER_PASSWORD), EncryptionConstants.ALLOW_PRINTING, EncryptionConstants.ENCRYPTION_AES_128)))
		document.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF, kapsamlı şifreleme ve belge izinleri üzerinde kontrol sağlar. Kütüphane, güvenlik denetimi için özel günlük kaydı ve işletme dağıtımları için lisans anahtarı yönetimi destekleri içerir. Güvenliğin iyileştirilmesi için, IronPDF PDF dosya sürüm kontrolü ve kayıt defteri yapılandırma seçenekleri sunar. iTextPdf şifreleme standartlarına odaklanarak daha ayrıntılı kurulum gerektirir. Gelişmiş güvenlik ihtiyaçları için, IronPDF aynı zamanda kurumsal gereksinimlere uygun HSM ile dijital imzalar ve güvenli ortamlar için Kerberos kimlik doğrulaması destekler.

IronPDF ve iTextPdf İçerik Redaktasini Nasıl Yönetiyor?

PDF dosyalarında bilgi redakte etmek gizlilik ve güvenlik için gereklidir. İşte her kütüphane bu özelliği nasıl destekler. IronPDF, tam redaksiyon kabiliyetleri ve potansiyel olarak zararlı içeriği kaldırmak için PDF temizleme sağlar. Kütüphane ayrıca formları ve açıklamaları statik içeriğe dönüştürmek için PDF düzleştirme sunar.

IronPDF

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' from all pages
pdf.RedactTextOnAllPages("are");

// Redact specific text on specific pages
pdf.RedactTextOnPage(0, "confidential");

// Use regular expressions for pattern matching
pdf.RedactTextOnAllPages(@"\b\d{3}-\d{2}-\d{4}\b"); // Redact SSN pattern

pdf.SaveAs("redacted.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' from all pages
pdf.RedactTextOnAllPages("are");

// Redact specific text on specific pages
pdf.RedactTextOnPage(0, "confidential");

// Use regular expressions for pattern matching
pdf.RedactTextOnAllPages(@"\b\d{3}-\d{2}-\d{4}\b"); // Redact SSN pattern

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Dim pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact 'are' from all pages
pdf.RedactTextOnAllPages("are")

' Redact specific text on specific pages
pdf.RedactTextOnPage(0, "confidential")

' Use regular expressions for pattern matching
pdf.RedactTextOnAllPages("\b\d{3}-\d{2}-\d{4}\b") ' Redact SSN pattern

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using iText.Kernel.Pdf;
using iText.Kernel.Colors;

// Define areas to redact on each page
Rectangle[] rectanglesToRedact = { new Rectangle(100, 100, 200, 50) };

// Draw black rectangles to cover sensitive areas
using (PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter("output_redacted.pdf")))
{
    for (int pageNum = 1; pageNum <= pdfDoc.GetNumberOfPages(); pageNum++)
    {
        PdfPage page = pdfDoc.GetPage(pageNum);
        PdfCanvas canvas = new PdfCanvas(page);
        foreach (Rectangle rect in rectanglesToRedact)
        {
            canvas.SetFillColor(ColorConstants.BLACK)
                  .Rectangle(rect.GetX(), rect.GetY(), rect.GetWidth(), rect.GetHeight())
                  .Fill();
        }
    }
}
using iText.Kernel.Pdf;
using iText.Kernel.Colors;

// Define areas to redact on each page
Rectangle[] rectanglesToRedact = { new Rectangle(100, 100, 200, 50) };

// Draw black rectangles to cover sensitive areas
using (PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter("output_redacted.pdf")))
{
    for (int pageNum = 1; pageNum <= pdfDoc.GetNumberOfPages(); pageNum++)
    {
        PdfPage page = pdfDoc.GetPage(pageNum);
        PdfCanvas canvas = new PdfCanvas(page);
        foreach (Rectangle rect in rectanglesToRedact)
        {
            canvas.SetFillColor(ColorConstants.BLACK)
                  .Rectangle(rect.GetX(), rect.GetY(), rect.GetWidth(), rect.GetHeight())
                  .Fill();
        }
    }
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Colors

' Define areas to redact on each page
Private rectanglesToRedact() As Rectangle = { New Rectangle(100, 100, 200, 50) }

' Draw black rectangles to cover sensitive areas
Using pdfDoc As New PdfDocument(New PdfReader("input.pdf"), New PdfWriter("output_redacted.pdf"))
	Dim pageNum As Integer = 1
	Do While pageNum <= pdfDoc.GetNumberOfPages()
		Dim page As PdfPage = pdfDoc.GetPage(pageNum)
		Dim canvas As New PdfCanvas(page)
		For Each rect As Rectangle In rectanglesToRedact
			canvas.SetFillColor(ColorConstants.BLACK).Rectangle(rect.GetX(), rect.GetY(), rect.GetWidth(), rect.GetHeight()).Fill()
		Next rect
		pageNum += 1
	Loop
End Using
$vbLabelText   $csharpLabel

IronPDF, tüm sayfalarda hassas metni kolayca gizlemek için uygun bir redaksiyon aracı sunar. Kütüphane ayrıca metin değiştirme özellikleri ile belge içeriğini güncelleme ve ayrıntılı içerik manipülasyonu için PDF DOM erişimi sunar. Redaksiyondan önce içerik çıkarmak için, programlı olarak metin ve resim çıkarma veya PDF dosyalarını çözümleme kullanın. iTextPdf, hassas alanları kapatmak için siyah dikdörtgenlerin manuel tanımlanmasını ve uygulanmasını gerektirir. Tam belge temizleme için, IronPDF ayrıca potansiyel olarak zararlı içeriği kaldırmak için PDF temizleme özellikleri ve etkileşimli öğeleri statik içeriğe dönüştürmek için PDF düzleştirme sunar.

Hangi Kütüphane Dijital İmzaları Kolaylaştırır?

PDF belgelerinin imzalanmasını otomatikleştirmek önemli ölçüde zaman tasarrufu sağlayabilir. İşte IronPDF ve iTextPdf'in dijital imzalamayı nasıl ele aldığına dair bir karşılaştırma. IronPDF, çeşitli güncelleme yöntemlerini destekler, bu yöntemler arasında sertifika tabanlı imzalar ve HSM entegrasyonu bulunmaktadır. Kütüphane ayrıca belge değişikliklerini izlemek ve imza geçerliliğini kontrol etmek için revizyon geçmişi sağlar.

IronPDF

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert)
{
    SigningContact = "support@ironsoftware.com",
    SigningLocation = "Chicago, USA",
    SigningReason = "Document Approval"
};

// Sign PDF document
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
pdf.Sign(sig);

// Apply timestamp
var timestampedSig = new PdfSignature(cert)
{
    TimestampHashAlgorithm = TimestampHashAlgorithm.SHA256,
    TimeStampUrl = "___PROTECTED_URL_245___"
};

pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert)
{
    SigningContact = "support@ironsoftware.com",
    SigningLocation = "Chicago, USA",
    SigningReason = "Document Approval"
};

// Sign PDF document
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
pdf.Sign(sig);

// Apply timestamp
var timestampedSig = new PdfSignature(cert)
{
    TimestampHashAlgorithm = TimestampHashAlgorithm.SHA256,
    TimeStampUrl = "___PROTECTED_URL_245___"
};

pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Dim cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)

' Create PdfSignature object
Dim sig As New PdfSignature(cert) With {
    .SigningContact = "support@ironsoftware.com",
    .SigningLocation = "Chicago, USA",
    .SigningReason = "Document Approval"
}

' Sign PDF document
Dim pdf As PdfDocument = PdfDocument.FromFile("document.pdf")
pdf.Sign(sig)

' Apply timestamp
Dim timestampedSig As New PdfSignature(cert) With {
    .TimestampHashAlgorithm = TimestampHashAlgorithm.SHA256,
    .TimeStampUrl = "___PROTECTED_URL_245___"
}

pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Signatures;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.X509;

class Program
{
    static void Main(string[] args)
    {
        string src = "input.pdf";
        string dest = "output_signed.pdf";
        string pfxFile = "your_certificate.pfx";
        string pfxPassword = "your_password";

        try
        {
            // Load your certificate
            Pkcs12Store ks = new Pkcs12Store(new FileStream(pfxFile, FileMode.Open), pfxPassword.ToCharArray());
            string alias = null;
            foreach (string al in ks.Aliases)
            {
                if (ks.IsKeyEntry(al))
                {
                    alias = al;
                    break;
                }
            }
            ICipherParameters pk = ks.GetKey(alias).Key;
            X509CertificateEntry[] chain = ks.GetCertificateChain(alias);
            X509Certificate2 cert = new X509Certificate2(chain[0].Certificate.GetEncoded());

            // Create output PDF with signed content
            using (PdfReader reader = new PdfReader(src))
            {
                using (PdfWriter writer = new PdfWriter(dest))
                {
                    using (PdfDocument pdfDoc = new PdfDocument(reader, writer))
                    {
                        // Create the signer
                        PdfSigner signer = new PdfSigner(pdfDoc, writer, new StampingProperties().UseAppendMode());

                        // Configure signature appearance
                        PdfSignatureAppearance appearance = signer.GetSignatureAppearance();
                        appearance.SetReason("Digital Signature");
                        appearance.SetLocation("Your Location");
                        appearance.SetContact("Your Contact");

                        // Create signature
                        IExternalSignature pks = new PrivateKeySignature(pk, "SHA-256");
                        signer.SignDetached(pks, chain, null, null, null, 0, PdfSigner.CryptoStandard.CMS);
                    }
                }
            }
            Console.WriteLine($"PDF digitally signed successfully: {dest}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error signing PDF: {ex.Message}");
        }
    }
}
using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Signatures;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.X509;

class Program
{
    static void Main(string[] args)
    {
        string src = "input.pdf";
        string dest = "output_signed.pdf";
        string pfxFile = "your_certificate.pfx";
        string pfxPassword = "your_password";

        try
        {
            // Load your certificate
            Pkcs12Store ks = new Pkcs12Store(new FileStream(pfxFile, FileMode.Open), pfxPassword.ToCharArray());
            string alias = null;
            foreach (string al in ks.Aliases)
            {
                if (ks.IsKeyEntry(al))
                {
                    alias = al;
                    break;
                }
            }
            ICipherParameters pk = ks.GetKey(alias).Key;
            X509CertificateEntry[] chain = ks.GetCertificateChain(alias);
            X509Certificate2 cert = new X509Certificate2(chain[0].Certificate.GetEncoded());

            // Create output PDF with signed content
            using (PdfReader reader = new PdfReader(src))
            {
                using (PdfWriter writer = new PdfWriter(dest))
                {
                    using (PdfDocument pdfDoc = new PdfDocument(reader, writer))
                    {
                        // Create the signer
                        PdfSigner signer = new PdfSigner(pdfDoc, writer, new StampingProperties().UseAppendMode());

                        // Configure signature appearance
                        PdfSignatureAppearance appearance = signer.GetSignatureAppearance();
                        appearance.SetReason("Digital Signature");
                        appearance.SetLocation("Your Location");
                        appearance.SetContact("Your Contact");

                        // Create signature
                        IExternalSignature pks = new PrivateKeySignature(pk, "SHA-256");
                        signer.SignDetached(pks, chain, null, null, null, 0, PdfSigner.CryptoStandard.CMS);
                    }
                }
            }
            Console.WriteLine($"PDF digitally signed successfully: {dest}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error signing PDF: {ex.Message}");
        }
    }
}
Imports System
Imports System.IO
Imports iText.Kernel.Pdf
Imports iText.Signatures
Imports Org.BouncyCastle.Crypto
Imports Org.BouncyCastle.Pkcs
Imports Org.BouncyCastle.X509

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim src As String = "input.pdf"
		Dim dest As String = "output_signed.pdf"
		Dim pfxFile As String = "your_certificate.pfx"
		Dim pfxPassword As String = "your_password"

		Try
			' Load your certificate
			Dim ks As New Pkcs12Store(New FileStream(pfxFile, FileMode.Open), pfxPassword.ToCharArray())
			Dim [alias] As String = Nothing
			For Each al As String In ks.Aliases
				If ks.IsKeyEntry(al) Then
					[alias] = al
					Exit For
				End If
			Next al
			Dim pk As ICipherParameters = ks.GetKey([alias]).Key
			Dim chain() As X509CertificateEntry = ks.GetCertificateChain([alias])
			Dim cert As New X509Certificate2(chain(0).Certificate.GetEncoded())

			' Create output PDF with signed content
			Using reader As New PdfReader(src)
				Using writer As New PdfWriter(dest)
					Using pdfDoc As New PdfDocument(reader, writer)
						' Create the signer
						Dim signer As New PdfSigner(pdfDoc, writer, (New StampingProperties()).UseAppendMode())

						' Configure signature appearance
						Dim appearance As PdfSignatureAppearance = signer.GetSignatureAppearance()
						appearance.SetReason("Digital Signature")
						appearance.SetLocation("Your Location")
						appearance.SetContact("Your Contact")

						' Create signature
						Dim pks As IExternalSignature = New PrivateKeySignature(pk, "SHA-256")
						signer.SignDetached(pks, chain, Nothing, Nothing, Nothing, 0, PdfSigner.CryptoStandard.CMS)
					End Using
				End Using
			End Using
			Console.WriteLine($"PDF digitally signed successfully: {dest}")
		Catch ex As Exception
			Console.WriteLine($"Error signing PDF: {ex.Message}")
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

PDF dosyalarina dijital imzalar uygularken, IronPDF X509 sertifikalari kullanarak dogrudan ve etkili bir yaklasim sunar. API'si, güvenlik kontrolünden ödün vermeden entegrasyonu basitleştirir. IronPDF, belge bütünlüğünü sağlamak için revizyon geçmişi takibini ve görsel imzalar dahil olmak üzere birden fazla imza türünü destekler. Kütüphane, güvenliği artırmak için HSM cihazları ile entegre olur ve sertifika doğrulamasını destekler. Güvenli belge iş akışları için, PDF'leri imzalama ve güvenli hale getirme özelliklerini keşfedin. iTextPdf'nin imzalama süreci daha fazla özelleştirme seçeneği sunar ancak karmaşık bir kurulum gerektirir. Geliştiriciler, sertifika yönetimi ve imza yapılandırması ile daha ayrıntılı bir kontrol elde eder, ancak daha dik bir öğrenme eğrisiyle karşılaşır.

Her Iki Kütüphane PDF'lere Filigranları Nasıl Uygular?

PDF'leri filigranlamak, markalama, gizlilik ve telif hakki korumasi icin esastir. IronPDF ve iTextPdf'in PDF belgelerine filigran nasıl uyguladığı aşağıda açıklandı. IronPDF, esnek filigranlama seçenekleri sunar ve HTML/CSS desteği sağlar. Kütüphane, karmaşık bindirmeler için arka plan ve ön plan katmanlarını da etkinleştirir.

IronPDF

using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_246___");

// Add text watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Add image watermark
pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>", 45, IronPdf.Editing.VerticalAlignment.Bottom, IronPdf.Editing.HorizontalAlignment.Right);

// Add complex HTML watermark with transparency
string watermarkHtml = @"
<div style='font-size:80px; color:rgba(255,0,0,0.3); font-family:Arial; transform:rotate(-45deg);'>
    CONFIDENTIAL
</div>";
pdf.ApplyWatermark(watermarkHtml, 0, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_246___");

// Add text watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Add image watermark
pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>", 45, IronPdf.Editing.VerticalAlignment.Bottom, IronPdf.Editing.HorizontalAlignment.Right);

// Add complex HTML watermark with transparency
string watermarkHtml = @"
<div style='font-size:80px; color:rgba(255,0,0,0.3); font-family:Arial; transform:rotate(-45deg);'>
    CONFIDENTIAL
</div>";
pdf.ApplyWatermark(watermarkHtml, 0, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a Watermark onto a new or existing PDF
Dim renderer As New ChromePdfRenderer()

Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_246___")

' Add text watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

' Add image watermark
pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>", 45, IronPdf.Editing.VerticalAlignment.Bottom, IronPdf.Editing.HorizontalAlignment.Right)

' Add complex HTML watermark with transparency
Dim watermarkHtml As String = "
<div style='font-size:80px; color:rgba(255,0,0,0.3); font-family:Arial; transform:rotate(-45deg);'>
    CONFIDENTIAL
</div>"
pdf.ApplyWatermark(watermarkHtml, 0, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using iText.IO.Font;
using iText.IO.Font.Constants;
using iText.Kernel.Colors;
using iText.Kernel.Font;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas;
using iText.Kernel.Pdf.Extgstate;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;

public class TransparentWatermark 
{
    public static readonly string DEST = "results/sandbox/stamper/transparent_watermark.pdf";
    public static readonly string SRC = "../../../resources/pdfs/hero.pdf";

    public static void Main(string[] args) 
    {
        FileInfo file = new FileInfo(DEST);
        file.Directory.Create();

        new TransparentWatermark().ManipulatePdf(DEST);
    }

    protected void ManipulatePdf(string dest) 
    {
        PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest));
        PdfCanvas under = new PdfCanvas(pdfDoc.GetFirstPage().NewContentStreamBefore(), new PdfResources(), pdfDoc);
        PdfFont font = PdfFontFactory.CreateFont(FontProgramFactory.CreateFont(StandardFonts.HELVETICA));
        Paragraph paragraph = new Paragraph("This watermark is added UNDER the existing content")
                .SetFont(font)
                .SetFontSize(15);

        Canvas canvasWatermark1 = new Canvas(under, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 550, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark1.Close();
        PdfCanvas over = new PdfCanvas(pdfDoc.GetFirstPage());
        over.SetFillColor(ColorConstants.BLACK);
        paragraph = new Paragraph("This watermark is added ON TOP OF the existing content")
                .SetFont(font)
                .SetFontSize(15);

        Canvas canvasWatermark2 = new Canvas(over, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 500, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark2.Close();
        paragraph = new Paragraph("This TRANSPARENT watermark is added ON TOP OF the existing content")
                .SetFont(font)
                .SetFontSize(15);
        over.SaveState();

        PdfExtGState gs1 = new PdfExtGState();
        gs1.SetFillOpacity(0.5f);
        over.SetExtGState(gs1);
        Canvas canvasWatermark3 = new Canvas(over, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 450, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark3.Close();
        over.RestoreState();

        pdfDoc.Close();
    }
}
using iText.IO.Font;
using iText.IO.Font.Constants;
using iText.Kernel.Colors;
using iText.Kernel.Font;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas;
using iText.Kernel.Pdf.Extgstate;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;

public class TransparentWatermark 
{
    public static readonly string DEST = "results/sandbox/stamper/transparent_watermark.pdf";
    public static readonly string SRC = "../../../resources/pdfs/hero.pdf";

    public static void Main(string[] args) 
    {
        FileInfo file = new FileInfo(DEST);
        file.Directory.Create();

        new TransparentWatermark().ManipulatePdf(DEST);
    }

    protected void ManipulatePdf(string dest) 
    {
        PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest));
        PdfCanvas under = new PdfCanvas(pdfDoc.GetFirstPage().NewContentStreamBefore(), new PdfResources(), pdfDoc);
        PdfFont font = PdfFontFactory.CreateFont(FontProgramFactory.CreateFont(StandardFonts.HELVETICA));
        Paragraph paragraph = new Paragraph("This watermark is added UNDER the existing content")
                .SetFont(font)
                .SetFontSize(15);

        Canvas canvasWatermark1 = new Canvas(under, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 550, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark1.Close();
        PdfCanvas over = new PdfCanvas(pdfDoc.GetFirstPage());
        over.SetFillColor(ColorConstants.BLACK);
        paragraph = new Paragraph("This watermark is added ON TOP OF the existing content")
                .SetFont(font)
                .SetFontSize(15);

        Canvas canvasWatermark2 = new Canvas(over, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 500, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark2.Close();
        paragraph = new Paragraph("This TRANSPARENT watermark is added ON TOP OF the existing content")
                .SetFont(font)
                .SetFontSize(15);
        over.SaveState();

        PdfExtGState gs1 = new PdfExtGState();
        gs1.SetFillOpacity(0.5f);
        over.SetExtGState(gs1);
        Canvas canvasWatermark3 = new Canvas(over, pdfDoc.GetDefaultPageSize())
                .ShowTextAligned(paragraph, 297, 450, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0);
        canvasWatermark3.Close();
        over.RestoreState();

        pdfDoc.Close();
    }
}
Imports iText.IO.Font
Imports iText.IO.Font.Constants
Imports iText.Kernel.Colors
Imports iText.Kernel.Font
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas
Imports iText.Kernel.Pdf.Extgstate
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties

Public Class TransparentWatermark
	Public Shared ReadOnly DEST As String = "results/sandbox/stamper/transparent_watermark.pdf"
	Public Shared ReadOnly SRC As String = "../../../resources/pdfs/hero.pdf"

	Public Shared Sub Main(ByVal args() As String)
		Dim file As New FileInfo(DEST)
		file.Directory.Create()

		Call (New TransparentWatermark()).ManipulatePdf(DEST)
	End Sub

	Protected Sub ManipulatePdf(ByVal dest As String)
		Dim pdfDoc As New PdfDocument(New PdfReader(SRC), New PdfWriter(dest))
		Dim under As New PdfCanvas(pdfDoc.GetFirstPage().NewContentStreamBefore(), New PdfResources(), pdfDoc)
		Dim font As PdfFont = PdfFontFactory.CreateFont(FontProgramFactory.CreateFont(StandardFonts.HELVETICA))
		Dim paragraph As Paragraph = (New Paragraph("This watermark is added UNDER the existing content")).SetFont(font).SetFontSize(15)

		Dim canvasWatermark1 As Canvas = (New Canvas(under, pdfDoc.GetDefaultPageSize())).ShowTextAligned(paragraph, 297, 550, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0)
		canvasWatermark1.Close()
		Dim over As New PdfCanvas(pdfDoc.GetFirstPage())
		over.SetFillColor(ColorConstants.BLACK)
		paragraph = (New Paragraph("This watermark is added ON TOP OF the existing content")).SetFont(font).SetFontSize(15)

		Dim canvasWatermark2 As Canvas = (New Canvas(over, pdfDoc.GetDefaultPageSize())).ShowTextAligned(paragraph, 297, 500, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0)
		canvasWatermark2.Close()
		paragraph = (New Paragraph("This TRANSPARENT watermark is added ON TOP OF the existing content")).SetFont(font).SetFontSize(15)
		over.SaveState()

		Dim gs1 As New PdfExtGState()
		gs1.SetFillOpacity(0.5F)
		over.SetExtGState(gs1)
		Dim canvasWatermark3 As Canvas = (New Canvas(over, pdfDoc.GetDefaultPageSize())).ShowTextAligned(paragraph, 297, 450, 1, TextAlignment.CENTER, VerticalAlignment.TOP, 0)
		canvasWatermark3.Close()
		over.RestoreState()

		pdfDoc.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'un API'si, hızlı filigran uygulamasını HTML ve CSS özelleştirme esnekliği ile sağlar. Bu yaklaşım, kapsamlı kurulum gerektirmeden görsel olarak farklı filigranlar oluşturur. Daha fazla kontrol için, IronPDF, karmaşık belge kaplamaları için arka plan ve ön plan katmanlarını, birden fazla filigranı ve özel konumlandırmayı destekler. Kutuphane ayrica takip amaclari icin barcode entegrasyonu ve olceklenebilir filigranlar icin SVG grafik destegi sunar. Gelişmiş ihtiyaçlar için PDF sayfalarını dönüştürme ve çizgi ve dikdörtgen çizme özelliklerini keşfedin. iTextPdf, detaylı yapılandırma seçenekleri aracılığıyla son derece özelleştirilebilir filigran yerleştirme imkanı sunar, ancak daha kapsamlı kodlama çabası gerektirir.### Hangi Kütüphane Daha İyi Görüntü ve Metin Damgasi Sunar?

PDF'lere içerik damgalamak, filigran oluşturmanın benzeri bir işlemdir ancak daha çok etiketleme veya markalama amaçlarıyla resimler veya metinler gibi belirli öğelerin eklenmesine odaklanır. IronPDF ve iTextPdf bu görevi şöyle yerine getirir. IronPDF, geniş damgalama özellikleri ve esnek konumlandırma seçenekleri sunar. Kutuphanemiz, PDF sayfalarina dogrudan metin ve bitmap cizimi destegini de saglar.

IronPDF

using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Center,
    Opacity = 50,
    Rotation = -45
};

// Stamp the text stamper on all pages
pdf.ApplyStamp(textStamper);

// Create HTML stamper for complex layouts
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<div style='border:2px solid red; padding:10px;'>
             <h3>APPROVED</h3>
             <p>Date: " + DateTime.Now.ToShortDateString() + @"</p>
             </div>",
    VerticalAlignment = VerticalAlignment.Bottom,
    HorizontalAlignment = HorizontalAlignment.Right,
    Width = 200,
    Height = 100
};

pdf.ApplyStamp(htmlStamper);

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("___PROTECTED_URL_247___"))
{
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Left,
    MaxWidth = new Length(150),
    MaxHeight = new Length(150)
};

// Stamp the image stamper on specific pages
pdf.ApplyStamp(imageStamper, new[] { 0, 2, 4 });

pdf.SaveAs("stamped.pdf");
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Center,
    Opacity = 50,
    Rotation = -45
};

// Stamp the text stamper on all pages
pdf.ApplyStamp(textStamper);

// Create HTML stamper for complex layouts
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<div style='border:2px solid red; padding:10px;'>
             <h3>APPROVED</h3>
             <p>Date: " + DateTime.Now.ToShortDateString() + @"</p>
             </div>",
    VerticalAlignment = VerticalAlignment.Bottom,
    HorizontalAlignment = HorizontalAlignment.Right,
    Width = 200,
    Height = 100
};

pdf.ApplyStamp(htmlStamper);

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("___PROTECTED_URL_247___"))
{
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Left,
    MaxWidth = new Length(150),
    MaxHeight = new Length(150)
};

// Stamp the image stamper on specific pages
pdf.ApplyStamp(imageStamper, new[] { 0, 2, 4 });

pdf.SaveAs("stamped.pdf");
Imports IronPdf
Imports IronPdf.Editing

Dim renderer As New ChromePdfRenderer()

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create text stamper
Dim textStamper As New TextStamper() With {
    .Text = "Text Stamper!",
    .FontFamily = "Bungee Spice",
    .UseGoogleFont = True,
    .FontSize = 30,
    .IsBold = True,
    .IsItalic = True,
    .VerticalAlignment = VerticalAlignment.Top,
    .HorizontalAlignment = HorizontalAlignment.Center,
    .Opacity = 50,
    .Rotation = -45
}

' Stamp the text stamper on all pages
pdf.ApplyStamp(textStamper)

' Create HTML stamper for complex layouts
Dim htmlStamper As New HtmlStamper() With {
    .Html = "<div style='border:2px solid red; padding:10px;'>" &
            "<h3>APPROVED</h3>" &
            "<p>Date: " & DateTime.Now.ToShortDateString() & "</p>" &
            "</div>",
    .VerticalAlignment = VerticalAlignment.Bottom,
    .HorizontalAlignment = HorizontalAlignment.Right,
    .Width = 200,
    .Height = 100
}

pdf.ApplyStamp(htmlStamper)

' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("___PROTECTED_URL_247___")) With {
    .VerticalAlignment = VerticalAlignment.Top,
    .HorizontalAlignment = HorizontalAlignment.Left,
    .MaxWidth = New Length(150),
    .MaxHeight = New Length(150)
}

' Stamp the image stamper on specific pages
pdf.ApplyStamp(imageStamper, {0, 2, 4})

pdf.SaveAs("stamped.pdf")
$vbLabelText   $csharpLabel

iTextPdf

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

public void StampPDF(string inputPdfPath, string outputPdfPath, string stampText)
{
    PdfDocument pdfDoc = new PdfDocument(new PdfReader(inputPdfPath), new PdfWriter(outputPdfPath));

    Document doc = new Document(pdfDoc);

    // Add stamp (text) to each page
    int numPages = pdfDoc.GetNumberOfPages();
    for (int i = 1; i <= numPages; i++)
    {
        doc.ShowTextAligned(new Paragraph(stampText),
                            36, 36, i, iText.Layout.Properties.TextAlignment.LEFT,
                            iText.Layout.Properties.VerticalAlignment.TOP, 0);
    }

    doc.Close();
}
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

public void StampPDF(string inputPdfPath, string outputPdfPath, string stampText)
{
    PdfDocument pdfDoc = new PdfDocument(new PdfReader(inputPdfPath), new PdfWriter(outputPdfPath));

    Document doc = new Document(pdfDoc);

    // Add stamp (text) to each page
    int numPages = pdfDoc.GetNumberOfPages();
    for (int i = 1; i <= numPages; i++)
    {
        doc.ShowTextAligned(new Paragraph(stampText),
                            36, 36, i, iText.Layout.Properties.TextAlignment.LEFT,
                            iText.Layout.Properties.VerticalAlignment.TOP, 0);
    }

    doc.Close();
}
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element

Public Sub StampPDF(ByVal inputPdfPath As String, ByVal outputPdfPath As String, ByVal stampText As String)
	Dim pdfDoc As New PdfDocument(New PdfReader(inputPdfPath), New PdfWriter(outputPdfPath))

	Dim doc As New Document(pdfDoc)

	' Add stamp (text) to each page
	Dim numPages As Integer = pdfDoc.GetNumberOfPages()
	For i As Integer = 1 To numPages
		doc.ShowTextAligned(New Paragraph(stampText), 36, 36, i, iText.Layout.Properties.TextAlignment.LEFT, iText.Layout.Properties.VerticalAlignment.TOP, 0)
	Next i

	doc.Close()
End Sub
$vbLabelText   $csharpLabel

IronPDF'nin resim ve metin damgalama yöntemleri, markalı içerik veya etiketlerin PDF sayfalarına kolayca eklenmesini sağlayan basit ve çok yönlü bir yapıya sahiptir. API, kolay özelleştirme için tanıdık HTML/CSS stil öğelerini kullanır. IronPDF, karmaşık damgalama ihtiyaçları için birden çok damgayı verimli bir şekilde, Google Fonts entegrasyonunu ve web fontlarını destekler. Kutuphanemiz, PDF'ler uzerine dogrudan metin ve bitmap cizimi saglar ve envanter takibi icin barkod damgalama destegi sunar. Kesin kontrol için PDF nesnelerini çevirin ve PDF nesnelerini ölçeklendirin özelliklerini keşfedin. iTextPdf, görüntü ve metin damgalama özellikleri de sunar, ancak yapılandırma daha fazla manuel kurulum ve PDF düzen yapısı bilgisi gerektirir. PDF sayfalarındaki içeriği doğrudan manipüle edebilme, güvenilir damgalama araçları sağlar, ancak iTextPdf'in kurulumu daha fazla çaba gerektirir.

Her Iki Kütüphane de DOCX'i PDF'e Dönüştürebilir mi?

Bazi projelerde, DOCX dosyalarini PDF formatina dönüştürmek gereklidir. Aşağıda IronPDF ve iTextPdf'in bu görevi nasıl ele aldıklarının bir karşılaştırması yer almakta, farklılıkları vurgulanmaktadır. IronPDF, yerel olarak DOCX'ten PDF'e dönüştürme sunar ve RTF belgeleri dahil diğer formatları da destekler.

IronPDF

using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Advanced rendering with options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Handle mail merge
var mergeFields = new Dictionary<string, string>
{
    ["Name"] = "John Doe",
    ["Date"] = DateTime.Now.ToShortDateString()
};
PdfDocument mergedPdf = renderer.RenderDocxAsPdf("template.docx", mergeFields);

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Advanced rendering with options
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Handle mail merge
var mergeFields = new Dictionary<string, string>
{
    ["Name"] = "John Doe",
    ["Date"] = DateTime.Now.ToShortDateString()
};
PdfDocument mergedPdf = renderer.RenderDocxAsPdf("template.docx", mergeFields);

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Dim renderer As New DocxToPdfRenderer()

' Render from DOCX file
Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Advanced rendering with options
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50

' Handle mail merge
Dim mergeFields As New Dictionary(Of String, String) From {
    {"Name", "John Doe"},
    {"Date", DateTime.Now.ToShortDateString()}
}
Dim mergedPdf As PdfDocument = renderer.RenderDocxAsPdf("template.docx", mergeFields)

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

iTextPdf

iTextPdf, DOCX'ten PDF'e dönüştürme için yerleşik desteği olmadığı için IronPDF'den farklıdır. Bu dönüşümü gerçekleştirmek için, geliştiriciler önce DOCX dosyasını PDF uyumlu bir formata dönüştürmek için DocX veya Aspose.Words gibi üçüncü taraf kütüphanelere güvenmeli, ardından iTextPdf kullanarak dosyayı işleyip değiştirmelidir.

IronPDF, ek kütüphane gereksinimini ortadan kaldırarak DOCX'ten PDF'e dönüştürme için basit, yerleşik bir çözüm sunar. Bu, hızlı ve entegre bir dönüşüme ihtiyaç duyan geliştiriciler için son derece uygundur. IronPDF, eski belge formatları için RTF'den PDF'e dönüşümü, dokümantasyon iş akışları için Markdown'dan PDF'e, yapılandırılmış veri için XML'den PDF'e ve görüntüden PDF'e dönüşümü, çok çerçeveli TIFF desteği dahil olmak üzere destekler. Belge işlemini geliştirmek için, posta birleştirme yeteneklerini ve içindekiler tablosu oluşturmayı keşfedin. Buna karşılık, iTextPdf, DOCX dönüşümü için harici kütüphanelere güvenir ve bu da ek kurulum ve bağımlılık gerektirir, dolayısıyla proje karmaşıklığını artırır.

IronPDF ve iTextPdf, Bootstrap ve Modern CSS'i Ne Kadar İyi Destekliyor?

Bootstrap tarzı web uygulamalarından PDF oluştururken, tam framework desteği, paralel CSS dosyaları veya düzen değişiklikleri gerektirmeden tasarım tutarlılığını sağlar. HTML'den PDF'ye sayfa sonlarını ve duyarlı tasarım gereksinimlerini anlamak, profesyonel çıktı için önemlidir. Daha iyi sonuçlar için CSS medya türlerini ve özelleştirilmiş render gecikmelerini kullanın.

IronPDF Modern CSS Çerçevelerini Destekliyor mu?

IronPDF'in Chromium motoru, şunları tamamen destekler:

  • Bootstrap 5: Tam fleks kutusu düzenleri, CSS Grid, yardımcı sınıflar, tüm bileşenler
  • Bootstrap 4: Tam kart sistemleri, gezinme, fleks yardımcılar, duyarlı tasarım
  • Tailwind CSS: Tarayıcıya uygun işlemeyle tüm yardımcı sınıflar
  • Foundation: Tam ızgara sistemi ve bileşen kitaplığı
  • Modern CSS3: Flexbox, CSS Grid, özel özellikler, animasyonlar, geçişler

Gerçek dünya doğrulaması: IronPDF, Bootstrap ana sayfası ve tüm resmi örnekleri, duyarlı CSS yeteneklerini kullanarak piksel mükemmelliğinde doğrulukla işler. Kütüphane ayrıca özel kağıt boyutları ve daha iyi düzenleme için görünüm kontrolü destekler. Kompleks düzenler için işleme seçeneklerini ve sayfa yönlendirme ayarlarını kullanın. Bu kutuphane, uluslararasi dilleri ve UTF-8 kullanarak kuresel uygulamalar icin uygun hale gelir.

iTextPdf'nin CSS Kısıtlamaları Nelerdir?

iTextPDF, seçici CSS3 desteği ile pdfHTML kullanır: Sınırlı flexbox desteği: Sürüm 7.1.15'te eklendi ancak eksik CSS Izgarası Yok: Izgara tabanlı Bootstrap düzenleri desteklenmiyor Bootstrap 3 sınırlamaları: Modern Bootstrap 4/5 bileşenleri, geçici çözümler gerektirir

  • Manuel düzen dönüşümü: Karmaşık düzenler genellikle PDF'ye özgü kod gerektirir

iTextPdf'in dokümantasyonu, gelişmiş CSS özelliklerinin beklenildiği gibi render edilmeyebileceğini açıkça belirtir ve geliştiricilerin her Bootstrap bileşenini test etmelerini ve genellikle basitleştirilmiş tasarımlar oluşturmalarını gerektirir.

Geliştirme etkisi: Ekipler, PDF oluşturma için ayrı düzen kodu muhafaza etmeli veya Bootstrap bileşenlerini kapsamlı şekilde test etmeli ve değiştirmelidir, bu da geliştirme süresini artırır ve tasarım tutarlılığını azaltır.

Tam Bootstrap çerçevesi kılavuzu ve CSS3 işleme yetenekleri için, Bootstrap & Flexbox CSS Kılavuzu'na bakın. Ek kaynaklar arasında piksel mükemmelliğinde biçimlendirme ipuçları, yazı tipi yönetimi ve tutarlı tipografi için yazı tipi kerning çözümleri bulunmaktadır. Web uygulamaları için, ASPX'den PDF'e dönüştürme ve Angular.js ile PDF oluşturma yeteneklerini keşfedin.

Kod Örnekleri IronPDF ve iTextPdf Hakkında Ne Söylüyor?

IronPDF ve iTextPDF kütüphaneleri arasındaki özellik karşılaştırma tablosu, HTML dönüştürme, şifreleme, düzeltiler, imzalar, filigranlar, damgalama ve DOCX desteği gibi PDF manipülasyon yeteneklerini göstermektedir.

Daha ayrıntılı örnekler için IronPDF Örneklerini ziyaret edin veya kod örnekleri kütüphanesini keşfedin. Demolar bölümu, IronPDF'in yeteneklerinin etkileşimli örneklerini sunar. Ek kaynaklar arasında yüksek performanslı uygulamalar için paralel PDF oluşturma, çoklu iş parçacıklı işleme ve async örnekleri bulunmaktadır.

IronPDF ve iTextPdf'in Fiyatlandırma ve Lisanslama Konularında Karşılaştırması Nasıldır?

IronPDF'in Fiyatlandırma Seçenekleri Nelerdir?

IronPDF, lisans satın almak için farklı seviyeler ve ek özellikler sunar. Geliştiriciler, Iron Suite'i de satın alabilir, bu da iki ürün fiyatına tüm Iron Software ürünlerine erişim sağlar. Bir lisans satın almaya hazır değilseniz, IronPDF tam özellikli bir ücretsiz deneme sunar. Lisanslama sayfası, mevcut seçenekler hakkında tam bilgileri sağlar. Kurumsal dağıtımlar için, lisans anahtarı yönetimi ve lisans anahtarlarının programlı olarak ayarlanması konularını keşfedin.

  • Süresiz lisanslar: Ekibinizin büyüklüğüne, projenizin gereksinimlerine ve konum sayısına bağlı olarak çeşitli süresiz lisanslar sunar. Her lisans türü e-posta desteği ile birlikte gelir.
  • Lite License: Bu lisans $799 tutarındadır ve bir geliştirici, bir konum ve bir projeyi destekler.
  • Plus License: Üç geliştirici, üç konum ve üç projeyi destekleyen bu lisans, Lite License'dan sonraki adımdır ve maliyeti $1,199. Plus lisansı, temel e-posta desteğine ek olarak sohbet desteği ve telefon desteği sunar. Professional License: Bu lisans, daha büyük ekipler için uygundur, $2,399 için on geliştirici, on konum ve on projeyi destekler. Önceki katmanlarla aynı iletişim desteği kanallarını sunar ancak ayrıca ekran paylaşımı desteği de sunar. Telif ücretsiz yeniden dağıtim: IronPDF lisanslamasi, ekstra $2,399 icin telif ücretsiz yeniden dağıtim kapsamasi da sunar.
  • Kesintisiz ürün desteği: IronPDF, yıllık $999 veya 5 yıllık kapsama için tek seferlik $1,999 ödeme karşılığında sürekli ürün güncellemeleri, güvenlik özelliği yükseltmeleri ve mühendislik ekibinden destek sunar.
  • Iron Suite: $1,498 için, IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint ve IronWebScraper dahil olmak üzere tüm Iron Software urunlerine erişim sağlarsınız.

IronPDF pricing comparison showing three perpetual license tiers (Lite, Plus, Professional) ranging from $749-$2,999, with a bundle promotion for Iron Suite offering 9 products for the price of 2

iTextPdf Lisanslamayı Nasıl Ele Alır?

  • AGPL Lisansı: iTextPDF Core adlı kütüphane, koşulları altında ücretsiz olarak kullanabileceğiniz AGPL lisansı kapsamında açık kaynaklıdır. Geliştiriciler, herhangi bir değişikligi ayni lisans altinda yayinlamalidir.
  • Ticari Lisans: AGPL kosullarini karsilamayan geliştiriciler icin, iTextPDF, fiyat teklifi tabanli bir modelle ticari lisanslama sunar.

Lisans yükseltmeleri ve geçişler için IronPDF lisans yükseltmeleri sayfasını ziyaret edin. Lisans anahtari uygulama kılavuzu, uygulama sirasinda yardimci olur ve lisans anahtari konfigürasyonu dağıtim seçenekleri sunar. Lisans sorunlarını gidermek için, lisanslama sunucusuna bağlanılamıyor ve lisans uzantıları bağlantılarına bakın.

IronPDF ve iTextPdf Hangi Dokümantasyon ve Destekleri Sunuyor?

  • Kapsamlı Dokümantasyon: Sunulan tüm özellikleri kapsayan kapsamlı ve kullanıcı dostu dokümantasyon.
  • 24/5 Destek: Aktif mühendis desteği mevcuttur.
  • Video Eğitimleri: YouTube'da adım adım video eğitimleri mevcuttur.
  • Topluluk Forumu: Ek destek için etkileşimli bir topluluk.
  • Düzenli Güncellemeler: En son özellikler ve güvenlik yamalarını sağlamak için aylık ürün güncellemeleri.

  • Tam Dokümantasyon: Tüm özellikleri kapsayan geniş, kullanıcı dostu dokümantasyon 24/5 Destek: Aktif mühendislik desteği mevcut
  • Video Eğitimleri: YouTube hakkında adım adım video kılavuzları
  • Topluluk Forumu: Stack Overflow ve GitHub aracılığıyla ek destek için etkileşimli topluluk
  • Duzenli Güncellemeler: Aylik ürün güncellemeleri en son özellikleri ve guvenlik yamalarini saglar
  • Kod Örnekleri: Pratik uygulamalar icin genis kod örnekleri kutuphanesi
  • Hata Giderme Kılavuzları: Hızlı hata giderme ve platforma özel sorunlar için detaylı kılavuzlar

Detaylı sorun giderme için, IronPDF, AWS dağıtımı, Azure yapılandırması, bellek yönetimi, Docker entegrasyonu, IIS kurulumu ve performans optimizasyonu gibi yaygın sorunlar için kılavuzlar sunar. Platforma özgü kılavuzlar, Windows dağıtımını, Linux yapılandırmasını ve macOS desteğini kapsar. Ek kaynaklar arasında mühendislik talebi rehberi, Azure günlük yönetimi, AWS günlük dosyaları, ve güvenlik CVE bilgileri bulunmaktadır.

Dokümantasyon: iText PDF dokümantasyonu mevcut özellikleri ayrıntılı şekilde kapsar.

  • Örnekler ve Eğitimler: Kod örnekleri ve eğitimler, geliştiricilerin başlangic yapmalarina yardimci olur. GitHub Topluluğu: Geliştiriciler, sorunları bildirebilir, pull request gönderebilir ve iTextPDF ekibiyle etkileşimde bulunabilir.
  • Düzenli Güncellemeler: iTextPDF sık güncellemeler ve iyileştirmeler sağlar.

IronPDF belgeleri ve destek hakkında daha fazla bilgi için IronPDF Belgeleri ve IronSoftware YouTube Kanalı'nı ziyaret ediniz. Belirli özellikler için nasıl yapılır kılavuzlarını, detaylı uygulama için API referansını ve tam öğrenme için eğitimleri keşfedin. VB.NET PDF eğitimi ve F# PDF kütüphanesi kılavuzu dil özelinde kaynaklar sunuyor. Modern uygulama çerçeveleri için Blazor eğitimi, MAUI PDF görüntüleme ve XAML'den PDF'ye dönüştürme keşfedin.## Kıdemli .NET Geliştiriciler Hangi PDF Kütüphanesini Seçmelidir?

.NET için PDF işleme araçları alanında, hem IronPDF hem de iTextPdf geliştiriciler için değerli çözümler sunar. IronPDF, .NET platformları arasında kolay entegrasyonu ve harici bağımlılıklar olmadan PDF'ye DOCX dönüştürme gibi kullanıcı dostu özellikleriyle dikkat çeker. Gelişmiş render ihtiyaçları için, IronPDF JavaScript çalıştırma, WebGL desteği ve dinamik içerik için özel render gecikmeleri sunar. Kitaplık ayrıca etkileşimli PDF'ler için JavaScript mesaj dinleyicileri ve özel JavaScript yürütme içerir. Karmaşık render senaryolarını ele almak için, ağ boşta bekleme, render gecikme yapılandırması ve başlangıç render optimizasyonunu keşfedin. Buna karşılık, iTextPdf, çok yönlülüğü ve zengin özellikleriyle bilinir, özellikle diğer araçlarla birleştirildiğinde etkili olmayı sürdürür, ancak DOCX dönüştürme için ek bağımlılıklar gerektirir.

Performans iyileştirmeleri için, IronPDF yüksek hacimli PDF işlemlerini verimli bir şekilde ele almak amacıyla async işlem, paralel oluşturma ve çoklu iş parçacığı desteği sunar. Kutuphanenin ayrica PDF sıkıştırma, hızlı web görüntüleme için lineerleştirme ve arşiv gereksinimleri için PDF/A uyumluluğu gibi ileri seviye özellikleri de bulunmaktadir. Ek Enterprise özellikler arasında e-faturalama için ZUGFeRD desteği ile PDF/A-3, erişilebilirlik için PDF/UA uyumluluğu ve PDF sürüm kontrolü bulunmaktadır. Bulut dağıtımları için IronPDF, uzaktan motor seçenekleri, Docker konteyner desteği ve bir yerel ve uzaktan motor karşılaştırması sunar.

Sonuçta, IronPDF ile iTextPdf arasında seçim yapmak, projenin belirli ihtiyaçlarına, lisans tercihine ve gerekli destek seviyesine bağlıdır. Her iki kutuphane de .NET uygulamalarinda PDF is akisini basitlestirmek icin guvenilir yöntemler sunar. Modern web standartlarını ve kullanımı kolaylığı önceliklendiren geliştiriciler için, IronPDF'in Chrome tabanlı renderleme ve kapsamlı API'si mükemmel bir seçimdir. Kütüphanenin PDF oluşturma, PDF dönüştürme ve PDF düzenleme eğitimleri ayrıntılı rehberlik sağlar. Belge işlemede uzmanlasmak icin, PDF raporları oluşturmayı, PDF metni okumayı ve PDF'den HTML'ye dönüştürmeyi keşfedin. Ek yetenekler arasında kağıt üzerine yazdırma, ağ yazıcı desteği, görüntülere rasterizasyon ve Base64 dönüşümü bulunmaktadır. AGPL lisanslaması veya kapsamlı düşük seviyeli PDF işlemleri gerektirenler için iTextPdf daha uygun olabilir.

PDF kütüphaneleri ile ilgili daha fazla karşılaştırma yapmak için, PDF geliştirme ihtiyaçlarınız için bilinçli bir karar vermenizi sağlamak amacıyla Aspose vs IronPDF, Apryse vs IronPDF, QuestPDF vs IronPDF ve Syncfusion vs IronPDF sayfalarını keşfedin. Dağıtım kılavuzu için, IronPDF yükleyici seçeneklerini, yazılım yükleyici entegrasyonunu ve dağıtım en iyi uygulamalarını inceleyin. Kutuphanenin donum noktaları, Chrome render iyileştirmeleri, uyumluluk güncellemeleri, PDFium DOM güncellemeleri ve kararlılık iyileştirmeleri dahil olmak üzere sürekli iyileştirmeleri vurgular.

Lütfen dikkate aliniTextPdf, ilgili sahibinin tescilli ticari markasidir. Bu site, iTextPdf ile bağlantılı değildir, onun tarafından onaylanmamış veya sponsorluğunda değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerinin mülkiyetindedir. Karşılaştırmalar yalnızca bilgilendirme amaçlıdır ve yazım sırasında kamuya açık bilgileri yansıtır.

Sıkça Sorulan Sorular

HTML'yi C#'de PDF'ye nasıl dönüştürebilirim?

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca RenderHtmlFileAsPdf kullanarak HTML dosyalarının PDF'lere dönüştürülmesini de sağlayabilirsiniz.

IronPDF, PDF oluşturma ve manipülasyonu için hangi özellikleri sunar?

IronPDF, HTML'den PDF'ye dönüştürme, PDF birleştirme, şifreleme, dijital imzalar, filigran ekleme ve DOCX'ten PDF'ye dönüştürme gibi özellikler sağlar.

IronPDF PDF imzalamayı nasıl basitleştirir?

IronPDF, X509 sertifikaları kullanarak PDF dosyalarına dijital imzalar uygulamanıza olanak tanır, bu da belgelerinizi güvence altına almak için basit bir yöntem sağlar.

IronPDF farklı işletim sistemlerinde kullanılabilir mi?

Evet, IronPDF çapraz platform uyumluluğunu destekler. Windows, Linux ve Mac'te sorunsuz çalışır ve .NET Core, .NET Standard ve .NET Framework ile uyumludur.

Doküman şifreleme açısından iTextPDF ile IronPDF arasında ne fark vardır?

iTextPDF şifreleme standartları için detaylı kurulum sağlarken, IronPDF uygulaması kolay olan yerleşik şifreleme yöntemleri ile süreci basitleştirir.

IronPDF kullanıcıları için hangi destek kaynakları mevcuttur?

IronPDF, kapsamlı dökümantasyon, video eğitimleri, bir topluluk forumu ve 24/5 mühendis desteği ile kapsamlı destek sunar.

IronPDF, DOCX'ten PDF'ye dönüştürmeyi nasıl ele alır?

IronPDF, ek kütüphanelere ihtiyaç duymadan kesintisiz entegrasyon sağlayarak yerel DOCX'ten PDF'ye dönüştürme yetenekleri içerir.

IronPDF için hangi lisanslama seçenekleri mevcuttur?

IronPDF, farklı kademeleri olan sürekli lisanslar sunar, örneğin Lite, Plus ve Professional, telif ücretsiz yeniden dağıtım seçenekleri ve devam eden ürün desteği ile birlikte.

IronPDF kullanarak PDF'lere nasıl filigran eklerim?

IronPDF, HTML ve CSS kullanarak filigran eklemeyi kolaylaştırır, hızlı bir şekilde metin veya resim filigranları eklemenize ve gerektiğinde özelleştirmenize olanak tanır.

IronPDF'yi .NET uygulamalarıyla çalışan geliştiriciler için uygun kılan nedir?

IronPDF, kullanım kolaylığını sağlayan basitleştirilmiş bir API ile tasarlanmıştır, bu da HTML'den PDF'ye dönüştürme, şifreleme ve dijital imzalama gibi görevleri verimli hale getirir, .NET geliştiricileri için idealdir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
iText Logo

Pahalı yenileme ücretlerinden ve eski ürün güncellemelerinden bıktınız mı?

Mühendislik göç desteğimiz ve daha iyi bir anlaşmayla iText'den kolay geçiş yapın.

IronPDF Logo

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara