IronPDF ile Ürün Karşılaştırmaları
Bu makale, .NET Geliştirme konusunda tanınmış bir otorite olan Jeff Fritz tarafından yazılmıştır.
Bu makalede, Jeff IronPDF kütüphanesini C#.NET için üç önde gelen PDF kütüphanesiyle karşılaştırır: Aspose, SyncFusion ve iTextPdf
Üç ticari PDF yönetimi ürünü ile geliştirici deneyimini inceleyip, IronPDF ile karşılaştırıyorum. Her ürünü aşağıdaki alanlarda karşılaştırıp değerlendireceğiz:
- Keşif ve Edinim deneyimi
- Lisanslama açıklığı
- Uyumluluk
- Başlangıç deneyimi
- C# geliştiricisi için API kullanım kolaylığı
- Kod örnekleri ve dersler dahil belge kalitesi
- HTML'den PDF'e yetenekler
- CSS3 uyumluluğu
- HTML 5 uyumluluğu
- JavaScript uyumluluğu
- Form Üretimi desteği
- İşleme hassasiyeti
- Teknik Destek
- Sürüm süresi ve özellik geliştirme
Araçlar için nihai bir değerlendirme tablosu ile sonuçlandıracağız.
Keşif ve Edinim
Geliştiriciler, seçim yapabilecekleri birçok PDF ürünü arasında bulunurlar. Ürünleri nasıl ayırt edebilir ve projeleri için doğru olanı seçebilirler? C# geliştiricileri, yazılım araçlarını araştırırken üç ana yere bakar: arama motorları, GitHub ve NuGet. DuckDuckGo, özel bir arama motorunda "PDF Software C#" arayacağız ve GitHub ile NuGet.org'da bu PDF araçlarına bakacağız. NuGet, .NET paket deposudur.
| Ürün | DuckDuckGo | GitHub | NuGet |
|---|---|---|---|
| IronPDF | 5 | Bulunamadı | 5 |
| Aspose | 22 | 37 | 3 |
| SyncFusion | 49 | Geçersiz | 8 |
| iTextPDF | Bulunamadı | 40 | 7 |
Notlar: Aramayı her servis için ilk 100 sonuçla sınırladım ve IronPDF'ün GitHub deposunu ve iText web sitesini DuckDuckGo üzerinde bulamadım. SyncFusion'un PDF oluşturma örnekleri ile GitHub deposu yok.
Edinim
Ürünlerin her biri, web sitelerinden ürün edinimi konusunda farklı bir yaklaşım sunar.
IronPDF, ana sayfadaki bir indirme düğmesiyle bunu açıkça belirtir
Şekil 1- IronPDF indirme keşfi
İndirme düğmesi, NuGet.org'a yönlendirir ve standart .NET paket yükleme talimatlarını gösterir.
Aspose, ana sayfadaki geçişle bir dil seçmenizi ister ve ardından ürünün bu versiyonu ile ilgili ayrıntılar ve indirme düğmesi sunar
Şekil 2 - Aspose.PDF Dil Seçici
Şekil 3 - Aspose.PDF C# İndirme Keşfi
Aspose, NuGet talimatlarını ve birkaç paragraf promosyon materyalini içeren bir sayfa ile araçları indirmenizi ister
Şekil 4 - Aspose İndirme Sayfası
SyncFusion'un PDF yönetim kütüphanesi, "Belge İşleme - PDF" altında dosyalanmıştır. Alt siteleri şöyle görünmektedir:
Şekil 5 - SyncFusion PDF Keşfi
Daha sonra, e-posta adresi, telefon numarası ve şirket adını içeren bir form doldurarak web sitelerinde bir hesap oluşturmanız gerekir. SyncFusion, e-posta adresinizi bir kısa mesaj ile doğrular ve ardından yazılımlarını indirmek için bir yükleyici indirmenize izin verir. NuGet üzerinden de bir deneme paketi yükleyebilirsiniz, ancak yükleyicinin "tam ürünü" sağladığını söylerler. SyncFusion'un web sitesi için kaydolduktan sonraki günlerde, başlamama yardımcı olmak için iki e-posta ve iki telefon araması aldım. E-postalar ve telefon çağrıları dostane bir üsluba sahipti, ancak telefon çağrılarını biraz müdahaleci buldum.
iTextPDF, tek bir ürün ve ürünlerine yönlendiren tek bir bağlantıyla bunu açıkça belirtir:
Şekil 7 - iTextPDF Keşfi
İndirme ekranı, telefon numarası, e-posta, iş unvanı ve şirket adı ile kayıt olmayı gerektiren üç indirme seçeneği sunar.
Şekil 7 - iText İndirme Ekranı
iText'in sunduğu seçeneklerin hacmini bunaltıcı buldum ve neyi indireceğimi bilmiyordum. iText 7'yi seçtim ve ardından indirmek için dokuz PDF ile ilgili üründen seçim yapmam gereken başka bir ekrana yönlendirildim. Bu durumu tekrar kafa karıştırıcı buldum ve projem için hangi kütüphanelere ve araçlara ihtiyaçım olduğundan emin olamadım.
iText'den bir müşteri portalına bağlantı ve oluşturulmuş bir parola içeren bir takip e-postası aldım. Sağlanan kimlik bilgileriyle portal sitelerini kullanmaya çalıştım ancak siteye erişemedim.
Lisanslama Açıklığı
Bir geliştiricinin indirdiği herhangi bir kütüphane ile, lisanslama, ürünü projeleriyle nasıl ve hangi şartlarda kullanabileceğini belirler. Daha izin verici bir lisans, aracın mobil veya masaüstü uygulama ile gönderilmesine izin verecek, daha sınırlayıcı lisanslar ise sadece korunan bir sunucuda çalışacak şekilde aracı sınırlayabilir.
IronPDF, ön sayfadaki 'Ücretsiz NuGet İndir' düğmesinin yanındaki lisans şartlarına yönlendiren bir düğmeyle bunu açıkça belirtir. Ortaya çıkan sayfa, ne kadar geliştiricinin kapsandığını ve ürünün kaç projeyle kullanılabileceğini çok net bir şekilde yapar. Bir organizasyonun sahip olduğu ofis sayısına bir kısıtlama vardır. Yazılımın bir SaaS ürünü veya yerel uygulama olarak yeniden dağıtımı ek bir lisans ücreti gerektirir.
Aspose'un altı farklı lisans modeli bulunmaktadır, destekli veya desteksiz veya destek ve danışmanlık ile paketlenmiştir. Seçeneklerini oldukça kafa karıştırıcı buldum, çünkü ürünün hangi tür projelerde kullanılabileceği, lisanslı geliştirici sayısı ve organizasyon büyüklüğü konusunda kısıtlamalar da vardır.
Kamusal web sitesi projeleri, destegi de içermektedir:
| Dahil etme | IronPDF | Syncfusion | AsposePDF | iText |
|---|---|---|---|---|
| 1 web sitesi, 1 geliştirici, 1 konum, Destek | $799 | $2.495 | $5.394 | |
| 10 web sitesi, 10 geliştirici, 10 konum, Destek | $2,399 | $13.990 | $28.771 | |
| Sınırsız web sitesi, Destek | $4,799 | Geçersiz | $25,785+ (yılda) |
Şekil 8 - Aspose Lisanslaması
SyncFusion, tüm .NET uygulama türleri için destekleyen Dosya Formatları ürünü için bir kerelik bir ücret sunar. Ücret, geliştirici başına alınır ve sözleşmenin ikinci yılındaki oran düşürülür. Bir organizasyonun büyüklüğü veya ürünün kullanıldığı proje sayısına bağlı herhangi bir kısıtlama yoktur. Ayrıca, başlangıç aşamasındaki şirketler için ücretsiz bir topluluk lisansı sunarlar.
Şekil 9 - SyncFusion Lisanslaması
iText, açık kaynak olan birkaç ürün sunar, ancak ürünü kullanmak için lisans satın almanız gerektiğini belirtir.
Şekil 10 - iText Açık Kaynak Ürün
Ticari lisans satın alma seçeneği, hemen listelenen satın alma seçeneklerinin olmadığı bir ekrana yönlendirir. Tamamlamanız gereken konumunuz, diliniz, kullanım hacminiz ve kullanmak istediğiniz ürünler hakkında bilgi içeren bir yapılandırma aracı vardır. Araç daha sonra ticari lisans için bir teklif verir.
Şekil 11 - iText Lisans Yapılandırma Aracı
Ürün açık kaynak olarak mevcutsa, ticari destek seçenekleri olmadan bunu kullanabilir miyim? iText 7 Community sitesine tıklayarak, yazdığınız uygulamaların kaynak kodunu yayınlamanızı gerektiren AGPL lisansı altında olduğu keşfedilene kadar bu durum net değildir. İlginç bir seçenek, ama kafa karışıklığı yaratabilir.
Uyumluluk
Her ürün için mevcut farklı dağıtım modelleri ile, her web sitesinde vaat edilen uyumluluk seviyeleri vardır. Farklı barındırma sağlayıcıları ve Docker gibi araçlarla uyumluluğu belirlemek için daha fazla araştırma gereklidir.
| Ortam | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| COM | Evet | |||
| .NET Framework | Evet | Evet | Evet | Evet |
| .NET 5 | Evet | Evet | Evet | |
| .NET 6 | Evet | Evet | Evet | |
| .NET Standard | Evet | Evet | Evet | |
| Xamarin | Evet | Evet | ||
| MAUI | Evet | |||
| Azure | Evet | |||
| AWS | Evet | Evet | ||
| Mac | Evet | |||
| Linux | Evet | |||
| Docker | Evet |
Aspose, geliştiriciler için tipik olarak eski bir ihtiyaç olan COM uygulamalarıyla çalıştığını iddia eden tek üründür. iText, desteklenen platformlarını web sitesinde listelemez ve NuGet paketlerinin taranması, belirtilen platformlar için destek sağladığını gösterir. SyncFusion, birkaç kullanıcı arayüzü çerçevesini desteklediğini listeler ancak belirli çalışma zamanı sürümlerini belirtmez. iText, IronPDF dışında, bir bulut hizmetini desteklediğini iddia eden tek ürün olup, AWS desteğini vurgulayan bir banner ile belirtilmiştir.
Şekil 12 - iText AWS Desteği
Başlangıç Deneyimi
Web sitelerinde özetlendiği gibi her ürün ve "Başlangıç" deneyimlerini inceledim. Bunlar, bu ürünlerle ilk uygulamanızı oluşturma talimatlarıdır.
IronPDF
IronPDF örnek sürümünü NuGet kullanarak ve bir satır kod ile yükleyip başlatabildim. Çok kullanışlı, sistemimi karıştırmadı.
IronPDF Başlangıç sayfasındaki IronPDF örneği, .NET 6 ve öncesi kullanan basit bir konsol veya yerel uygulamada çalışır. Yeni bir PDF oluşturur ve "Merhaba Dünya" bir metin bloğu yükleyerek, dosyayı yazdırarak 5 satırlık bir kod örneğini tamamlar.
Örnek kod net ve .NET 6 / C# 10 formatı ile güzel çalışır. Çevrimiçi kod bloğu, çalıştırmayı kolaylaştıran bir "panoya kopyala" düğmesine sahiptir.
Dosya, projedeki bin/ klasörüne yazılır ve hızlı bir örnek için çalışır. Bazı insanlar içeriği bin/ klasöründe aramayı bilmeyebilir olduğundan, yeni yazdığım kod dosyasının yanına yazılmış olmasını isterdim.
Aspose
Aspose kütüphanelerini sistemimde kullanmaya başlamak için 217MB boyutunda büyük bir indirme yapmam gerekiyordu. Bu, herhangi bir uygulama yüklememiş, sadece Aspose kütüphanelerini diske yerleştirmiş.
Aspose örneği, belgelerinde "Başlarken" bölümünün altında yer alır, bu da bulmayı biraz daha zor hale getirir. Aspose'un Hello World Örneği'ndeki kod örneği, kodun ne yapmaya çalıştığını açıklayan bazı düzyazılar içerir ve kod yorumlarıyla bir miktar tekrar edici hissettirir.
Aspose örneği yazıldığı gibi çalışmaz ve iyileştirilmesi gerekir. Ürünlerini incelerken şu sorunlarla karşılaştım:
- .NET 6 kütüphanesi bir DLL olarak teslim edilir ve
C:\Program Files (x86)\Aspose\Aspose.PDF for .NET\Bin\net6.0üzerinde diskte saklanır -- 2022 yılında .NET geliştiricileri kütüphaneleri böyle yüklemez, bunun yerine NuGet paketlerini tercih ederler. - Eklemeyi öneren referans yönergeleri yoktur ve hangi referansların eklenmesi gerektiğini belirtmez.
- Bir referans eklediğimde
Aspose.Pdf.dlldosyasına, sayfada sunulan proje kodu derlenmedi. - Eksik 'using' bildirimlerini ekledim ve kodu derlemek için değiştirdim, ancak diğer eksik referanslar nedeniyle çalıştırılamadı.
- Proje 'Samples' klasörüne yazmaya çalışıyor. Bu projeyi çalıştırmaya çalışırken, diskte bu klasöre sahip değildim ve örnek projem klasörün mevcut olmaması nedeniyle çöktü.
- Oluşturulan örnek PDF bir 'Hello World' metin bloğu içerir ve üzerine yazılımın demo versiyonu olduğunu belirten fuşya renkli bir filigran vardır.
SyncFusion
Başlamak için 874MB büyüklüğünde bir dosya indirmek zorunda kaldım ve kurulum için kütüphaneleri çıkarmak ve çalışmak üzere bir Syncfusion sunucusuna giriş yapmam gerekti. Yükleyici, diskte bir dizi demoya göz atmamı sağlayan bir 'Kontrol Paneli' uygulaması oluşturdu.
Şekil 13 - SyncFusion'un Kontrol Paneli Uygulaması
SyncFusion'un demosu ürün sayfasının yaklaşık ortasında Syncfusion'un PDF Çerçevesi for .NET kısmında mavi arka planlı ve üzerinde açık mavi metinle bulunur. Lighthouse'a göre, bu düşük kontrastlıdır ve bazı kullanıcılar için erişilebilir değildir.
Syncfusion kodunu Visual Studio'ya yapıştırdım ve demo kodunda bahsedilen nesneler için uygun bir "using statement" üretmesi adına Visual Studio'ya sahip olamadım. Aslında, Visual Studio'dan bir 'using statement' bulmasını ve üretmesini istediğimde, beni rakip bir paketi yüklemeye yönlendirdi:
Şekil 14 - Visual Studio, SyncFusion'u kullanmam için iTextSharp yüklememi öneriyor.
SyncFusion'un örnek kodu gösterildiği gibi ekranda hiçbir şey yapmadı. Demo kodu, dosya içeriğini bellek içi yöneten bir nesne olan bir MemoryStream'ye bir PDF yazar. Kodu diske bir dosya yazacak şekilde değiştirdim ve "Hello World" içeren düzgün bir dosya oluşturdu.
iText
iText demosu, ürün ana sayfasının ortasında bir net kod düzenleyicisinde yazılmıştır. iText 7 Community Diğer demoların aksine, iText bu kod için oluşturulan PDF'yi görmek için bir bağlantı içeriyordu.
Müşteri portalından bir kurulum paketi indirmem gerekti ve kaydolduktan bir gün sonra sabah saat 5'te kayıt olmam için talimatlar içeren bir e-posta aldım. Kimlik bilgileri çalışmadı ve bunun yerine NuGet'te mevcut olan topluluk paketini indirdim ve kurdum.
iText7 için sağlanan örnek kod yazıldığı gibi çalışmıyor. Bu kod, birkaç 'using' ifadesini de eksik bırakıyor, ancak onlar eklendiğinde, uygulama bir PDF dosyası oluşturdu ve projedeki bin/ klasörüne yazdı.
Bir C# Geliştiricisi için Kullanım Kolaylığı
Bu inceleme öğesi, geliştiricilerin kütüphane ile etkileşime gireceği API ve etkileşimleri incelemektedir. Bu araçların her birinde PDF belgelerini oluşturmak ve etkileşimde bulunmak için birkaç yol vardır. Her birine yakından bakalım.
Dokümantasyon
Ürünün belgeleri, geliştiricilerle uzun vadede başarı veya başarısızlık anlamına gelecektir. Derinlemesine baktıklarında ve daha ileri düzey özelliklere ihtiyaç duyduklarında, bu materyali ne kadar çabuk bulabilecekler ve bu kavramları öğretmeye yardımcı olan örnekler var mı?
Bu ürünlerin her birinde, bir PDF'ye dijital imza ekleme yeteneğini API belgelerinde aradım.
IronPDF
API belgeleri net ve sol panelde bir içindekiler tablosu ile iyi organize edilmiş ve canlı bir filtre içerir. Sağ üstteki arama kutusu da canlı bir filtre içerir ve çeşitli imza özellikleri sağlayan bileşenlerle ilgili birkaç makale hızla döndürdü. API sitesi, geliştiricilerin tercih ettiği güzel bir özellik olan açık ve koyu moda sahiptir.
Şekil 15 - IronPDF API Arama Sonuçları ile İmza
PdfSignature sınıf belgesi, nesneyi anlatır, ancak örnek koda bağlantılar içermez. ironpdf.com web sitesinde "imza" aradım ve IronPDF Dijital Olarak PDF İmzalama Örneği adresindeki PdfSignature nesnesine referans veren örnek kodu buldum.
Aspose
Aspose API belgeleri, imza aradığımda beni PdfFileSignature sınıfına yönlendirdi. Bu sayfa, IronPDF'inki gibi, PdfFileSignature sınıfının ayrıntılarını gösterir, ancak demolar için bağlantılar içermez ve sınıfın nasıl kullanılacağını açıklamaz.
Aspose dokümantasyon temel sayfasına Aspose PDF for .NET Belgeleri adresinden döndüm ve imza aradım. Sonra ilgili makalelerin listesiyle karşılaştım ve Aspose PDF dosyasına İmza Ekle makalesine tıkladım.
SyncFusion
PDF dosya formatları ürünü için SyncFusion'un temel dokümantasyon sayfası Syncfusion PDF Dosya Formatları Genel Bakış adresindedir ve bulmak için sitelerinde birkaç tıklama gerekti. İmza örneğini bulmak için dokümantasyonun ön sayfası olarak fazla uzağa gitmeme gerek kalmadı.
SyncFusion sitesinde dijital imza özelliğini destekleyen API dokümanları mevcut değil.
iText
iText için API dökumanları oldukça kapsamlıdır ve her sürümden türetilmiştir. Bu, internette başka kütüphanelerden göreceğiniz standart bir görünüm ve his. İmza araması, bu özellikler etrafında bazı harika açıklamalarla birkaç sınıf buldu, ancak yine de örnekler için herhangi bir bağlantı yok.
iText web sitesinde imza örneği aradım ve hiç bulamadım, bunun yerine birkaç yeni ortaklık duyurusu yapan blog makalesiyle karşılaştım.
API
Her bir aracın sağladığı API, çok açıklayıcıdır ve her biri geliştiriciye bir PDF belgesinin içeriğini oluşturma ve yönetme yetkisi sağlamak için kendi yaklaşımını benimsemektedir. Neyse ki, tüm bu çerçeveler, Visual Studio gibi modern bir kod düzenleyicisinde yada otomatik tamamlama özellikleri sunan Visual Studio Code'da araçlarıyla çalışırken harika satır içi belgeler sağlayan tamamlanmış otomatik tamamlama ipuçlarına sahiptir.
IronPDF
IronPDF API'leri, karmaşık ve zor etkileşimleri "RenderHtmlAsPdf" benzeri basitleştirilmiş komutlarla yapmayı kolaylaştırırken, içeriğin oluşturulması ve yerleştirilmesi, güvenlik, metadata ve belgenin formları gibi derin erişim sağlar. Bir geliştirici olarak, bu API'ler "düşünme şeklime hitap ediyor" içerik işlemesi hakkında.
IronPDF API'lerinin kullandığı isimler ve terimler, bir belge oluşturduğunuzu veya belgeyi inşa ettiğinizi açıkça belirtiyor. Bazı ayarlardaki zaman özellikleri, beni tercih edilecek yerli TimeSpan türü yerine milisaniyeleri temsil eden tam sayılardır. Son olarak, güncel bir akışkan yapılandırma API'si ile böyle Sağlayılan Ayarlar ve Seçenekler türlerini görmek isterim:
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
Dim renderer = New IronPdf.ChromePdfRenderer(Sub(options)
options.RenderDelay = TimeSpan.FromSeconds(1)
End Sub)
SyncFusion
SyncFusion API'leri açık ve dönüştürücü araçlarıyla nasıl etkileşimde bulunulacağını çok açıklayıcı bir şekilde kontrol eder. Burada hiçbir kısayol yok, her şey gereklidir ve kullandığınız araçları belirtmeniz gerekiyor, kullanılabilir varsayılanlar yok. Ayarlar, WebKit işlemcisinin disk üzerindeki konumu dahil olmak üzere her şey üzerinde ince ayrıntılı kontrol ile geniştir.
Bazı kurulumlarda gerek duyulmamasına rağmen, bu ekstra yapılandırma geçmişte insanlar için sorunlara neden olmuş ve gelecekteki versiyonlarda SyncFusion sorunun olmadığını vaat ediyor.
Aspose
Aspose API son derece ayrıntılıdır ve geliştiricilerin daha üretken olmalarını isteyip istemediklerini merak ettiriyor. Bir web sitesinden belge yüklemek için gereken yapılandırma miktarı şaşırtıcı, SyncFusion (beş) den iki kat daha fazla, on satır kod.
Bunun bir örneği, Aspose'un bir URL tanımlamasına veya dönüştürmesine izin veren API'lerin olmamasıdır.
iText
iText, Aspose'a benzer bir API'ye sahiptir, çok ayrıntılı ve farklı veri türleriyle belgede doğrudan yazma etkileşimi sağlar, ancak belgenin bölümlerinin nasıl oluşturulacağı belirsizdir. API'ların bu kadar açık olduğu ve dökümantasyonun düşük kalitesinde olmasından dolayı iText ile çalışmak en iyi haliyle zordur.
HTML'den PDF'ye
Bir sonraki adımda, her bir aracın HTML içeriğini PDF'ye dönüştürme hızını ve işleme yeteneğini test etmek istedim. Bu testlerin her birini nasıl gerçekleştirdiğimi daha fazla öğrenmek için gözden geçirebileceğiniz Jeff'in GitHub deposunda PDF Karşılaştırmaları üzerinde bulunabilir bir kod yazdım. Ayrıca gözden geçirmenizin sonuç PDF'lerin her birinin bir kopyasını orada sakladım. Her ürünü test edeceğim:
- Düz HTML sunan statik bir web sitesinden bir sayfa dönüştürmenin kolaylığı. Twitch klip web sitesi KlipTok.com'un arama motoru tüketimini güçlendirmek için kullanılan KlipTok statik web sitesini kullanacağız. (Not: Bu makalenin en son değiştirilme tarihinde web sitesi kullanılamıyor)
- Çok sayıda JavaScript ve CSS3 içeren ve sitenin ana sayfasını sunan ESPN.com'un işlenmesi.
- Her bir alanın son PDF'deki kullanımını ve sunumunu test etmek için yerel bir sitede bir form işlenmesi.
Senaryo 1: Statik Web Sitesi testleri
Referans web sitesi, sadece bağlantılar ve görüntülerle metin içeren hiç CSS içermeyen çok basit bir yapıdadır.
Şekil 16 - Statik Web Testleri için Referans websitesi
IronPDF
Bu, yürütmek için üç satırlık basit bir koddur ve performans 835ms'de iyi görünüyordu. Ancak, PDF'yi açtığımda, varsayılan yapılandırmada render edilen hiçbir fotoğraf içermediğini, hayal kırıklığı yaratan bir sonuç olduğunu gördüm.
Biraz keşif yapmanın ardından, bir render gecikmesi ekleyebileceğimi öğrendim ve bu yapılandırmayla, sayfa üzerindeki uygun resimleri içeren bir PDF render etmeyi başardım.
Araçın test versiyonuyla, render edilen PDF'de bir filigran vardır. Tam lisanslı versiyonda, bu filigran mevcut değildir.
Şekil 17 - Statik Sitenin IronPDF İşlemesi
SyncFusion
SyncFusion'un yolu merak uyandırıcı ve kafa karıştırıcıydı. Dokümantasyonları, farklı HTML ve PDF işleme ve sunma yollarına, farklı sürüm numaralarına, doğru çalışması için farklı kodlar ve konfigürasyonlar gerekmektedir ve ayrıca ikili araçların kurulumları gerektiğine işaret eder.
IronPDF demosuna benzer bir şekilde, SyncFusion, sayfa için görselleri işlememiş ve çok küçük kenar boşlukları içeren bir PDF sunmuştur.
Araçın test versiyonuyla, render edilen PDF'de bir filigran vardır. Tam lisanslı versiyonda, bu filigran mevcut değildir.
Şekil 18 - Statik Sitenin SyncFusion İşlemesi.
Aspose
Aspose, araçlarını nasıl kullanacağınıza dair çok net bir dizi yönergeye sahiptir. Ancak, bir web sitesini PDF'ye dönüştürmek için kendi web sitelerindeki talimatlara dayalı olarak, özelliğin çalışmasını engelleyen önemli bir hataları var. Ayrıca, bir web sitesini PDF'ye dönüştüren çevrimiçi araçları da artık çalışmamaktadır.
iText
iText dökümantasyonu bulmak o kadar kolay değil ve bu örneği çalıştırmamız için aradığımız örnek kodu almak adına bir eBook okumamız gerekiyordu. Kodda hiçbir değişiklik yapmadan, ek bir yapılandırma olmadan ve dört satır kod ile hiç filigran olmayan, güzel görünümlü bir PDF render ettik ve iyi kenar boşlukları vardı.
Şekil 19 - Statik Sitenin iText İşlemesi.
| Kullanılan Araç | Milisaniye cinsinden hız (daha düşük daha iyidir) |
|---|---|
| IronPDF | 835ms |
| SyncFusion | 1799ms |
| Aspose | Geçersiz |
| iText | 2975ms |
Senaryo 2: Tam medya web sitesi – ESPN.com
Bu test için, sayfada çok fazla CSS, görüntü ve JavaScript bulunan bir spor web sitesi olan ESPN.com'u kullanıyoruz. Aspose basit testte çalışmadığı için, onları ileride atlayacağız. Bu yakalamaları oluşturmak için son demo için kullandığımız aynı kodu kullanacağız, sadece web sitesi adresini değiştireceğiz.
Referans olarak, bu testin yapıldığı sırada ESPN'nin görünümü şöyledir:
Şekil 20 - Tarayıcıda ESPN.com'un tam işleme görünümü
Ekranın üst kısmındaki skorlar ve ortadaki oyunun durum raporu JavaScript ile yerleştirilmiş ve tüm konumlandırma ve renkler CSS3 ile işlenmiştir.
IronPDF
IronPDF işleme, dinamik içeriği gerçekçe olarak çoğaltıp yükleyebildi, ancak sayfa, içerik öğelerinin ayrı segmentlere ayrılarak döşendiği bir mobil cihaz için işlenmiş gibi görünüyor.
Şekil 21 - ESPN'nin IronPDF işlemesi
SyncFusion
SyncFusion, içeriklerin dikey olarak döşendiği benzer bir 'mobil stil' görüntüleme gerçekleştirdi. Ancak, ESPN sitesinin dinamik olarak yüklenen birkaç görüntüsü kayboldu ve bazı yazı tipi formatları da kayboldu:
Şekil 22 - ESPN'nin SyncFusion işlemesi
iText
Bu test için iText çalışmayı reddetti ve web sitesini işleme girişiminde bulunmasını engelleyen bir NullReferenceException hatası verdi.
| Kullanılan Araç | Milisaniye cinsinden hız (daha düşük daha iyidir) |
|---|---|
| IronPDF | 835ms |
| SyncFusion | 1799ms |
| Aspose | Geçersiz |
| iText | 2975ms |
Form Tabanlı Web Sitesi
Son test, bir web sitesine dayalı olarak form girişi alanlarını içeren bir PDF oluşturmaktır. Yazdığım basit bülten kayıt formu GitHub deposunda mevcuttur ve Firefox'ta Bootstrap 5 ile şöyle render edilir:
Şekil 23 - Firefox'ta Form Web Sitesi
Not: Durum, bir combobox'tır, Telefon alanı bir telefon alanıdır, E-posta bir e-posta alanıdır ve Ayakkabı Numarası bir sayı alanıdır.
IronPDF
Iron bu testte gerçekten parlıyor, sağ üst köşedeki hamburger menü düğmesinden kanıtlandığı üzere benzer bir mobil uyumlu düzenle hızla render yapıyor. Sayfa boyunca olan filigranlar test sürümünde rahatsız edici, ancak tam lisanslı sürümde kaldırılıyorlar.
Sonundaki radyo düğmeleri ve onay kutusu hariç, tüm metin kutusu alanları etkileşimde bulunabileceğim PDF form alanları olarak işlenmiştir. Metin kutuları tarayıcıda olduğu gibi özel bir doğrulama veya içerik zorlaması yoktur.
Şekil 24 - Form'un IronPDF işlemesi
SyncFusion
SyncFusion, web sitesinin tam masaüstü sürümünü işlenmiş gibi görünüyor, çünkü bir hamburger menü düğmesi yok. İşlenen form öğeleri kareler, düğmeler ve ekrandaki kutular olarak görünür, ancak hiçbiri standart PDF veri giriş alanı değildir. Başlık ve altbilgideki bağlantılar filigran ile örtülmüş olsa da tıklanabilir.
Şekil 25 - SyncFusion tarafından işlenen Form sitesi
iText
iText, içeriği render etmekte üç çerçevenin de açık ara en hızlısıydı. Ancak, bu hız bir bedel karşılığında geldi. Render ettikleri, tıklandığında gezinilen, ancak orijinal web sitesine ulaşmayan çapa etiketleri sağladı. Bootstraptan tüm biçimlendirme kayboldu ve tüm form alanları düz kutular olarak işlendi.
Şekil 26 - iText tarafından işlenen Form sitesi
| Kullanılan Araç | Milisaniye cinsinden hız (daha düşük daha iyidir) |
|---|---|
| IronPDF | 835ms |
| SyncFusion | 1799ms |
| Aspose | Geçersiz |
| iText | 2975ms |
Teknik Destek
Bu çerçevelerin her birinin ayrı destek yetenekleri ve sürüm hızı mevcuttur. Daha fazla PDF standardını destekleyecek, geliştirilen ve büyüyen bir çerçeve için, çevrimiçi destek ve düzenli sürüm programları görmeyi isteriz.
IronPDF
NuGet sitesine göre, IronPDF her 2-4 haftada bir sürüm yayınlıyor. Canlı sohbet ve e-posta destek seçenekleri mevcuttur. Destek ve diğer IronPDF topluluğu üyeleriyle sohbet etmek için bir çevrimiçi forum veya bir Discord / Slack sunucusu görmek hoş olurdu.
SyncFusion
NuGet'e göre, PDF kütüphanelerinin güncellemesini haftada bir yayınlıyorlar. SyncFusion'un çevrimiçi forumları ve çevrimiçi destek biletleme sistemi vardır. SyncFusion'dan canlı sohbet destek seçenekleri yok.
Aspose
NuGet'e göre, Aspose.PDF her ay bir sürüm yayınlıyor. Ücretsiz bir yardım masası, ücretli bir yardım masası ve ücretli danışmanlık sunuyorlar. Herhangi bir canlı etkileşim veya topluluk etkileşimi mevcut değil.
iText
NuGet raporlarına göre iText paketlerini her 2-3 ayda bir güncellemektedir. Tek destekleri çevrimiçi bir JIRA sorun izleyici ve "bize ulaşın" formu üzerinden sağlanmaktadır. Canlı etkileşimler veya barındırılan forumlar mevcut değil.
Son Puan Kartı
Bu belgenin her bölümünden ürünleri birbirleriyle derecelendirdim ve en yüksek dört puan verildi.
| Kategori | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| Keşif | 3 | 4 | 2 | 1 |
| Satın Alma | 4 | 3 | 2 | 1 |
| Lisanslama | 3 | 2 | 4 | 1 |
| Uyumluluk | 4 | 1 | 2 | 3 |
| Başlarken | 4 | 1 | 2 | 3 |
| API | 4 | 2 | 3 | 1 |
| Belgelendirme | 4 | 4 | 3 | 2 |
| Web Sitelerini Render Et | 4 | 0 | 3 | 2 |
| Destek | 3 | 4 | 2 | 1 |
| Toplam (daha yüksek daha iyi) | 33 | 21 | 23 | 15 |
Notlar:
- Keşif aşamasında, GitHub'da belirgin bir örnek kütüphanesi eksikliği Syncfusion'u son sıraya koydu ve arama motorunda ürünü bulmanın GitHub'da bulmaktan daha öncelikli olduğunu belirttim.
- IronPDF'ten açık bir şekilde bir indirme sayfasına hemen götüren bir düğme ile elde edildi. Diğerleri, ihtiyaçınız olan kütüphaneyi bulmak için çeşitli seviyelerde kayıt ve işlem gerektiriyordu. iText sürecin en kafa karıştırıcı olduğu ve sonunda çok fazla seçenek olduğu sonucuna vardı.
- Lisanslama Syncfusion için çok netti, Aspose ve IronPDF birkaç sınırlamaya sahipti. Aspose için seçeneklerin çokluğu onu üçüncü olarak belirledi, ve lisansınızı hesaplamak için bir araca ihtiyaç duyulmasıyla karışık açık kaynak / ticari alternatifler iText'i son sıraya koydu.
- Web sitelerindeki iddialara göre uyumluluk biraz kafa karıştırıcı. IronPDF, farklı ağlarda çalıştığına dair iddialarda bulunuyor ve diğer araçlar böyle iddialarda bulunmuyor. Bu araçların bu ortamlarda çalıştırılıp çalıştırılamayacağını belirlemek için test sırasında daha fazla araştırma yapılması gerekiyor.
- Başlangıç, IronPDF'yi ilk sıraya koydu, çünkü kodları istenildiği gibi değişiklik gerektirmeden çalışıyordu. iText bazı küçük güncellemeler gerektirdi ve Aspose hiç çalışmadı ve örneği tamamen yeniden yazmak zorunda kaldım.
- IronPDF tarafından sağlanan API yapısı net ve geliştiricilere "bana varsayılanları verin, gerisini siz halledin" approachunda çok üretken bir şekilde çalışma imkânı tanıyor. SyncFusion benzer bir yaklaşım sağlıyor, ancak konuşmaya başlamaya başlıyor. Kapsamlı belgelerin eksikliği, iText'i derecelendirmelerimin en altında itmiştir.
- Dökümantasyon puanları, zaten sahip oldukları özellikler sayesinde IronPDF ve Aspose'un en iyi deneyimi bağladığı belirtilirken, SyncFusion ve iText örnekler veya API belgeleri eksik olanlarla puanlanmıştır. SyncFusion, belgelerinin web sitesindeki kapsamlı içerik nedeniyle küçük bir farkla öne çıkıyor.
- Web siteleri testi, iText'in en hızlı olduğunu buldu, ancak ona iletilen sitenin görüntüsünü kopyalayamıyordu. IronPDF, etkileşimli form alanlarıyla tam CSS ve JavaScript uyumu sağlayabildi, SyncFusion ise JavaScript işleme, bazı CSS yetenekleri, ancak etkileşimli form alanları sağlayamadı.
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 kullanmanın bazı önemli faydaları nelerdir?
IronPDF, NuGet aracılığıyla basit bir kurulum, sezgisel bir API, hızlı HTML'den PDF'ye dönüştürme hızları ve iyi organize edilmiş belgeler sunar. Ayrıca net lisanslama seçenekleri ve .NET ortamları ile sağlam uyumluluk sağlar.
IronPDF'in belgeleri geliştirici deneyimini nasıl geliştirir?
IronPDF, geliştiricilerin ihtiyaç duydukları bilgileri kolayca bulmalarını ve çözümleri verimli bir şekilde uygulamalarını sağlayan, arama yapılabilir bir API ve örneklerle iyi organize edilmiş belgeler sunar.
SyncFusion'un PDF kütüphanesi ile ilgili zorluklar nelerdir?
SyncFusion'un PDF kütüphanesi, hesap oluşturma ve takip edilen iletişimleri içeren zahmetli bir başlangıç kurulumu gerektirir ve bazı kullanıcılar bunu müdahaleci bulabilir. Ayrıca, IronPDF ile kıyaslandığında optimal olmayan render performansına sahiptir.
IronPDF, dönüşüm sırasında CSS ve JavaScript'i nasıl işler?
IronPDF, HTML'den PDF'ye dönüştürme sırasında CSS ve JavaScript'i işlerken sadakati korumada mükemmeldir ve çıktının orijinal içerikle yakından eşleşmesini sağlar.
IronPDF'i C#.NET ortamlarında geliştiriciler için tercih edilen bir seçim yapan nedir?
IronPDF, basit bir alım süreci, net lisanslama, sezgisel API, hızlı dönüşüm hızları ve kapsamlı belgeleri nedeniyle tercih edilir. C#.NET ortamlarında PDF çözümleri için güvenilir kılan gelişmiş özelliklerle üstün bir geliştirici deneyimi sunar.
Makaleye göre Aspose PDF kütüphanesinin yaygın bir sorunu nedir?
Aspose PDF kütüphanesi, karmaşık ve kafa karıştırıcı lisanslama modeli ve işlevsel olmayan HTML dönüşümü nedeniyle eleştiriliyor, bu da kullanıcılar için gezinmek ve etkili bir şekilde uygulamak zorlayıcı olabilir.
iText, karmaşık web sayfaları ile nasıl performans gösteriyor?
iText, statik içerik render ederken hızı ile bilinir; ancak karmaşık web sayfaları ile zorluk yaşar ve karmaşık HTML yapılarıyla uğraşan geliştiricilere sınırlı destek sunar.



