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

IronPDF ve ComPDFKit Arasında Bir Karşılaştırma

IronPDF, yerel Chromium tabanlı HTML işleme, tam Bootstrap desteği, tam belgeler ve üstün .NET entegrasyonu ile C# PDF oluşturma için ComPDFKit'den üstünken,ComPDFKitHTML dönüştürme için harici API çağrıları gerektirir ve gelişmiş CSS çerçeve uyumluluğuna sahip değildir.

PDF, Portable Document Format'ın kısaltması olup, belgelerin paylaşımındaki tutarlılığı sağlamak için Adobe tarafından oluşturulan bir dosya türüdür. Bu format, çeşitli cihazlar ve işletim sistemleri arasında düzeni, metni ve görselleri tutarlı bir şekilde korur. PDF'ler güvenlik, etkileşimli özellikler ve kompakt dosya boyutları sağlar, bu da onları içerik değişikliği olmadan belgeleri dağıtmak için ideal hale getirir.

C# kullanan geliştiriciler için, PDF kütüphaneleri, PDF dosyaları ile çalışmak için çözümler sunar. Bu kütüphaneler, belge oluşturma, içerik değiştirme ve metin ve görsellerin çıkarılması gibi işler yapabilir. Form işleme, dijital imzalar ve çapraz platform uyumluluğu gibi özellikleri desteklerler. Performansı artırmak için tasarlanmış bu kütüphaneler, verimli PDF işleme sağlar.

Bu makale, iki C# PDF kütüphanesini karşılaştırıyor: IronPDF ve ComPDFKit. Bu karşılaştırma, özellikleri, işlevselliği, kod örneklerini ve lisanslamayı kapsar. Bu yönler incelendiğinde, geliştiriciler, PDF ile ilgili projelerine en uygun kütüphaneyi belirleyebilirler.

Hızlı Karşılaştırma Özeti

Detaylı analize geçmeden önce, işte temel özelliklerin tam karşılaştırması:

Özellik IronPDF ComPDFKit
HTML to PDF Yerel Chromium motoru Harici API gerekli
Bootstrap Desteği Tam CSS3/Flexbox desteği Sınırlı CSS çerçeve desteği
Kurulum Tekar NuGet paketi Birden çok paket gerekli
Dokümantasyon 500'den fazla örnekle kapsamlı Temel belgeler
Destek 24/5 özel mühendislik desteği Standart e-posta desteği
Fiyatlandırma Modeli Süresiz lisans $749'dan itibaren Teklifi dayalı fiyatlandırma
Çapraz Platform Windows, Linux, macOS, Docker, Azure Windows, Linux, macOS
Performans Optimize edilmiş async/multithreading Standart eşzamanlı işleme
Kurumsal Özellikler PDF/A, PDF/UA, HSM imzalama Temel PDF/A desteği
Öğrenme Eğrisi Minimal - sezgisel API Orta - karmaşık API yapısı
  1. PDF Görüntüleme: ComPDFKit, kullanıcılara yüksek sadakatle PDF belgelerini görüntülemelerini sağlayan güçlü bir PDF görüntüleyicisi sağlar. Görüntüleyici, pürüzsüz kaydırma, yakınlaştırma ve gezinmeyi destekler ve sorunsuz bir kullanıcı deneyimi sağlar.
  2. Ekler: Kütüphane, PDF eklerini sorunsuz bir şekilde entegre edecek araçlar içerir. Kullanıcılar, metni vurgulayabilir, yorumlar ekleyebilir ve işbirlikçi iş akışları için gerekli olan çeşitli ek türleri oluşturabilir.
  3. Form İşleme: Kütüphane, etkileşimli formlar için kapsamlı destek sunar. Geliştiriciler, PDF formlarını oluşturabilir, doldurabilir ve verileri çıkarabilir, bu da form işleme gerektiren uygulamalar için idealdir.
  4. PDF Düzenleme: ComPDFKit, PDF dosyaları içinde metin, görseller ve diğer içerikleri değiştirme dahil olmak üzere kapsamlı PDF düzenleme yetenekleri sağlar. Bu özellik, mevcut PDF belgelerini güncellemeye veya özelleştirmeye ihtiyaç duyan uygulamalar için kullanışlıdır.
  5. Dönüştürme: Kütüphane, Word, Excel, PowerPoint ve görseller gibi çeşitli formatlara ve bu formatlardan PDF dosyalarını dönüştürmeyi destekler. Bu esneklik, PDF içeriğini farklı kullanımlar için dönüştürmesi gereken uygulamalar için hayati öneme sahiptir.
  6. Güvenlik: ComPDFKit, şifreleme ve izin yönetimi gibi güçlü güvenlik özellikleri içerir. Geliştiriciler, yetkisiz erişimden hassas bilgileri korumak için PDF belgelerini güvence altına alabilir.
  7. Optik Karakter Tanıma (OCR): Kütüphane, taranmış belgeleri düzenlenebilir ve aranabilir PDF'lere dönüştürme kapasitesine sahip OCR özellikleri içerir. Bu özellik, kağıt belgeleri dijitalleştirmek ve elektronik erişilebilir hale getirmek için hayati önem taşır.

ComPDFKit ana sayfası, geliştiriciler için tam PDF SDK çözümlerini, ek özelliklerin ekran görüntüleri ve PDF manipulasyon yeteneklerini gösteren kod örnekleriyle sunuyor.

ComPDFKit PDF SDK, geliştiricilerin uygulamalarına eksiksiz PDF işlemleri entegre etmelerine olanak tanıyan güvenilir bir C# PDF SDK'sıdır. Bu kütüphane, PDF belgelerini programlı olarak işlemek için gerekli olan geniş bir PDF işlevlerini destekler. Web, masaüstü ve mobil platformlar da dahil olmak üzere çeşitli ortamlarda kullanmak üzere tasarlanmış olup, çapraz platform projeleri üzerinde çalışan geliştiriciler için çok yönlü bir araçtır. Örnek çözüm, geliştiricilerin seçebileceği ve test edebileceği birden fazla işlev içerir.

ComPDFKitHangi Temel Özellikleri Sunuyor?

Çekirdek Yetenekler:

  • PDF Görüntüleme: Pürüzsüz kaydırma, yakınlaştırma ve gezinme özellikleriyle etkili bir görüntüleyici sağlar
  • Ek Açıklamalar: Metin vurgulama, yorum ekleme ve çeşitli açıklama türleri oluşturma araçlarını içerir
  • Form İşleme: Etkileşimli PDF formları oluşturma, doldurma ve veri çıkarma desteği sunar
  • PDF Düzenleme: Mevcut PDF belgeleri içindeki metin, resim ve diğer içeriklerin değiştirilmesine izin verir
  • Dönüşüm: PDF'leri Word, Excel, PowerPoint ve resim formatlarına dönüştürmeyi destekler
  • Güvenlik: Hassas bilgileri korumak için şifreleme ve izin yönetimini içerir
  • Optik Karakter Tanıma (OCR): Tarayıcıdan alınan belgeleri düzenlenebilir ve aranabilir PDF'lere dönüştürür

ComPDFKit'in Mimarisini Neden Düşünmelisiniz?

  1. HTML'den PDF'ye Dönüşüm: IronPDF, HTML, CSS ve JavaScript içeriğini yüksek kaliteli PDF belgelere dönüştürmede mükemmeldir. Bu özellik, HTML dizgilerini PDF'ye, URL'leri, ASPX web formlarını ve MVC görünümlerini destekleyerek çeşitli web tabanlı içerikler için esnek bir çözüm sunar.
  2. PDF Düzenleme: Kütüphane, sayfa ekleme, kopyalama ve silme, PDF'leri birleştirme ve ayırma, metin ve resimleri manipüle etme gibi kapsamlı düzenleme yetenekleri sunar. Geliştiriciler ayrıca PDF belgelerine başlıklar, altbilgiler, filigranlar ve dijital imzalar ekleyebilirler.
  3. Form İşleme: IronPDF, akıllı formlar oluşturmayı ve PDF formlarını programlı olarak doldurmayı destekler. Bu özellik, dinamik form oluşturma ve kullanıcı tarafından gönderilen formlardan veri çıkarmayı gerektiren uygulamalar için gereklidir.
  4. Güvenlik Özellikleri: IronPDF, belgeleri şifreleme, parola ve izinler ayarlama ve dijital imzalar ekleme gibi güçlü güvenlik seçenekleri sunar. Bu özellikler, PDF belgelerindeki hassas bilgilerin yetkisiz erişime karşı korunmasını sağlar.
  5. OCR ve Veri Çıkarma: Kütüphane, tarayıcıdan alınan belgeleri düzenlenebilir ve aranabilir PDF'lere dönüştürmeye olanak tanıyan Optik Karakter Tanıma (OCR) becerileri içerir. Ayrıca,IronPDFmevcut PDF'lerden metin, resim ve diğer verileri çıkararak içerik yeniden kullanımı ve analizini kolaylaştırır.
  6. Resim Dönüşümü: IronPDF, JPG, PNG, GIF, BMP ve SVG dahil olmak üzere çeşitli resim formatlarının PDF belgelerine dönüştürülmesini destekler. Ayrıca, PDF sayfalarını resim olarak işleme yeteneği de sunar, bu da PDF içeriğinin görsel önizlemelerini gerektiren uygulamalar için kullanışlıdır.
  7. Çapraz Platform Uyumluluğu: IronPDF, .NET Core, .NET Framework ve .NET Standard dahil olmak üzere birden fazla .NET platformuyla uyumludur.Windows, Linux, macOSve Azure'da dağıtımı destekleyerek farklı ortamlarda çalışan geliştiriciler için çok yönlü bir seçim yapar.
  8. Performans Optimizasyonu: Kütüphane, çok iş parçacıklı ve asenkron işlemler için destek sunarak yüksek performans için tasarlanmıştır. Bu, PDF işleme görevlerinin, yüksek iş yükü olan uygulamalarda bile verimli bir şekilde yürütülmesini sağlar.
  9. Kapsamlı Dokümantasyon ve Destek: IronPDF, detaylı dokümantasyon ve çok sayıda kod örneği sunarak geliştiricilerin başlangıç yapmasını ve özelliklerini uygulamalarını kolaylaştırır. Ayrıca, geliştirme sırasında ortaya çıkabilecek herhangi bir sorunla ilgili teknik destek sunar.

Kurumsal uygulamaların güvenilir ek açıklama özellikleri gerektirdiği durumlardaComPDFKittemel işlevsellik sağlar. Gelişmiş form oluşturma yetenekleri ekstra programlama çabası gerektirebilir. OCR görevleri için işlevsel olsa da, geliştiriciler üstün doğruluk için IronOCR gibi alternatifleri değerlendirmelidir.

ComPDFKit'in Sınırlamaları Nelerdir?

Tam özellik setine rağmen,ComPDFKitkurumsal geliştirme için çeşitli sınırlamalar sunar:

  • HTML İşleme: Yerel HTML'den PDF'ye dönüşüm yok - harici API çağrılarına ihtiyaç duyuluyor
  • CSS Desteği: Güncel CSS çerçeve uyumluluğu sınırlı
  • Performans: Dahili asenkron/çok iş parçacıklı optimizasyon içermiyor
  • Dokümantasyon: Tam sorun giderme kılavuzları olmadan temel örnekler
  • Entegrasyon Karmaşıklığı: Tam işlevsellik için birden fazla pakete ihtiyaç duyuluyor

IronPDFKütüphanesi Nedir?

IronPDF ana sayfası C# PDF kütüphanesi arayüzünü gösteriyor, HTML'den PDF'ye dönüşüm için kod örneği, 10 milyondan fazla indirme ve Fortune 500 şirketleri arasında kurumsal benimsemeyi vurguluyor.

IronPDF, C# kullanarak PDF belgeleri oluşturmayı, düzenlemeyi ve yönetmeyi sağlayan .NET için çok yönlü bir PDF kütüphanesidir. Basitleştirilmiş API'ler aracılığıyla eksiksiz PDF işlevleri sunar. Kütüphane, HTML, CSS, JavaScript ve çeşitli resim formatlarından render ederek PDF oluşturma konusunda mükemmeldir. Bu, güvenilir PDF işlevselliğini .NET uygulamalarına entegre eden geliştiriciler için ideal bir araçtır.

IronPDFHangi Temel Özellikleri Sunar?

Gelişmiş Yetenekler:

Üretim Sistemleri İçin NedenIronPDFSeçilmeli?

IronPDF'in mimarisi, üretim ortamları için performans ve güvenilirliği öncelikli tutar:

IronPDF'i Kurumsal Düzeyde Yapan Nedir?

IronPDF, üretime yönelik özelliklerle kendini farklı kılar:

Yeni Bir Visual Studio Projesi Nasıl Oluşturulur?

Kodlama örneklerini incelemeden önce, geliştiriciler yeni bir Visual Studio projesi oluşturmalıdır. Bu kılavuz, Visual Studio'da bir C# konsol uygulaması kurulumu yapmayı özetliyor.

Neden Visual Studio Kurulu Olmalı?

Visual Studio, C# projeleri için geliştirilmiş bir IDE sunar. Visual Studio İndirmeleri sayfasından indirilebilir. IDE, PDF geliştirme için gerekli entegre hata ayıklama, IntelliSense ve paket yönetimi sunar.

Hangi Proje Konfigürasyonu En İyi Çalışır?

Kurulumdan sonra Visual Studio'yu açın. Visual Studio Community kullanırken oturum açın veya oturum açmadan devam edin. Bu yapılandırma adımlarını izleyin:

  1. "Yeni bir proje oluştur" a tıklayın veya Dosya > Yeni > Proje'ye gidin.

Görsel Studio IDE, Dosya menüsünü açarak yeni projeler oluşturma, dosya açma ve depo yönetimi için yeni proje seçeneğini vurgulayan seçenekleri göstertiyor.

  1. Konsol uygulaması için arama yapın ve arama sonuçlarından Konsol Uygulaması'nı seçin.

Visual Studio'nun Yeni Proje Oluşturma diyaloğu, çapraz platform geliştirme için C#, Linux, macOS, Windows ve Konsol etiketleri ile Konsol Uygulaması şablon seçimini gösterir.

  1. NuGet Paket Yöneticisini Açın: Çözüm Gezgini'nde "Başvurular" üzerine sağ tıklayın ve "NuGet Paketlerini Yönet" seçeneğini seçin.
  2. Arayın ve Yükleyin: NuGet Paket Yöneticisi'nde "ComPDFKit"i arayın. Uygun paketi seçin (ör. ComPDFKit.NetFramework veya ComPDFKit.Conversion.NetFramework) ve "Yükle" ye tıklayın.

Temel Proje Ayarları Nelerdir?

  1. Yüklemeyi Doğrula: Paketin Çözüm Gezgini'nde "Başvurular" altında göründüğünden emin olun.
  • Platform Hedefi: Büyük belge işleme için x64 olarak ayarlayın
  • Çıktı Türü: Test için Konsol Uygulaması, üretim için Sınıf Kitaplığı
  • Çerçeve Sürümü: En iyi performans için .NET 6+ önerilir
  • NuGet Paket Yönetimi: Bağımlılık yönetimi için paket geri yüklemeyi etkinleştirin
  1. Paket İndirin: ResmiComPDFKitweb sitesinden ComPDFKit.NetFramework.nupkg dosyasını edinin.
  2. NuGet Kaynağını Yapılandır: Yerel paketin yolunu içermek için proje dizininizde bir nuget.config dosyası oluşturun veya düzenleyin.

ProjelerdeIronPDFentegrasyonu çeşitli yöntemlerle gerçekleştirilebilir. Tam bir kurulum genel bakışı için resmi dokümana başvurun. Kütüphane, farklı geliştirme iş akışlarına göre uyarlanmış çoklu kurulum yöntemlerini destekler.

  1. Yerel Paketi Yükleyin: Çözümünüzü Visual Studio'da yeniden açın, "NuGet Paketlerini Yönet" e gidin ve yerel paket kaynağınızı seçin. Yerel kaynaktanComPDFKitpaketini yükleyin.

  2. Visual Studio NuGet Paket Yöneticisi: Çözümde "Bağımlılıklar" a sağ tıklayın ve "NuGet Paketlerini Yönet" i seçin. "Gözat" sekmesinde "IronPDF"i arayın ve en son sürümü yükleyin. ileri düzey NuGet kurulum seçenekleri için detaylı kılavuza başvurun.

  3. Lisans Edinin: Deneme ya da tam lisans almak içinComPDFKitekibiyle irtibata geçin.
  4. Lisansı Kodda Uygula:

  5. Paket Yöneticisi Konsolu: Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu aracılığıyla NuGet Paket Yöneticisi Konsolunu kullanın. Komutu çalıştırın:

_CODEBLOCK0

Bu, komut satırı arayüzü üzerinden hızlı kütüphane kurulumu sağlar.

IronPdf NuGet paketi sürüm 2024.5.2'nin bir C# Test Boards projesine kurulumunu ve başarılı kurulum onayını gösteren Paket Yöneticisi Konsol penceresi.

  1. Doğrudan İndirme Yöntemi: IronPDF NuGet paketi sayfasını ziyaret edin. Paket dosyasını indirin, projeye eklemek için çift tıklayın, ardından çözümü yeniden yükleyin.

  2. Manuel Kurulum: En sonIronPDFsürümünü doğrudan indirin. Manuel Visual Studio entegrasyonu için sağlanan talimatları izleyin. Windows'a özgü kurulum için Windows yükleyici kılavuzuna bakın.

Özellikle Belirli Kurulum Yaklaşımlarını Neden Seçmeliyim?

Farklı kurulum yöntemleri çeşitli senaryolara uygundur:

  • NuGet Paket Yöneticisi: İnternet erişimi olan Visual Studio kullanıcıları için en iyisi
  • Paket Yöneticisi Konsolu: Komut dosyası ile dağıtımlar ve CI/CD hatlar için idealdir
  • Doğrudan İndirme: Çevrimdışı geliştirme ortamları için uygundur
  • Manuel Kurulum: Özel dağıtım yapılandırmaları için gereklidir

Bu yöntemler IronPDF'nin .NET projelerine verimli bir şekilde entegrasyonunu sağlar. Hızlı başlatma talimatları için başlangıç kılavuzunu ziyaret edin. Platforma özgü kılavuzlar F# entegrasyonu ve VB.NET kullanımı konularını kapsar.

ComPDFKitC#'ı Nasıl Yüklerim?

Projeler içinComPDFKiteklemek için iki ana yöntem vardır: NuGet Paket Yöneticisi veya yerel paket kurulumu. Kurulum işlemi, IronPDF'nin tek paket yaklaşımına kıyasla daha fazla adım gerektirir.

NuGet Paket Yöneticisini Ne Zaman Kullanmalıyım?

  1. NuGet Paket Yöneticisini Aç: Çözüm Gezgini'nde "Referanslar"a sağ tıklayıp "NuGet Paketlerini Yönet"i seçin.
  2. Ara ve Yükle: Paket Yöneticisinde "ComPDFKit"i arayın. Uygun paketi seçin (ComPDFKit.NetFramework veya ComPDFKit.Conversion.NetFramework) ve "Yükle"ye tıklayın.

ComPDFKit arama sonuçlarını gösteren NuGet Paket Yöneticisi arayüzü, farklı kullanım durumları için listelenen üç paketi içerir: ComPDFKit.NetFramework, ComPDFKit.Conversion.NetFramework, ve compdfkit-api-dotnet.

  1. Kurulumu Doğrula: Paketin Çözüm Gezgini'ndeki "Referanslar" altında göründüğünden emin olun. Tam işlevsellik için birden fazla paket gerekebilir.

Yerel Paket Ne Zaman Kullanılmalıdır?

Yerel paket kurulumu kısıtlı ortamlar için uygundur:

  1. Paket İndir: ResmiComPDFKitweb sitesinden ComPDFKit.NetFramework.nupkg edinin.
  2. NuGet Kaynağı Yapılandır: Proje dizinindeki nuget.config dosyasını oluşturun veya düzenleyin ve yerel paket yolunu ekleyin.

    _CODEBLOCK1

  3. Yerel Paketi Yükle: Çözümü yeniden açın, "NuGet Paketlerini Yönet"e gidin, yerel paket kaynağını seçin ve ComPDFKit'i yükleyin.

Lisans Anahtarımı Nasıl Uygularım?

Lisansı uygulama yöntemi kütüphaneler arasında önemli ölçüde değişir:

  1. Lisans Edin: ComPDFKit'ten deneme veya tam lisans için iletişime geçin.
  2. Kodda Lisansı Uygula:

_CODEBLOCK2

Lisans doğrulama metodunu ekleyin. IronPDF'nin daha basit lisans uygulaması için lisans anahtarları belgesine bakın. IronPDF, yalnızca License.LicenseKey özelliğini ayarlamayı gerektirir, lisanslama işlemini kolaylaştırır.

HTML'i PDF'ye Nasıl Dönüştürürüm?

HTML'yi PDF'ye dönüştürmek, web içeriğinden raporlar, faturalar veya belgeler oluşturma için yaygın bir gereksinimi temsil eder. HemIronPDFhem deComPDFKitçözümler sunar, ancak yaklaşımları önemli ölçüde farklıdır.IronPDFyerel dönüşüm sağlar,ComPDFKitise harici API çağrıları gerektirir.

IronPDFHTML'den PDF'ye Dönüşümü Nasıl Yönetir?

IronPDF, yüksek kaliteli çıktı için Chrome tabanlı bir işleme motoru kullanır. Bu işlem, HTML, CSS ve JavaScript'i doğru bir şekilde PDF formatına dönüştürür. Kütüphane HTML dizelerini, HTML dosyalarını ve URL'leri destekler.

Temel HTML dizesini PDF'ye dönüştürme örneği:

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>";

        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>";

        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		' Define your HTML string
		Dim htmlString As String = "
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>"

		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML string to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
		' Save the PDF document to a file
		Dim outputPath As String = "sample.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF çıktısı, basit HTML'den PDF'ye dönüşüm yeteneklerini gösteren 'Merhaba, IronPDF!' başlıklı basit bir PDF'yi ve açıklayıcı metni gösterir.

IronPDF ayrıca CSS ve JavaScript dahil doğrudan HTML dosyalarını dönüştürür:

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML file to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML file to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML file to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("index.html")
		' Save the PDF document to a file
		Dim outputPath As String = "HTML File.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Sample invoice #123 showing website design services totaling $385, rendered as a PDF document with professional formatting and layout preserved from HTML source.

IronPDFHangi İleri Düzey HTML Özelliklerini Destekler?

IronPDF'nin Chromium motoru karmaşık web teknolojilerini işler:

ComPDFKitHTML'den PDF'ye Dönüşümü Nasıl Yönetir?

  1. HTML İçeriği Gönderin: HTML içeriğinizleComPDFKitAPI uç noktasına bir HTTP POST isteği oluşturun.
  2. PDF Çıktısını Alın: API, HTML içeriğini işler ve oluşturulan PDF dosyasını döndürür.

ComPDFKit'in HTML'den PDF'ye API'sini kullanmak için:

  1. HTML İçeriği Gönderin: HTML içeriği ile bir HTTP POST isteği oluşturun
  2. PDF Çıktısını Alın: API, içeriği işler ve oluşturulan PDF'yi döndürür

C#'daki API isteği yapısının örneği:

using System;
using System.Net.Http;
using System.Threading.Tasks;

public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("___PROTECTED_URL_137___", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("___PROTECTED_URL_137___", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
Imports System
Imports System.Net.Http
Imports System.Threading.Tasks

Public Class HtmlToPdfExample
    Public Shared Async Function ConvertHtmlToPdfAsync() As Task
        Using client As New HttpClient()
            Dim content As New StringContent("<h1>Hello World</h1>")
            Dim response As HttpResponseMessage = Await client.PostAsync("___PROTECTED_URL_137___", content)
            Dim pdfBytes As Byte() = Await response.Content.ReadAsByteArrayAsync()
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes)
        End Using
    End Function
End Class
$vbLabelText   $csharpLabel

API Tabanlı Dönüşümün Sınırlamaları Nelerdir?

ComPDFKit'in API yaklaşımı birçok zorluğu beraberinde getirir:

  • Ağ Bağımlılığı: Temel işlemler için internet bağlantısı gerektirir
  • Gecikme Sorunları: API geri dönüşleri işleme süresini artırır
  • Sınırlı Kontrol: İşleme motoru davranışını özelleştiremez
  • Güvenlik Kaygıları: Hassas veriler harici sunuculara iletilir
  • Oran Sınırlamaları: API kotaları yüksek hacimli işlemleri sınırlayabilir
  • Belge Eksikliği: Sınırlı C# uygulama örnekleri

Bootstrap CSS'nin PDF Üretimi ile Çalışır mı?

Modern e-ticaret ve iş uygulamaları tutarlı UI tasarımı için Bootstrap'i yaygın olarak kullanır. Faturalar, makbuzlar ve raporlar gibi belgeleri PDF olarak oluştururken, Bootstrap stilini korumak marka tutarlılığını sağlar. IronPDF'nin Chromium motoru tam Bootstrap desteği sağlar, oysa ComPDFKit'in API tabanlı yaklaşımı karmaşık CSS çerçeveleri ile sınırlamalar gösterir.

IronPDFBootstrap Stilini Nasıl Yönetir?

IronPDF, tüm sürümler (Bootstrap 5, 4 ve 3) için piksel mükemmel Bootstrap desteği sağlayan Chromium'un işleme motorunu kullanır. Kütüphane, Flexbox düzenleri, CSS Izgarası, duyarlı yardımcı araçlar ve özel bileşenleri sorunsuz bir şekilde işler. Gelişmiş CSS işleme için işleme seçenekleri kılavuzuna bakın.

using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
Imports IronPdf

' Set license
IronPdf.License.LicenseKey = "License-Key"

Dim renderer As New ChromePdfRenderer()

' Bootstrap 5 e-commerce invoice example
Dim bootstrapInvoice As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>"

' Render PDF with optimized settings
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice)

' Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089"
pdf.MetaData.Author = "TechStore Inc."
pdf.MetaData.Subject = "Sales Invoice"
pdf.MetaData.Keywords = "invoice, payment, e-commerce"

' Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf")
$vbLabelText   $csharpLabel

Önemli Bootstrap Özellikleri:

  • Izgara Sistemi: row ve col-* sınıfları duyarlı düzen yapısı için
  • Yazı Tipi: display-4, text-muted, h5 hiyerarşik metin stili için
  • Tablolar: table, table-primary, table-hover için yapılandırılmış veri gösterimi
  • Kartlar: card ve card-body arka plan stili ile toplam bölüm için
  • Rozetler: Ödeme durumu göstergeleri için badge bg-success
  • Uyarılar: Ödeme koşulları bildirimi için alert alert-info
  • Yardımcı Araçlar: text-end, text-center, mb-*, pb-* boşluk yardımcı araçları
  • Özel Stil: Fatura özel tasarımı için Bootstrap sınıfları ile birleştirilir

IronPDF'nin Chromium motoru mükemmel Bootstrap bileşen işleme sağlar:

  • Izgara Sistemi: row ve col-* sınıfları duyarlı düzen için
  • Yazı Tipi: display-4, text-muted, h5 hiyerarşik stil için
  • Tablolar: table, table-primary, table-hover yapılandırılmış veri için
  • Kartlar: card ve card-body stil bölüm için
  • Rozetler: Durum göstergeleri için badge bg-success
  • Uyarılar: Bildirimler için alert alert-info
  • Yardımcı Araçlar: text-end, text-center, aralık ayarlamaları
  • Özel Stil: Fatura tasarımı için Bootstrap ile birleşik

Web yazı tipleri ve simgeleri için,IronPDFtam özel tipografi desteği sağlar. Bootstrap düzenlerini giderirken, Bootstrap Flex CSS sorun giderme bölümüne bakın. Görünüm portu ve yakınlaştırma ayarları için, doğru yapılandırma, uyumlu düzenlerin düzgün şekilde oluşturulmasını sağlar.

ComPDFKit'in Bootstrap ile Sınırlamaları Nelerdir?

ComPDFKit'in HTML'den PDF'e dönüştürmesi, gömülü işleme yerine harici API çağrılarına dayanır. Bu yaklaşım temel Bootstrap stilini işlerken, birkaç sınırlama getirir:

  • Ağ Bağımlılığı: Harici hizmetlere HTTP istekleri gerektirir
  • CSS Çerçeve Desteği: Kompleks Flexbox veya CSS Grid düzenlerini tam olarak desteklemeyebilir
  • Render Tutarlılığı: Sonuçlar API hizmeti uygulamasına bağlı olarak değişebilir
  • Özel Stil: Bootstrap bileşenlerinin işlenmesi üzerinde sınırlı kontrol
  • Performans: Ağ gecikmesi, belge oluşturma işlemine ek yük getirir

Tam kontrol ve güvenilir Bootstrap renderleme gerektiren uygulamalar için, yerel Chromium renderleme üstün sonuçlar sunar. IronPDF'in entegre yaklaşımı, harici bağımlılıkları ortadan kaldırırken, tüm CSS çerçeve uyumluluğunu korur.

PDF'lere Filigran Nasıl Eklerim?

PDF'lere filigran eklemek, belge bütünlüğünü korur, sahipliği belirtir ve güvenlik ekler. Filigranlar, arka plan veya ön planda görünen metinler, logolar veya resimler olabilir. Yetkisiz kullanım ve dağıtımı caydırırken, belge durumu veya oluşturucu kimliği hakkında önemli bilgiler iletir.

IronPDFile Filigran Nasıl Eklerim?

IronPDF, PDF belgelere programlı olarak filigran uygulamayı sağlar. Bu işlevsellik, kütüphaneye entegre olup, geliştiricilerin C# kodu kullanarak filigran uygulamasına olanak tanır. Arka plan ve ön plan yerleşimi için IronPDF, esnek konumlandırma seçenekleri sunar.

using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Code";

        string watermarkHtml = @"
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>";

        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
        // Apply watermark with 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Code";

        string watermarkHtml = @"
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>";

        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
        // Apply watermark with 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "License-Code"

		Dim watermarkHtml As String = "
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>"

		Dim renderer As New ChromePdfRenderer()
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>")
		' Apply watermark with 30 degrees rotation and 50% opacity
		pdf.ApplyWatermark(watermarkHtml, rotation:= 30, opacity:= 50)
		pdf.SaveAs("Confidential.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Kırmızı 'GİZLİ' filigran damgası ve altta sol köşede gri 'IronPDF Filigran' metni gösteren PDF sayfası, filigran uygulama yeteneklerini göstermektedir.

Bu örnek ChromePdfRenderer kullanarak HTML'den bir PDF oluşturur. ApplyWatermark yöntemi, bir resim ve başlık içeren bir filigran uygular. Rotasyon 30 derece, opaklık %50 olarak ayarlanmıştır, dikkat çekmeme pahasına içeriğin görülmesini sağlar. Ortaya çıkan PDF, belirtilen yola kaydedilir.

Hangi Gelişmiş Filigranlama Seçenekleri Mevcuttur?

IronPDF, tam filigranlama yetenekleri sunar:

  • HTML Tabanlı Filigranlar: Karmaşık tasarımlar için tam HTML/CSS kullanın
  • Pozisyon Kontrolü: 3x3 ızgara yerleştirme sistemi
  • Opaklık Ayarları: Şeffaflık seviyelerini ince ayar yapın
  • Dönüş Seçenekleri: Diyagonal filigranlar için herhangi bir açıyı uygulayın
  • Sayfa Seçimi: Tüm sayfalara veya belirli aralıklara uygulayın
  • Çoklu Filigranlar: Gerektiği gibi farklı filigran katmanları uygulayın

İleri teknikler için, metin ve resim damgalama veya birden fazla damgayı etkili şekilde ekleme bakın. Yeni içerik damgalama kılavuzu dinamik filigran oluşturmayı gösterir.

ComPDFKitile Filigran Nasıl Eklerim?

ComPDFKit, kütüphanenin yöntemlerini kullanarak programlı bir şekilde filigran ekleme fonksiyonu sağlar. Bu kod örneği, bir metin filigranını eklemeyi gösterir:

static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = "AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = "AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
Private Shared Function AddTextWatermark(ByVal document As CPDFDocument) As Boolean
	Dim watermark As CPDFWatermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT)
	watermark.SetText("test")
	watermark.SetFontName("Helvetica")
	watermark.SetPages("0-3")
	Dim color() As Byte = { 255, 0, 0 }
	watermark.SetTextRGBColor(color)
	watermark.SetScale(2)
	watermark.SetRotation(0)
	watermark.SetOpacity(120)
	watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER)
	watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER)
	watermark.SetVertOffset(0)
	watermark.SetHorizOffset(0)
	watermark.SetFront(True)
	watermark.SetFullScreen(True)
	watermark.SetVerticalSpacing(10)
	watermark.SetHorizontalSpacing(10)
	watermark.CreateWatermark()
	Dim path As String = "AddTextWatermarkTest.pdf"
	If Not document.WriteToFilePath(path) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & path)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("SamplePDF.pdf")
If AddTextWatermark(document) Then
	Console.WriteLine("Add text watermark done.")
Else
	Console.WriteLine("Add text watermark failed.")
End If
$vbLabelText   $csharpLabel

Kırmızı 'test' filigran metni ve merkezde 'Page1' etiketliComPDFKitlogolu tekrarlayan PDF sayfası ComPDFKit'in filigran oluşturma çıktısını gösterir.

Bu örnek bir PDF dosyasını CPDFDocument kullanarak açar. AddTextWatermark yöntemi, metin içeriği, yazı tipi, renk, ölçek, rotasyon, opaklık, hizalama ve aralık gibi özellikleri ayarlayıp bir metin filigranı başlatır. Filigran, belirtilen sayfalara uygulanır ve tanımlanan yola kaydedilir. Resim filigranları için farklı yöntemler gerekebilir, uygulamaya karmaşıklık katar.

PDF/A Uyumlu Belgeler Nasıl Oluşturulur?

PDF/A, uzun süreli dijital koruma için tasarlanmış standartlaştırılmış bir PDF sürümüdür. PDF/A uyumluluğu sağlamak, gelecekte güvenilir görüntüleme ve yeniden üretim garantisi verir. Bu bölüm, her iki kütüphane ile PDF/A uyumlu belgeler oluşturmayı araştırır.

IronPDF, PDF/A Belgelerini Nasıl Yaratır?

IronPDF, standart PDF'leri PDF/A uyumlu formatlara dönüştürmeyi basitleştirir. Kütüphane, PDF/A-1, PDF/A-2 ve PDF/A-3 dahil olmak üzere çeşitli PDF/A standartlarını destekler. PDF/A kilometre taşı güncellemeleri ve ZUGFeRD desteği ile PDF/A-3 için ürün duyurularına bakın.

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "License-Key"
		Dim pdf As PdfDocument = PdfDocument.FromFile("Source.pdf")
		pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3)
	End Sub
End Class
$vbLabelText   $csharpLabel

Süreç şunları içerir:

  1. IronPDF'yi Başlatın:IronPDFkütüphanesini içe aktarın ve lisans anahtarınızı ayarlayın.
  2. PDF'i Yükleyin: Kaynak PDF dosyanızı yüklemek için PdfDocument.FromFile kullanın.
  3. Dönüştür ve Kaydet: Yüklenen PDF'i, istenilen PDF/A sürümünü belirleyerek PDF/A'ya dönüştürün ve ortaya çıkan belgeyi kaydedin.

Belge Arşivleme İçin Neden PDF/A Seçmeliyim?

PDF/A, uzun süreli koruma için birkaç avantaj sunar:

  • Kendi İçinde Birleşik Belgeler: Tüm yazı tipleri ve kaynakları gömülü
  • Harici Bağımlılık Yok: Harici içeriğe olan bağımlılığı ortadan kaldırır
  • Standartlaştırılmış Biçim: Arşiv amaçları için ISO sertifikalı
  • Meta Veri Koruması: Belge özelliklerini korur
  • Görsel Tekrarlanabilirlik: Zamanla tutarlı görünüm sağlar

IronPDF ayrıca PDF/UA formatı için erişilebilirlik gereksinimlerini destekler, belgelerin Bölüm 508 uyumluluk standartlarını karşılamasını sağlar.

ComPDFKit, PDF/A Belgelerini Nasıl Yaratır?

ComPDFKit, belge başlatma, çıkış yolu tanımlaması ve dönüştürme yöntem çağrısı ile güvenilir PDF/A dönüştürme sağlar.

static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = "ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = "ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
Public Shared Function CovertToPDFA1a(ByVal document As CPDFDocument) As Boolean
	Dim convertToPDFA1aPath As String = "ConvertToPDFA1aTest.pdf"
	If Not document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & convertToPDFA1aPath)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")
If CovertToPDFA1a(document) Then
	Console.WriteLine("Convert to PDF/A-1a done.")
Else
	Console.WriteLine("Convert to PDF/A-1a failed.")
End If
$vbLabelText   $csharpLabel

Adımlar şunları içerir:

  1. Belgeyi Başlatın: PDF belgesini CPDFDocument.InitWithFilePath kullanarak yükleyin.
  2. Çıktı Dizini Ayarlayın: Çıkış dizininin var olduğundan emin olun veya gerekliyse oluşturun.
  3. PDF/A'ya Dönüştür: Belirtilen PDF/A türü ile WritePDFAToFilePath kullanın, dönüştürme işlemini gerçekleştirin ve dosyayı kaydedin.

PDF'lere Dijital İmzalar Nasıl Eklerim?

Dijital imzalar belge özgünlüğünü ve bütünlüğünü doğrular. Bu bölüm, her iki kütüphane ile dijital imzalar eklemeyi gösterir. Tam dijital imza uygulaması içinIronPDFgeniş bir belge sunar.

IronPDFile PDF'leri Nasıl İmzalarım?

IronPDF, basit ve etkili dijital imza uygulaması sağlar. Kütüphane, X.509 sertifikalarını ve HSM entegrasyonunu kurumsal güvenlik gereksinimleri için destekler.

using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim simpleSignature = New PdfSignature("MyCert.p12", "newpassword")
		simpleSignature.SignPdfFile("sample.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Süreç şunları içerir:

  1. IronPDF'yi Başlatın: GerekliIronPDFkütüphanelerini içe aktarın.
  2. Bir İmza Yaratın: Sertifika dosyası ve parolası ile bir PdfSignature nesnesi başlatın.
  3. PDF'yi İmzala: İmzayı SignPdfFile kullanarak PDF'e uygulayın.

IronPDF, Hangi İleri Düzey İmza Seçeneklerini Sunar?

IronPDF, tam dijital imza özellikleri sunar:

  • Çoklu İmza Türleri: Sertifika tabanlı, görsel ve form alanı imzaları
  • HSM Desteği: Donanım güvenlik modülü entegrasyonu
  • Timestamp Sunucusu: İmzalara güvenilir timestamp ekleyin
  • İmza Görünümü: Görsel imza temsili özelleştirin
  • Doğrulama Desteği: Mevcut imzaları programlı olarak doğrulayın
  • Sürüm Kontrolü: İmza revizyon geçmişini muhafaza edin

İmza sorunlarını giderme için dijital imzalar sorun giderme kılavuzu bakın.

ComPDFKitile PDF'leri Nasıl İmzalarım?

ComPDFKit, geniş özelleştirme seçenekleri ile tam dijital imza oluşturma sunar.

private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;

    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
            "Name: " + name + "\n" +
            "Date: " + date + "\n" +
            "Reason: " + reason + " \n" +
            "Location: " + location + "\n" +
            "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;

    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
            "Name: " + name + "\n" +
            "Date: " + date + "\n" +
            "Reason: " + reason + " \n" +
            "Location: " + location + "\n" +
            "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
Imports Microsoft.VisualBasic

Private Shared Sub CreateDigitalSignature(ByVal document As CPDFDocument, ByVal certificatePath As String, ByVal password As String)
	Console.WriteLine("--------------------")
	Console.WriteLine("Create digital signature.")
	Dim certificate As CPDFSignatureCertificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit")
	Dim page As CPDFPage = document.PageAtIndex(0)
	Dim signatureField As CPDFSignatureWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS), CPDFSignatureWidget)
	signatureField.SetRect(New CRect(28, 420, 150, 370))
	signatureField.SetWidgetBorderRGBColor(New Byte() { 0, 0, 0 })
	signatureField.SetWidgetBgRGBColor(New Byte() { 150, 180, 210 })
	signatureField.UpdateAp()
	Dim name As String = GetGrantorFromDictionary(certificate.SubjectDict) & vbLf
	Dim [date] As String = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss")
	Dim reason As String = "I am the owner of the document."
	Dim location As String = certificate.SubjectDict("C")
	Dim DN As String = certificate.Subject

	Dim signatureConfig As New CPDFSignatureConfig With {
		.Text = GetGrantorFromDictionary(certificate.SubjectDict),
		.Content = "Name: " & name & vbLf & "Date: " & [date] & vbLf & "Reason: " & reason & " " & vbLf & "Location: " & location & vbLf & "DN: " & DN & vbLf,
		.IsContentAlignLeft = False,
		.IsDrawLogo = True,
		.LogoBitmap = New Bitmap("Logo.png"),
		.TextColor = New Single() { 0, 0, 0 },
		.ContentColor = New Single() { 0, 0, 0 }
	}
	Dim filePath As String = document.FileName & "_Signed.pdf"
	signatureField.UpdataApWithSignature(signatureConfig)
	If document.WriteSignatureToFilePath(signatureField, filePath, certificatePath, password, location, reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone) Then
		Console.WriteLine("File saved in " & filePath)
		Console.WriteLine("Create digital signature done.")
	Else
		Console.WriteLine("Create digital signature failed.")
	End If
	Console.WriteLine("--------------------")
End Sub
$vbLabelText   $csharpLabel

Adımlar şunları içerir:

  1. Belge ve Sertifikayı Başlatın: PDF belgesini yükleyin ve sertifikayı CPDFPKCS12CertHelper'ı kullanarak alın.
  2. İmza Alanını Oluşturun ve Yapılandırın: PDF'e bir imza alanı ekleyin, özelliklerini ayarlayın ve imza detaylarını yapılandırın.
  3. İmzayı Uygulayın: İmzayı WriteSignatureToFilePath kullanarak uygulayın ve imzalanmış PDF'i kaydedin.

PDF'lerden Metin Nasıl Çıkartırım?

PDF belgelerinden metin çıkarmak, veri işleme ve analizi için çok önemli olduğunu kanıtlar. Bu bölüm, her iki kütüphane ile metin çıkarımını açıklar.

IronPDF, Metni Nasıl Çıkartır?

IronPDF, PDF belgelerinden metin çıkarımı için basit bir yöntem sunar. Kütüphane, tüm metni veya belirli sayfa içeriğini çıkarmaya yönelik yöntemler sağlar. PDF icerigini ayristirmak icin,IronPDFyapisal veri cikarma destegi sunar. PDF DOM objelerine erisirken geliştiriciler detayli içerik bilgilerini alabilir.

using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
Imports IronPdf
Imports System.IO

Private pdf As PdfDocument = PdfDocument.FromFile("PDF File With Text.pdf")
Private text As String = pdf.ExtractAllText()
File.WriteAllText("PDF Text.txt", text)
$vbLabelText   $csharpLabel

Süreç şunları içerir:

  1. IronPDF'yi Başlatin:IronPDFkutuphanesini import edin.
  2. PDF'yi Yukleyin: PDF dosyasini yuklemek icin PdfDocument.FromFile kullanin.
  3. Metni Cikarin: PDF'den tüm metin icerigini almak icin ExtractAllText cagirin.
  4. Metni Dosyaya Kaydedin: Cikarilan metni standart dosya girdi/cikti işlemleri kullanarak bir dosyaya yazin.

Ne Gibi Gelişmiş Metin Cikarma Özellikleri Mevcut?

IronPDF sofistike metin cikarma yetenekleri saglar:

  • Sayfa Ozgu Cikarma: Bireysel sayfalardan metin cikarma
  • Yapisal İçerik: Biçim bilgileriyle metne erişim
  • Bul ve Değiştir: PDF'lerde metin bulma ve değiştirme
  • Düzenli ifade destegi: Desene dayali metin cikarma
  • Koordinat Tabanli Cikarma: Spesifik bolgelerden metin cikarma
  • Dil Destegi: UTF-8 ve uluslararasi karakterler ile calisin

Tam metin okuma örnekleri icin PDF metni okuma rehberine bakin.

ComPDFKitMetni Nasıl Cikarir?

ComPDFKit, PDF dokümanlarindan esnek metin cikarma saglar.

static private bool PDFToText(CPDFDocument document)
{
    string path = "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}

static void Main(string[] args)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
static private bool PDFToText(CPDFDocument document)
{
    string path = "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}

static void Main(string[] args)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
Imports Microsoft.VisualBasic

Private Shared Function PDFToText(ByVal document As CPDFDocument) As Boolean
	Dim path As String = "//PDFToText.txt"
	If Not document.PdfToText("1-" & document.PageCount.ToString(), path) Then 'Page ranges are counted from 1
		Return False
	End If
	Console.WriteLine("Browse the generated file in " & path)
	Return True
End Function

Shared Sub Main(ByVal args() As String)
	Console.WriteLine("Running PDFPage test sample…" & vbCrLf)
	SDKLicenseHelper.LicenseVerify()
	Dim document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")

	If PDFToText(document) Then
		Console.WriteLine("PDF to text done.")
	Else
		Console.WriteLine("PDF to text failed.")
	End If
	Console.WriteLine("--------------------")
	Console.WriteLine("Done!")
	Console.WriteLine("--------------------")
	Console.ReadLine()
End Sub
$vbLabelText   $csharpLabel

Adımlar şunlardır:

  1. Belgeyi Başlatın: PDF belgesini CPDFDocument.InitWithFilePath kullanarak yükleyin.
  2. Metni Cikarin ve Kaydedin: Belirtilen sayfa araligindan metni cikarmak ve bir dosyada kaydetmek icin PdfToText kullanin.

Gerçek Hayat Kullanim Senaryolari

Her bir kutuphaneyi ne zaman kullanacaginizi anlamak, projeye gore bilinclenmis kararlar almaniza yardimci olur. Bu senaryolar, her kutuphanenin onde yonlerini sergileyen pratik uygulamalari gösterir.

Ne Zaman IronPDF'yi Secmeliyim?

Kurumsal Doküman Oluşturma Sistemi Bir finansal hizmetler şirketinin karmasik dizaynlara, grafiklere ve uygunluk gereksinimlerine sahip 50.000+ aylik bildirimi uretmesi gerekiyor.

IronPDF avantajlari:

SaaS Fatura Oluşturma Platformu Binlerce musteriyi icin ozel sablonlarla markali faturalar oluşturan, birden fazla kullaniciyi destekleyen SaaS platformu.

IronPDF avantajlari:

  • HTML/CSS Destegi: Markali sablonlar icin tam Bootstrap uyumlulugu
  • Performans: Olceklenebilir mimari icin Docker dağıtimi
  • Ozellestirme: Markalama icin basliklar/altbilgiler ve su iletleri
  • API Tasarimi: Basit API, geliştirme surelerini kisaltir
  • Bulut Hazirligi: Dogal Azure ve AWS destegi

Ne Zaman ComPDFKit'yi Dusunmeliyim?

Temel PDF Gösterici Uygulamasi Bir masaustu uygulamasi, HTML donusum ihtiyaçi olmaksizin PDF gösterme ve temel not ekleme özelliklerini gerektiriyor.

ComPDFKit avantajlari:

  • Gösterici Bileseni: Gomulu gösterme islevi
  • Annotation Araclari: Dogal not ekleme destegi
  • Basit Entegrasyon: HTML olmaksizin dogrudan PDF manipülasyonu
  • Çevrim Dışı İşlem: Çekirdek özellikler için ağ bağımlılığı yok

Doküman Arsiv Sistemi PDF organizasyonu ve temel duzenlemeye odaklanan bir ic doküman yonetim sistemi.

ComPDFKit avantajlari:

  • Dosya Manipulasyonu: Guclu PDF birlestirme/bolme yetenekleri
  • Temel Duzenleme: Metin ve görüntü duzenleme araclari
  • Geleneksel Yaklasim: Asina olunan PDF merkezli API dizayni

Lisans Seçenekleri Nelerdir?

IronPDF ve ComPDFKit'in lisanslama modelleri yaklasim ve kullanim sartlarinda farklilik göstermektedir. Bu farkliliklari anlamak, geliştiricilerin proje ihtiyaçlari ve butcelerine gore dogru araci secmelerine yardimci olur.

IronPDFHangi Lisans Seçeneklerini Sunuyor?

IronPDF pricing page showing three license tiers (Lite $749, Plus $1,499, Professional $2,999) with Professional selected, displaying 10 developers/locations/projects coverage and $4,998 total with extended support and upgrade protection.

IronPDF seffaf bir ticari lisanslama modeli altinda calisir:

Lisans Tipleri:

  • Lite Lisans ($749): 1 geliştirici, 1 konum, 1 proje
  • Plus Lisans ($1,499): 3 geliştirici, 3 konum, 3 proje
  • Professional Lisans ($2,999): 10 geliştirici, 10 konum, 10 proje
  • Enterprise/OEM: Sinirsiz dağıtim icin ozel fiyatlandirma

Ana Faydalar:

  • Süresiz Lisanslama: Ömür boyu kullanım için bir kerelik ödeme
  • Telif Ücretsiz Yeniden Dağıtim: Çalışma zamanı ücreti yok
  • Kaynak Kodu Mevcut: Güvenlik denetimleri için isteğe bağlı satın alma
  • Esnek Yukseltmeler: Lisansa uzatmalari ve yukseltmeler mevcuttur
  • Deneme Suresi: Degerlendirme icin ücretsiz deneme lisansi

IronPDF'nin ticari modeli, kuruluslarin profesyonel PDF oluşturma ve manipülasyonu icin ozel destek, eksiksiz dokümantasyon ve gelişmiş özellikler almasini saglar. Şeffaf fiyatlandırma yapısı gizli maliyetleri ortadan kaldırır ve bütçe öngörülebilirliği sağlar.

ComPDFKitHangi Lisans Seçeneklerini Sunuyor?

ComPDFKit, farklı iş ihtiyaçlarına hitap eden esnek lisanslama kullanır:

Lisans Seçenekleri:

  • Süresiz Lisans: Ömür boyu SDK erişimi için bir kerelik ödeme
  • Abonelik Lisansı: Sürekli güncellemelerle düzenli ödemeler
  • Teklif Bazli Fiyatlandirma: Proje gereksinimlerine gore ozel fiyatlandirma

Hususlar:

  • Degisken Maliyetler: Fiyat teklifi icin dogrudan iletisim gereklidir
  • Güncelleme Ücretleri: Sürümler için isteğe bağlı ücretler
  • Destek Paketleri: Ayrı destek sözleşmesi gereksinimleri
  • API Kullanım Limitleri: HTML dönüşüm API'si için ek maliyetler

Hangi Dokümantasyon ve Destek Mevcut?

IronPDFHangi Destekleri Sağlar?

IronPDF belge ve destek altyapısı sunar:

Dokümantasyon Kaynakları:

Destek Kanallari:

  • 24/5 Mühendislik Desteği: Geliştirme ekibine dogrudan erişim
  • Cevap Süresi: Oncelikli destekle garanti edilen cevap zamanlari
  • Kod İnceleme: Mühendislik ekibi karmaşık uygulamaları inceler
  • Ozel Cozumler: Benzersiz gereksinimler icin yardimci olunur
  • Düzenli Güncellemeler: Ürün güncellemeleri ve dönüm noktası özellikleri

Mühendislik destek istekleri yapmak icin, detayli rehberler verimli cozum saglar. Destek altyapısı, çeşitli platformlar için dağıtım yardımı içerir.

ComPDFKitHangi Destegi Saglar?

ComPDFKit temel dokümantasyon ve destek kaynaklari sunar:

Dokümantasyon:

  • Başlarken Rehberi: Temel kurulum talimatlari
  • API Referansı: Standart metod dokümantasyonu
  • Örnek Kod: Temel özellikler için sınırlı örnekler
  • Platform Belgeleri: Temel platform entegrasyon rehberleri

Destek Seçenekleri:

  • E-posta Desteği: Standart iş saatleri içinde yanıt
  • Teknik Yardım: Temel sorun giderme yardımı
  • Topluluk Forumu: Kullanıcı odaklı destek topluluğu

Her iki kütüphane de dokümantasyon ve destek sunmasına rağmen,IronPDFüretim dağıtımları için kritik olan daha kapsamlı kaynaklar, daha hızlı yanıt süreleri ve doğrudan mühendislik desteği sağlamaktadır.

Performans ve Optimizasyon Düşünceleri

Performans, üretim sistemlerinin yaşamını etkiler. Her kütüphanenin optimizasyon yeteneklerini anlamak, mimarların verimli çözümler tasarlamasına yardımcı olur.

IronPDFPerformansı Nasıl Optimize Eder?

IronPDF, kapsamlı performans optimizasyon özellikleri sağlar:

Mimari Avantajlar:

  • Yerel Chrome Motoru: Optimizasyonlu C++ rendering motoru
  • Bellek Yönetimi: Büyük belgelerin verimli yönetimi
  • İş Parçacığı Güvenliği: Eşzamanlı web uygulamaları için geliştirilmiştir
  • Kaynak Havuzu: Yeniden kullanılabilir rendering örnekleri

Performans Özellikleri:

Benchmark (50 sayfa belge üretimi):

  • Tek iş parçacıklı: Ortalama 2,3 saniye
  • Çok çekirdekli (8 çekirdek): Belge başına 0,4 saniye
  • Bellek kullanımı: 180MB zirve
  • Eşzamanlı istekler: 100'den fazla eşzamanlı render

ComPDFKit'in Performans Özellikleri Nelerdir?

ComPDFKit, temel işlemler için standart performans sağlar:

Performans Profili:

  • Eşzamanlı İşleme: Geleneksel bloklama işlemleri
  • Bellek Kullanımı: Karmaşık belgelerde daha yüksek tüketim
  • Eşzamanlılık: Sınırlı eşzamanlı işlem desteği
  • HTML Dönüşümü: Ağ gecikmesi 1-3 saniye ekler

Sınırlamalar:

  • Dahili geri planda çalışan işlemler desteği yok
  • Sınırlı iş parçacığı belgeleri
  • API çağrıları ağ yükü ekler
  • Kaynak yönetimi manuel uygulama gerektirir

Kurumsal Entegrasyon Kalıpları

Üretim sistemleri güvenilirlik ve ölçeklenebilirlik için belirli mimari desenler gerektirir. Entegrasyon yaklaşımlarını anlamak, ekiplerin güvenilir çözümler uygulamasına yardımcı olur.

IronPDF'i Mikroservislerde Nasıl Uygularsınız?

IronPDF, modern mimari kalıpları destekler:

Konteynerize Edilmiş PDF Hizmeti:

// Dockerfile forIronPDFmicroservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
// Dockerfile forIronPDFmicroservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
The provided code is a Dockerfile, which is not written in C# and therefore cannot be directly converted to VB.NET. Dockerfiles are used to define the environment and instructions for building Docker images, and they do not have a direct equivalent in VB.NET. If you have any C# code that needs conversion to VB.NET, please provide that, and I will be happy to assist.
$vbLabelText   $csharpLabel

Ölçeklenebilir API Uygulaması:

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            //Tamamerror handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            //Tamamerror handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
Imports Microsoft.AspNetCore.Mvc

<ApiController>
<Route("api/[controller]")>
Public Class PdfController
    Inherits ControllerBase

    Private ReadOnly _renderer As ChromePdfRenderer

    Public Sub New()
        _renderer = New ChromePdfRenderer()
        ' Configure for production
        _renderer.RenderingOptions.EnableJavaScript = True
        _renderer.RenderingOptions.RenderDelay = 500
    End Sub

    <HttpPost("generate")>
    Public Async Function GeneratePdf(<FromBody> request As PdfRequest) As Task(Of IActionResult)
        Try
            Dim pdf = Await _renderer.RenderHtmlAsPdfAsync(request.Html)

            ' Apply security if needed
            If request.RequirePassword Then
                pdf.SecuritySettings.SetPassword(request.Password)
            End If

            Dim stream = pdf.Stream
            Return File(stream, "application/pdf", request.FileName)
        Catch ex As Exception
            ' Error handling
            Return StatusCode(500, New With {.error = ex.Message})
        End Try
    End Function
End Class
$vbLabelText   $csharpLabel

Faydaları:

  • Yatay Ölçekleme: Gerektiğinde örnek ekleyin
  • Aksaklık Yalıtımı: Hizmet hataları sistemi etkilemez
  • Kaynak Kontrolü: Konteyner limitleri aşırı kaynak tüketimini önler
  • Dağıtım Esnekliği: Kubernetes, Docker Swarm ile çalışır

ComPDFKitKurumsal Entegrasyonu Nedir?

ComPDFKit, geleneksel entegrasyon yaklaşımlarını gerektirir:

  • Monolitik Tasarım: Kütüphane uygulama ile sıkı bir şekilde bağlıdır
  • Sınırlı Ölçekleme: Sadece dikey ölçekleme
  • Kaynak Paylaşımı: Çok kiracılı senaryolarda potansiyel çatışmalar
  • API Bağımlılıkları: Dış hizmet gereksinimleri mimariyi zorlaştırır

Güvenlik ve Uyumluluk Özellikleri

Kurumsal uygulamalar, yasal uyumluluk ve veri koruma için güvenilir güvenlik özellikleri talep eder.

IronPDFGüvenliği Nasıl Yönetir?

IronPDF, tam güvenlik özellikleri sunar:

Şifreleme Seçenekleri:

  • AES 256-bit Şifreleme: Askeri düzeyde güvenlik
  • Kullanıcı/Sahip Şifreleri: Ayrı erişim seviyeleri
  • Yetki Kontrolleri: Ayrıntılı eylem kısıtlamaları
  • Dijital İmzalar: Sertifika tabanlı kimlik doğrulama
  • HSM Desteği: Donanım güvenlik modülü entegrasyonu

Uyumluluk Özellikleri:

Uygulama Örneği:

// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
' Secure document generation
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Apply complete security
pdf.SecuritySettings.SetPassword("user123")
pdf.SecuritySettings.SetOwnerPassword("owner456")
pdf.SecuritySettings.MakePdfDocumentReadOnly()
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint:=True,
    canCopy:=False,
    canModify:=False
)

' Add digital signature
Dim signature As New PdfSignature("cert.pfx", "password")
pdf.SignWithSignature(signature)

' Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

ComPDFKitHangi Güvenlik Özelliklerini Sunar?

ComPDFKit temel güvenlik özellikleri sunar:

  • Şifre Koruması: Temel kullanıcı/sahip şifreleri
  • Şifreleme: Standart PDF şifreleme
  • İzinler: Sınırlı izin ayarları
  • Dijital İmzalar: Sertifika tabanlı imzalama

Ancak, HSM desteği, temizleme ve tam uyumluluk araçları gibi ileri düzey özellikler ek uygulama gerektirir.

Hangi PDF Kütüphanesini Seçmeliyim?

IronPDF veComPDFKitarasındaki karşılaştırma, farklı kullanım durumları ve gereksinimler için net farklılıklar ortaya koyar.

NedenIronPDFKurumsal Uygulamalar İçin Mükemmel?

IronPDF, üretim sistemlerinin gerektirdiği:

Teknik Mükemmeliyet:

  • Yerel HTML İşleme: Chromium motoru mükemmel dönüşüm sağlar
  • Performans: Yüksek hacimli işlem için eşzamansız/çok iş parçacıklı
  • Güvenilirlik: Web uygulamaları için iş parçacığı güvenli mimari
  • Entegrasyon: Basit API geliştirici süresini azaltır

İş Değeri:

  • Sahip Olma Maliyeti: Gizli ücret olmadan şeffaf fiyatlandırma
  • Destek Altyapısı: 24/5 mühendislik desteği arıza süresini en aza indirir
  • Belgeler: 500'den fazla örnek geliştirmeyi hızlandırır
  • Geleceğe Yönelik: Düzenli güncellemeler ve yeni özellikler

Gerçek Geliştirici Geri Bildirimi: "IronPDF fatura üretim sistemini dönüştürdü. Geliştiriciler aylık 100.000+ belgeyi sıfır render problemiyle işliyor. Bootstrap desteği geliştirme süresinden haftalar kazandırdı." - Kıdemli .NET Mimar, Fortune 500 Perakendeci

"Birden fazla kütüphaneyi değerlendirdikten sonra, IronPDF'in performansı ve desteği net bir seçim haline getirdi. Eşzamanlı yetenekler işleme zamanını %75 azalttı." - Teknik Lider, Finansal Hizmetler

ComPDFKit'in Yeterli Olabileceği Durumlar

ComPDFKit aşağıdaki konular için uygun olabilir:

  • Basit PDF Görüntüleme: Temel masaüstü uygulamaları
  • Sınırlı Kapsam: HTML dönüşüm ihtiyaçı olmayan projeler
  • Bütçe Kısıtlamaları: Dış API maliyetlerinin kabul edilebilir olduğu durumlar
  • Temel İşlemler: Basit birleştirme/bölme gereklilikleri

Son Tavsiye

Performans, güvenilirlik ve mimari desen öncelikleri olan üretim sistemleri inşa eden kıdemli .NET geliştiricileri için IronPDF eksiksiz çözümü sunar. Teknik yeteneklerin, kurumsal özelliklerin ve üstün destek altyapısının birleşimi, başarılı proje teslimatını garanti eder.

Anahtar Karar Faktörleri:

Gereksinim IronPDF ComPDFKit Kazanan
HTML'den PDF'ye Yerli Chromium Harici API IronPDF
Performans Asenkron/Çoklu İşlem Senkron IronPDF
CSS Desteği Tam Bootstrap/Flexbox Sınırlı IronPDF
Dokümantasyon 500'den Fazla Örnek Temel IronPDF
Destek 24/5 Mühendislik Sadece E-posta IronPDF
Kurumsal Özellikler Tamam Sınırlı IronPDF
Toplam Maliyet Şeffaf Değişken IronPDF

IronPDF, kütüphaneyi ve yeteneklerini test etmek için bir ücretsiz deneme lisansı sağlar.IronPDFlisansları $749'dan başlar. Ayrıca, Iron Software,IronPDFile birlikte IronXL ve IronOCR gibi dokuz kütüphaneyi iki kütüphane fiyatına sunar.

Kurumsal destekli profesyonel PDF oluşturma gerektiren ekipler için,IronPDFeksiksiz çözümü sunar. Fortune 500 şirketleriyle olan ispatlanmış başarı geçmişi, tam özellik seti ve geliştirici başarısına olan adanmışlığı, ciddi .NET uygulamaları için en iyi seçimi yapar.

ComPDFKit, ilgili sahibinin tescilli markasıdır. Bu site,ComPDFKitile ilişkili, onaylanmış veya sponsorlu 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?

IronPDF'nin RenderHtmlAsPdf methodunu kullanarak HTML dizelerini PDF'lere dönüştürebilirsiniz. Bu metod, HTML, CSS ve JavaScript'i yüksek kaliteli PDF belgelerine dönüştürmek için uygundur.

Bir C# PDF kütüphanesi kullanmanın faydaları nelerdir?

IronPDF ve ComPDFKit gibi C# PDF kütüphaneleri, PDF oluşturma, değiştirme, metin/görsel alma işlemleri sağlar ve farklı platformlar arasında esneklik saglayan form işleme, dijital imzalar ve güvenlik özelliklerini destekler.

C#'da PDF'lerime güvenlik ekleyebilir miyim?

Evet, IronPDF kullanarak dokümanlarınıza parolalar tanımlayarak, belgeleri şifreleyerek ve dijital imzalar ekleyerek PDF güvenliğinizi artırabilirsiniz.

ComPDFKit PDF düzenleme ve dönüşümunu nasıl ele aliyor?

ComPDFKit, çapraz platform projeleri için çok uygun olan uzun vadeli dijital koruma için PDF/A dâhil çesitli formatlara robust PDF düzenleme yetenekleri ve dönüştürmesi sunar.

C# PDF kütüphaneleri için mevcut lisanslama seçenekleri nelerdir?

IronPDF, süresiz lisanslarla ticari bir lisanslama modeli sunarken, ComPDFKit, is ihtiyaçlarına dayanarak esneklik saglayan hem sürekli hem de abone tabanli lisanslar sunar.

Geliştiriciler için bu kütüphaneleri kullanırken hangi destek ve kaynaklar mevcuttur?

IronPDF, kapsamlı dokümantasyon ve duyarlı müşteri desteği sunarak, onu kurumsal düzeyde uygulamalar için uygun hale getirir. ComPDFKit ayrıca ayrıntılı dokümantasyon ve teknik destek sunar.

HTML'den PDF'ye dönüştürme açısından IronPDF ve ComPDFKit nasıl karşılaştırılır?

IronPDF, HTML'den PDF'ye dönüştürmede üstün olup, HTML dizelerini, URL'leri, ASPX web formlarını ve MVC görünümlerini desteklerken, ComPDFKit daha geniş bir PDF düzenleme ve dönüştürme özellikleri sunar.

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

Iron Destek Ekibi

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