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

itext7 PDF'den Metin Çıkarma vs IronPDF (Kod Örnekleri Eğitimi)

Bu makale .NET Geliştirme konusunda tanınan 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üphanesi olan Aspose, Syncfusion ve iTextPdf ile karşılaştırır ve inceler.


Geliştiriciler için üç ticari PDF yönetim ürününe etkileşimin tüm geliştirici deneyimini araştırıyorum ve bunları IronPDF deneyimiyle karşılaştırıyorum. Her ürünü aşağıdaki alanlarda karşılaştıracağız ve değerlendireceğiz:

  1. Keşif ve Edinim deneyimi
  2. Lisanslama netliği
  3. Uyumluluk
  4. Başlarken deneyimi
  5. C# geliştiricisi için API kullanım kolaylığı
  6. Kod örnekleri ve rehberleri dahil belgelerin kalitesi
  7. HTML'yi PDF'e dönüştürme yetenekleri
    1. CSS3 uyumluluğu
    2. HTML 5 uyumluluğu
    3. JavaScript uyumluluğu
    4. Form desteği oluşturma
    5. Render doğruluğu
  8. Teknik Destek
  9. Yayın sıklığı ve özellik geliştirme

Araçlar için nihai bir puan kartı ile sonuçlandıracağız.

Keşif ve Edinme

Geliştiricilerin seçebileceği bir dünya PDF ürünü var. Ürünleri nasıl ayırıp projeleri için doğru olanı seçebilirler? C# geliştiriciler, yazılım araçlarını araştırırken üç ana yere bakarlar: arama motorları, GitHub ve NuGet. DuckDuckGo, özel bir arama motorunda "PDF Software C#" araması yapacağız ve bu PDF araçlarını GitHub'ın yanı sıra NuGet.org'da arayacağız. NuGet, .NET paket deposudur.

Tablo 1. Tipik keşif motorlarından edinim
Ürün DuckDuckGo GitHub NuGet
IronPDF 5 Bulunamadı 5
Aspose 22 37 3
Syncfusion 49 Uygulanamaz 8
iTextPDF Bulunamadı 40 7

Notlar: Aramayı her hizmette ilk 100 sonuçla sınırladım ve DuckDuckGo'da hem IronPDF'nin GitHub deposunu hem de iText web sitesini bulamadım. Syncfusion, PDF oluşturma örnekleri içeren bir GitHub havuzuna sahip değildir.

Edinme

Her ürün, web sitelerinden farklı bir ürün edinme yaklaşımına sahiptir.

IronPDF, ana sayfada bir indirme düğmesi ile bunu net bir şekilde belirtir

Ürün Comparisons with IronPDF, Figure 1: IronPDF Download Keşif

Şekil 1- IronPDF indirme keşfi

İndirme düğmesi NuGet.org'a ve standart .NET paket kurulum talimatlarına yönlendirir.

Aspose, dil seçmeniz gereken ana sayfada bir geçiş yapar ve ardından ürünün o sürümü hakkında ayrıntılar ve bir indirme düğmesi sunar

Ürün Comparisons with IronPDF, Figure 2: Aspose.PDF Language Selector

Şekil 2 - Aspose.PDF Dil Seçici

Ürün Comparisons with IronPDF, Figure 3: Aspose.PDF Download Keşif

Şekil 3 - Aspose.PDF C# İndirme Keşfi

Aspose daha sonra NuGet talimatlarını ve birkaç paragraf tanıtım materyalı içeren bir sayfa ile size araçları indirmenizi ister

Ürün Comparisons with IronPDF, Figure 4: Aspose Download Page

Şekil 4 - Aspose İndirme Sayfası

Syncfusion, PDF yönetim kütüphanesini "Doküman İşleme - PDF" altında dosyalamıştır. Alt siteleri şöyle görünmektedir:

Ürün Comparisons with IronPDF, Figure 5: Syncfusion PDF Keşif

Şekil 5 - Syncfusion PDF Keşfi

Ardından web sitelerinde hesap oluşturmak için bir form doldurmanız, e-posta adresi, telefon numarası ve şirket adı ile birlikte tamamlamanız gerekir. Syncfusion, e-posta adresinizi bir metin mesajıyla doğruluyor ve ardından yazılımlarını indirmek için bir kurulum dosyası indirmenize izin veriyor. NuGet üzerinden deneme paketini de kurabilirsiniz, ancak yükleicinin "tam ürün" sağladığını söylüyorlar. Syncfusion web sitesine kaydolduktan sonraki günlerde, başlamama yardımcı olmak için iki e-posta ve iki telefon çağrısı aldım. E-postalar ve telefon görüşmeleri dostane bir tona sahipti, ancak telefon görüşmelerini biraz müdahaleci buldum.

iTextPDF bir ürün ve ürüne tek bir bağlantı ile bunu net bir şekilde belirtir:

Ürün Comparisons with IronPDF, Figure 6: iTextPDF Keşif

Şekil 7 - iTextPDF Keşfi

İndirme ekranı, telefon numarası, e-posta, iş unvanı ve şirket adıyla üye olunması gereklilikleri olan üç indirme seçeneği sunar.

Ürün Comparisons with IronPDF, Figure 7: iText Download Screen

Şekil 7 - iText İndirme Ekranı

iText'ten gelen seçeneklerin hacmini bunaltıcı buldum ve neyi indirmem gerektiğinden emin değildim. iText'i seçtim ve ardından indirmek için dokuz PDF ile ilgili üründen birini seçmem için başka bir ekrana yönlendirildim. Bir kez daha, bunun kafa karıştırıcı olduğu ve projem için hangi kütüphanelere ve araçlara ihtiyaç duyduğumdan emin olmadığım sonucunu aldım.

iTextten müşteri portalına ve oluşturulmuş bir şifreye bağlantı içeren bir takip e-postası aldım. Sağlanan kimlik bilgileriyle portal sitesini kullanmaya çalıştım ancak siteye erişemedim.

Lisanslama Netliği

Bir geliştirici herhangi bir kütüphane indirirken, lisanslama, ürünü projeleriyle nasıl ve ne şekilde kullanabileceklerini belirler. Daha izin verici bir lisans, aracın bir mobil veya masaüstü uygulama ile birlikte gönderilmesine izin verebilir ve daha kısıtlayıcı lisanslar, aracın yalnızca korumalı bir sunucuda çalışmasına izin verebilir.

IronPDF, ön sayfadaki 'Ücretsiz NuGet İndir' düğmesinin yanında lisans koşullarına bağlanan net bir düğme sunar Sonuç sayfası, kaç geliştiricinin kapsandığını ve ürünün kullanılabileceği proje sayısını çok net bir şekilde açıklıyor. Organizasyonun sahip olduğu ofis sayısı üzerinde sınırlama vardır Yazılımın bir SaaS ürünü veya yerel uygulama olarak yeniden dağıtılması ek lisans ücretleri gerektirir.

Altı farklı lisanslama modeli, destekli, desteksiz veya destek ve danışmanlıkla paketlenmiş olarak Aspose'ta mevcuttur. Seçeneklerini oldukça kafa karıştırıcı buldum, çünkü ürünü hangi proje türleri ile kullanabileceğiniz, lisanslı geliştirici sayısı ve organizasyonun boyutu konusunda da kısıtlamalar vardır.

Destek içeren kamuya açık web sitesi projeleri:

Tablo 2 - Fiyat Karşılaştırması
Dahil Olanlar IronPDF Syncfusion Aspose.PDF iText
1 web sitesi, 1 geliştirici, 1 yer, Destek $999 $2,495 $5,394
10 web sitesi, 10 geliştirici, 10 yer, Destek $2,999 $13,990 $28,771
Sınırsız web siteleri, Destek $5,999 Uygulanamaz $25,785+ (yıllık)
Ürün Comparisons with IronPDF, Figure 8: Aspose Lisanslama Model

Şekil 8 - Aspose Lisanslama Modeli

Syncfusion, tüm .NET uygulama türleri için destek içeren Dosya Formatları ürünü için bir defalık ücret almaktadır. Ücret geliştirici başına alınır ve sözleşmenin ikinci yılı için indirim yapılır. Ürünün kullanıldığı projelerin sayısı veya kuruluşun boyutuna göre bir kısıtlama yoktur. Startup aşamasındaki şirketler için ücretsiz bir topluluk lisansı da mevcuttur.

Ürün Comparisons with IronPDF, Figure 9: Syncfusion Lisanslama

Şekil 9 - Syncfusion Lisanslama

iText, açık kaynaklı birkaç ürüne sahiptir, ancak ürünü kullanmak için lisans satın almanız gerektiğini göstermekte.

Ürün Comparisons with IronPDF, Figure 10: iText Open Source Ürün

Şekil 10 - iText Açık Kaynaklı Ürün

Ticari lisans satın alma seçeneği, hemen listelenmiş satın alma seçenekleri olmayan bir ekrana yönlendirmektedir. Konumunuz, diliniz, kullanım hacminiz ve kullanmak istediğiniz ürünlerle ilgili bilgileri tamamlamanız gereken bir yapılandırma aracı bulunmaktadır. Araç, daha sonra ticari lisans için bir teklif verir.

Ürün Comparisons with IronPDF, Figure 11: iText License Configuration Tool

Şekil 11 - iText Lisans Yapılandırma Aracı

Ürün açık kaynak olarak mevcutsa, ticari destek seçenekleri olmadan sadece bunu kullanabilir miyim? AGPL lisansı kapsamına girdiğini ve bu modelde kütüphanelerini kullanan uygulamalardan kaynak kodunu yayınlamanızı gerektirdiğini keşfetmeden önce iText Community sitesine tıklayana kadar net değildir. Bu ilginç bir seçenek, ancak geliştiricileri karıştırabilir.

Uyumluluk

Her ürün için mevcut olan farklı dağıtım modelleri ile, her web sitesinde vaat edilen farklı uyumluluk seviyeleri bulunmaktadır. Farklı barındırma sağlayıcıları ve Docker gibi barındırma araçlarıyla uyumluluğu belirlemek için daha fazla araştırma gerekmektedir.

Tablo 3 - Web sitesinde vaat edilen uyumluluk
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, tipik olarak geliştiriciler için bir miras ihtiyaç olan COM uygulamaları ile çalıştığını iddia eden tek üründür. iText, desteklenen platformlarını web sitesinde listelememektedir, ve NuGet paketlerinin taranması belirtilen platformlar için destek bulunduğunu göstermektedir. Syncfusion, birden fazla kullanıcı arayüzü çerçevesi için destek listeler ancak belirli yürütme sürümleri için değil. iText, IronPDF dışında bir bulut hizmetini desteklediğini iddia eden tek üründür, AWS desteğini vurgulayan bir banner ile.

Ürün Comparisons with IronPDF, Figure 12: iText Destek on AWS

Şekil 12 - AWS Üzerinde iText Desteği

Başlangıç Deneyimi

Her ürünün ve sitelerinde belirtilen 'Başlangıç' deneyimlerini incelemeye aldım. Bu, her bir ürün için 'ürünle ilk uygulamanızı oluşturun' yönergeleridir.

IronPDF

NuGet kullanarak ve bir satır kod ile IronPDF'nin örnek bir sürümünü yükleyip kullanmaya başlayabildim. Çok kullanışlı ve sistemimi karmakarışık yapmadı.

IronPDF'nin IronPDF Başlarken sayfasındaki örnek, .NET 6 ve öncesi kullanarak basit bir konsol veya yerel uygulama ile çalışır. Basit bir "Merhaba Dünya" metin bloğu içeren yeni bir PDF oluşturur ve yazarak dosyayı çıktılar. 5 satır kod örneği tamamlanır.

Örnek kod açık ve .NET 6 / C# 10 formatıyla güzel çalışıyor. Çevrimiçi kod bloğunun, çalıştırmayı bir anda gerçekleştiren bir 'panoya kopyala' düğmesi vardır.

Dosya, projenin altında bin/ klasörüne yazılmıştır ve hızlı bir örnek için çalışır. Bazı kişiler içerik için bin/ klasörüne bakmayı bilmeyebilir, bu yüzden az önce 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 büyüklüğünde büyük bir indirme yapmam gerekti. Bu, herhangi bir uygulama yüklemedi, ancak sadece Aspose'un kütüphanelerini diske yerleştirdi.

Aspose örneği, 'Başlangıç' bölümünde belgelerinde yer almakta, bulmayı biraz zorlaştırıyor. Aspose'un Merhaba Dünya Örneğinde yer alan kod örneği, kodun ne yapmaya çalıştığını açıklayan ve kod içindeki yorumlarla biraz tekrarlanır gibi hissettiren bazı yorumlarla birlikte gelir.

Aspose örneği, yazıldığı gibi çalışmıyor ve geliştirilmesi gerekiyor. Ürünlerini incelemem sırasında şu sorunlarla karşılaştım:

  • .NET 6 kütüphanesi bir DLL olarak teslim edilir ve diskte C:\Program Files (x86)\Aspose\Aspose.PDF for .NET\Bin\net6.0 klasöründe saklanır -- Bu, 2022'de .NET geliştiricilerinin kütüphaneleri yükleme şekli değildir, bunun yerine NuGet paketlerini tercih ederler.
  • Referansın nasıl ekleneceğine ve hangi referansların ekleneceğine dair bir yönerge bulunmamaktadır.
  • Bir Aspose.Pdf.dll dosyasına referans eklediğimde, sayfada sunulan proje kodu derlenmedi.
  • Eksik olan 'using' ifadelerini ekledim ve kodu derlemek için ufak ayarlar yaptım, ancak diğer eksik referanslar nedeniyle çalıştırılamadı. Proje, 'Örnekler' klasörüne yazmayı dener. Bu projeyi çalıştırmak için denememde bu klasör diskte yoktu ve örnek projem klasörün mevcut olmaması nedeniyle çöküverdi.
  • Üretilen örnek PDF, 'Merhaba Dünya' metin bloğunu içerir ve üzerinde yazılımın demo sürümü olduğunu belirten fuchsia bir filigran vardır.

Syncfusion

Başlamak için 874MB büyüklüğünde büyük bir dosya indirmem gerekti ve kurulum, kütüphanelerle çalışmak için bir Syncfusion sunucusuna giriş yapmamı gerektirdi. Yükleyici, diskte bir dizi demoyu gezmeme olanak tanıyan bir 'Kontrol Paneli' uygulaması oluşturdu.

Ürün Comparisons with IronPDF, Figure 13: Syncfusion's Control Panel Application

Şekil 13 - Syncfusion'un Kontrol Paneli Uygulaması

Syncfusion'un demosu, ürün sayfalarının tam ortasında Syncfusion PDF Framework for .NET ile mavi bir arka plan ve üzerinde açık mavi renkli metin ile yer alır. Lighthouse'a göre, bu düşük kontrastlı ve bazı kullanıcılar için erişilebilir değildir.

Syncfusion kodunu Visual Studio'ya yapıştırdım ve Visual Studio'nun demo kodu içindeki nesnelere uygun bir "using statement" oluşturmasını sağlayamadım. Gerçekten de, Visual Studio'ya bir using ifadesi bulmayı ve oluşturmayı teklif ettiğimde, rakip bir paketi kurmamı önerdi:

Ürün Comparisons with IronPDF, Figure 14: Visual Studio Suggesting that I Install iText to use Syncfusion

Şekil 14 - Syncfusion kullanmak için iText kurmam gerektiğini öneren Visual Studio

Syncfusion'un örnek kodu ekranda sunulduğu gibi hiçbir şey yapmadı. Demo kodu, bir nesne olarak haliyle dosya içeriklerini bellek içinde yöneten bir MemoryStream içine PDF yazar. Kodu diske bir dosya yazacak şekilde değiştirdim ve 'Merhaba Dünya' içeren düzgün bir dosya üretti.

iText

iText demosu, ürün ana sayfasının ortasında açık bir kod editöründe yazılmıştır. iText Community Diğer demoların tersine, iText bu kod için üretilen PDF'yi görmek için bir bağlantı eklemiştir.

Müşteri portalından yükleme paketini indirmem gerekiyordu ve kaydolduktan bir gün sonra, sabah 5'te talimatlarla birlikte bir e-posta aldım. Kimlik bilgilerim çalışmadı ve bunun yerine NuGet'te bulunan topluluk paketlerini indirip kurdum.

iText için sağlanan örnek kod yazıldığı gibi çalışmıyor. Bu kodda birkaç tane using deyimi de eksik, ancak eklendiklerinde uygulama bir PDF dosyası oluşturdu ve proje klasöründeki bin/ klasörüne yazdı.

Bir C# Geliştirici için Kullanım Kolaylığı

Bu inceleme unsuru, geliştiricilerin kütüphane ile etkileşimde bulunacağı API ve etkileşimleri araştırır. Bu araçların her biri, PDF belgeleri oluşturmak ve onlarla etkileşimde bulunmak için birkaç yönteme sahiptir. Her birine bir göz atalım.

Dokümantasyon

Ürünün dokümantasyonu, geliştiricilerle uzun vadeli olarak ya başaracak ya da kıracaktır. Daha derine indiklerinde ve daha gelişmiş özelliklere ihtiyaç duyduklarında, o materyali ne kadar hızlı bulabilecekleri ve bu kavramları öğretmeye yardımcı olan örneklerin sağlanıp sağlanmadığı önemlidir.

Bu ürünlerin her birinde, API belgelerinde bir PDF'ye dijital imza ekleme yeteneğini aradım.

IronPDF

API belgeleri, canlı bir filtreye sahip bir sol panel içindekiler tablosu ile açık ve düzenlidir. Sağ üstteki arama kutusu ayrıca canlı filtre içerir ve hızla İmza özelliklerini sağlayan çeşitli bileşenler hakkında birkaç makale döndürdü. API sitesinde açık ve koyu mod, geliştiricilerin tercih ettiği hoş bir özellik vardır.

Ürün Comparisons with IronPDF, Figure 15: IronPDF API Search Results for Signature

Şekil 15 - IronPDF API İmza Arama Sonuçları

PdfSignature sınıf belgesi nesneyi açıklar ancak örnek koda bağlantı içermez. ironpdf.com sitesinde "signature" araması yaptım ve IronPDF Digitally Sign a PDF Example adresinde PdfSignature nesnesine referans veren örnek kod buldum.

Aspose

Aspose API belgeleri, imza arayışımda beni PdfFileSignature sınıfına yönlendirdi. Bu sayfa, IronPDF'in sayfası gibi, PdfFileSignature sınıfının detaylarını gösterir ancak demoya bağlantı içermez veya sınıfın nasıl kullanılacağını açıklamaz.

Aspose.PDF for .NET Dokümantasyon ana sayfasına tekrar döndüm ve imza aradım. Daha sonra ilgili makalelerin listesi ile karşılaştım ve Aspose Add Signature in PDF makalesinin bulunduğu makale üzerinden tıkladım.

Syncfusion

Syncfusion'un PDF dosya formatları ürünü için temel dokümantasyon sayfası, Syncfusion PDF File Formats Overview adresindedir ve bulmak için sitelerinde birkaç tıklamama neden oldu. İmza örneğini bulmak için fazla uzağa gitmeme gerek kalmadı çünkü dokümantasyonun ön sayfasında yer alıyordum.

Syncfusion sitesinde dijital imza özelliğini destekleyen API belgeleri bulunmamaktadır.

iText

iText API belgeleri çok ayrıntılı ve her yayımlanan sürümden üretilmiştir. İnternetteki diğer kütüphanelerden gördüğünüz standard bir görünüm ve his. İmza araması yaptığımızda, bu özelliklerin etrafında bazı harika açıklamalarla birlikte birkaç sınıf bulduk, ancak yine de örnek bağlantıları yok.

iText web sitesinde bir imza örneği aradım ve bulamadım, bunun yerine yeni ortaklıkları duyuran birkaç blog makalesi sunuldu.

API

Her bir araç tarafından sunulan API, çok tanımlayıcıdır ve her biri, geliştiriciye bir PDF belgesinin içeriğini oluşturma ve yönetme konusunda tam erişim sağlama yaklaşımını benimser. Neyse ki, tüm çerçeveler, onların araçlarını modern bir kod editörü olan Visual Studio veya tamamlayıcı önerme yeteneklerine sahip Visual Studio Code ile çalışırken harika satır içi dokümantasyon sağlayan eksiksiz otomatik tamamlama ipuçlarına sahiptir.

IronPDF

IronPDF API'ler, "RenderHtmlAsPdf" gibi basitleştirilmiş komutlarla son derece zor ve karmaşık etkileşimleri kolaylaştırır, ancak yine de içeriğin, güvenliğin, meta verilerin ve belgenin formlarının oluşturulması ve yerleştirilmesi derinlemesine erişim sağlar. Bir geliştirici olarak, bu API'ler içeriği işleme hakkında düşündüğüm şekilde "konuşuyor."

IronPDF API'lerinin kullandığı isimler ve terimler, bir belge oluşturmakta veya bir belge inşa ettiğinizi net bir şekilde ifade eder. Bazı ayarlarda bulunan zaman özellikleri milisaniyeleri temsil eden tamsayılar ve ben bunların yerine yerel bir TimeSpan türünü tercih ederdim. Sonuç olarak, şu tür modern bir akıcı yapılandırma API'si ile Ayarlar ve Seçenekler türleri görmeyi 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)
$vbLabelText   $csharpLabel

Syncfusion

Syncfusion API'ları net ve dönüştürücü araçları ile nasıl etkileşime girileceğine dair çok açıklayıcı kontrol sağlar. Burada kısayollar yok, her şey gereklidir ve hangi araçları kullandığınızı söylemelisiniz, varsayılanlar yoktur. Ayarlar, özellikle WebKit eyleyicisinin disk üzerindeki konumu dahil olmak üzere her şey üzerinde ayrıntılı bir kontrol sağlamaya yönelik geniştir.

Bu ek yapılandırma, bazı kurulumlarda gerekmesede, daha önce insanlar için sorunlara neden oldu ve ilerideki sürümlerde Syncfusion bunun bir sorun olmadığını vaat ediyor.

Aspose

Aspose API son derece kapsamlıdır, bu da geliştiricileri hiç üretkenleştirip üretmeticikileyin çırakılmaya çalışmıyor mu acaba diye düşündürüyor. Bir web sitesinden belge yükleme için gereken yapılandırmanın miktarı şaşırtıcı, on satır kod veya Syncfusion'un iki katı (beş) satır.

Bu duruma bir örnek, Aspose'un alıp dönüştürmek üzere bir URL belirtmenizi sağlayan API'lere sahip olmamasıdır.

iText

iText, Aspose'a benzer bir API'ye sahiptir, çok fazla açıklayıcıdır ve farklı veri türleriyle belge yazma işlemine doğrudan etkileşime izin verir, ancak belgenin bölümlerini nasıl oluşturacağı henüz net değildir. API'lerin ne kadar açık olduğu ve dokümantasyonun düşük kalitesiyle iText ile çalışmak en iyisiyle zordu.

HTML'den PDF'ye

Bir sonraki aşamada, HTML içeriğini PDF'ye dönüştürmekteki her bir aracın işleme ve hız yeteneklerini test etmek istedim. Her birinde bu testleri nasıl gerçekleştirdiğim hakkında daha fazla bilgi edinmek için inceleyebileceğiniz Jeff'in PDF Karşılaştırmaları GitHub deposundan bazı kodlar yazdım. Sonuçların her birinde her bir sonuç PDF kopyasını aldım incelemeniz için. Her ürünü test edeceğim:

  • Düz HTML sunan statik bir web sayfası dönüştürme kolaylığı. Aynı zamanda Twitch klip web sitesi KlipTok.com'un arama motoru tüketimine güç sağlayan KlipTok statik web sitesini kullanacağız. (Not: Web sitesi bu makalenin en son değiştirilme tarihi itibarıyla mevcut değildir)
  • ESPN.com'un anasayfasını sunan bol JavaScript ve CSS3 içeren bir siteyi işleme.
  • Sonuç PDF'deki her alanın kullanımını ve sunumunu test etmek için yerel bir sitede bir formun işlenmesi.

Senaryo 1: Statik Web Sitesi Testleri

Referans web sitesi, CSS içermeyen ve sadece bağlantılar ve resimlerle birlikte metin içeren çok basit bir yapıya sahiptir.

Ürün Comparisons with IronPDF, Figure 16: The reference website for Static Web Tests

Şekil 16 - Statik Web Testleri için Referans Web Sitesi

IronPDF

Bu, çalıştırmak için üç satır kodluktü, ve 835ms'de performansı iyi görünüyordu. Ancak, PDF'yi açtığımda, varsayılan yapılandırma ile dahil edilen hiçbir resmin oluşturulmadığını gördüğümde hayal kırıklığı yaşadım.

Biraz araştırma sonucunda, bir oluşturan gecikmesi ekleyebileceğimi öğrendim ve bu yapılandırma ile sayfadaki uygun resimleri içeren bir PDF oluşturabileceğim.

Araçtaki test sürümüyle, oluşturulan PDF'de bir filigran bulunmaktadır. Tam lisanslı versiyonda bu filigran mevcut değildir.

Ürün Comparisons with IronPDF, Figure 16: The reference website for Static Web Tests

Şekil 17 - Statik Siteleme IronPDF İşleme

Syncfusion

Syncfusion merak uyandırıcı ve kafa karıştıran bir yolculuktu. Belgelerinde farklı sürüm numaralarına sahip farklı çerçevelerle HTML ve PDF'yi render edip dağıtmanın çeşitli yollarına atıfta bulunurlar ve düzgün çalışabilmesi için binary araçların kurulmasını gerektirir.

IronPDF demosu gibi, Syncfusion sayfa için resimleri render etmedi ve çok küçük kenar boşluklarına sahip bir PDF sağladı.

Araçtaki test sürümüyle, oluşturulan PDF'de bir filigran bulunmaktadır. Tam lisanslı versiyonda bu filigran mevcut değildir.

Ürün Comparisons with IronPDF, Figure 18: Syncfusion Rendering of the Static Site

Şekil 18 - Statik Site'nin Syncfusion Render Edilmesi.

Aspose

Aspose'un araçlarını nasıl kullanacağına dair çok açık bir dizi yönlendirmesi var. Ancak, bir web sitesini bir PDF'ye dönüştürmekle ilgili web sitelerindeki talimatlar temelinde, çalışmayı engelleyen önemli bir hatası vardır. Ek olarak, artık çalışmayan bir web sitesini bir PDF'ye dönüştüren çevrimiçi araçları vardır.

iText

iText belgeleri bulmak kolay değildir ve bu örneği çalıştırmak için aradığımız örnek kodu bulmak için bir e-kitap okumamız gerekiyordu. Kod değişiklikleri yapmadan, ek konfigürasyon olmadan ve dört satır kodla, su işaretleri olmayan ve iyi kenar boşluklarına sahip çok hoş bir PDF ürettik.

Ürün Comparisons with IronPDF, Figure 19: iText Rendering of the Static Site

Şekil 19 - Statik Siteleme iText İşlemesi.

Tablo 4 - Statik Site için HTML'den PDF'ye Performans Karşılaştırmaları
Kullanılan Araç Milisaniye cinsinden hız (düşük daha iyidir)
IronPDF 835ms
Syncfusion 1799ms
Aspose Uygulanamaz
iText 2975ms

Senaryo 2: Tam medya web sitesi – ESPN.com

Bu test için, sayfada çok fazla CSS, resim ve JavaScript bulunan bir spor web sitesi ESPN.com'u kullanıyoruz. Basit test için Aspose çalışmadığı için bundan sonrası için çağırıyoruz. Son demoda kullandığımız aynı kodu kullanarak bu yakalamaları oluşturacağız, sadece web sitesi adresini değiştireceğiz.

Referans olarak, bu test sırasında CNN'in görünümü aşağıdaki gibidir:

Ürün Comparisons with IronPDF, Figure 20: Syncfusion Rendering of the Static Site

Şekil 20 - Tarayıcıda ESPN.com'un tam işlemesi

Ekranın üst kısmındaki puanları ve ekrandaki oyunun durumunu raporunu JavaScript tarafından yerleştirilmiştir, tüm konum ve renkler CSS3 ile işlenmiştir.

IronPDF

IronPDF, dinamik içeriği yükleyip sadık bir şekilde çoğaltabilmiştir, ancak içerik unsurları ayrı segmentlere ayrılmış ve döşeli olarak mobil cihaz için oluşturulmuş gibi görünmektedir.

Ürün Comparisons with IronPDF, Figure 21: IronPDF Rendering of ESPN

Şekil 21 – IronPDF İşlemesi ESPN

Syncfusion

Syncfusion, içerikleri dikey olarak döşeyerek benzer bir 'mobil tarzı' çizim gerçekleştirdi. Ancak, ESPN sitesi tarafından dinamik olarak yüklenen birkaç resmi kaybettik ve bazı yazı tipi formatlaması da kaybolmuştur:

Ürün Comparisons with IronPDF, Figure 22: Syncfusion Rendering of ESPN

Şekil 22 - ESPN'nin Syncfusion Renderı

iText

Bu testte, iText çalışmayı reddetti ve sayfanın işlenmesine girişimde bulunmayı önleyen bir NullReferenceException attı.

Tablo 4 – Karmaşık Site için HTML'den PDF'ye Performans Karşılaştırması
Kullanılan Araç Milisaniye cinsinden hız (düşük daha iyidir)
IronPDF 835ms
Syncfusion 1799ms
Aspose Uygulanamaz
iText 2975ms

Forma Dayalı Web Sitesi

Son test, bir web sitesine dayalı form giriş alanları içeren bir PDF oluşturmaktır. Yazdığım basit bülten kaydı formu, GitHub deposunda mevcuttur ve Firefox'ta Bootstrap 5 ile aşağıdaki gibi işlenir:

Ürün Comparisons with IronPDF, Figure 23: Form Website in Firefox

Şekil 23 – Firefox'ta Form Web Sitesi

Not: Durum bir açılır kutu, Telefon alanı bir telefon alanı, Email bir e-posta alanı ve Ayakkabı Numarası bir numara alanıdır.

IronPDF

Iron gerçekten bu testte parlar, sağ üst köşede hamburger menü düğmesi ile kanıtlandığı gibi, hızlı bir şekilde mobil dostu bir yerleşimle işlenir. Test versiyonunda sayfaya yayılan filigranlar baş belası ama tam lisanslı versiyonda kaldırılır.

Tüm metin kutusu alanları, sonundaki radyo düğmeleri ve onay kutusu hariç etkileşim kurabileceğim PDF form alanları olarak işlenmiştir. Metin kutularında, tarayıcıda olduğu gibi, belirli bir doğrulama veya içerik uygulanması yoktur.

Ürün Comparisons with IronPDF, Figure 24: IronPDF Rendering of the Form

Şekil 24 – Form'un IronPDF İşlemesi

Syncfusion

Syncfusion, masaüstü sürümünü tam şekliyle render etti çünkü hamburger menü düğmesi mevcut değildir. İşlenmiş form elemanları kareler, düğmeler ve ekran üzerinde küçük kutular gibi görünse de, hiç biri standart PDF veri girişi alanı değil. Bağlantılar başlık ve alt bilgiler savaçıgarasında, filigran tarafından engellemektedir, ancak tıklanabilir.

Form Site Rendered by Syncfusion, Figure 25: Form Site Rendered by Syncfusion

Şekil 25 - Syncfusion tarafından render edilen Form Sitesi

iText

İçerik işleme konusunda üç çerçeve arasında en hızlısı iText oldu. Ancak, bu hızın bir bedeli vardı. İşlemeleri, tıklandığında gezinmiş bağlantı etiketleri sağladı, ancak orijinal web sitesine ulaşamadı. Tüm bağlam explorer'dan kaybedildi ve tüm form alanları normal kutular olarak işlendi.

Form Site Rendered by Syncfusion, Figure 26: Form Site Rendered by iText

Şekil 26 – iText İşlenen Form sitesi

Kullanılan Araç Milisaniye cinsinden hız (düşük daha iyidir)
IronPDF 835ms
Syncfusion 1799ms
Aspose Uygulanamaz
iText 2975ms

Teknik Destek

Bu çerçevelerin her biri ayrı destek kapasitelerine sahiptir ve sürüm yelpazesi. PDF standardının daha fazlasını destekleyecek geçerli, geliştirilmekte olan ve büyüyen bir çerçeve için çevrimiçi destek mevcut ve düzenli sürüm programları görmek isteriz.

IronPDF

NuGet web sitesinden IronPDF'nin 2-4 haftada bir sürüm yayınladığı anlaşılıyor. Canlı sohbet ve e-posta destek seçenekleri mevcuttur. Destek ve diğer IronPDF topluluğu üyeleriyle sohbet etmek için çevrimiçi bir forum veya bir Discord / Slack sunucusu görmek güzel olurdu.

Syncfusion

NuGet'e göre, PDF kütüphanelerinin güncellenmesini haftada bir yayınlıyorlar. Syncfusion'un çevrimiçi forumları ve çevrimiçi destek bilet sistemleri var. Syncfusion'dan canlı sohbet destek seçenekleri bulunmamaktadır.

Aspose

NuGet'e göre, Aspose.PDF, ayda bir kez yayınlanır. Ücretsiz bir yardım masası, ücretli bir yardım masası ve ücretli danışmanlık sunuyorlar. Herhangi bir canlı veya topluluk etkileşimleri göremiyorum.

iText

NuGet yeterlerinden iText, her 2-3 ayda bir paketlerini güncelliyor. Tek destek olan jiresyen, çevrimdaki JIRA iş sorun kullanımları uygulayarak sağlanan bir "bizle iletişime geçin" formu ile sağlanıyor. Evliler veya kurulmuş forumlar yoktur.

Son Skor Kartı

Bu belgenin her bölümünden, üçüne karşı diğer sıraladım ve çok sıralı olanlar dört olur.

Kategori IronPDF Aspose Syncfusion iText
Keşif 3 4 2 1
Edinim 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
Dokümantasyon 4 4 3 2
Web Siteleri İşleme 4 0 3 2
Destek 3 4 2 1
Toplam (daha yüksek daha iyidir) 33 21 23 15

Notlar:

Keşif sırasında Syncfusion son oldu çünkü GitHub üzerinde net bir örnek kütüphanesinin eksikliği ve ürünü bulma yeteneğini arama motorunda bulma GitHub üzerinde bulmaya öncelik verdim.

  • Alım, tek bir düğme ile IronPDF'den hemen bir indirme sayfasına yönlendirilerek açıktı. Diğerleri, ihtiyaç duyduğunuz kütüphaneyi bulmak için çeşitli seviyelerde kayıt ve işlem gerektiriyordu. iText, en kafa karıştırıcı işlem ve sonunda çok fazla seçeneğe sahipti.
  • Lisanslama, Syncfusion için çok netken, Aspose ve IronPDF çeşitli sınırlamalara sahipti. Aspose için seçimlerin fazlalığı onu üçüncü sıraya koyarken, lisansınızı hesaplamak için bir araca ihtiyaç duyduğu için kafa karıştırıcı açık kaynak / ticari seçenekler iText'i son sıraya yerleştirdi.
  • Uyumluluk, web sitelerindeki iddialar nedeniyle biraz kafa karıştırıcı. IronPDF, çeşitli bulutlarda çalışabileceğine dair iddialar sunarken, diğer araçlar böyle bir iddiada bulunmuyor. Bu araçların bu ortamlar içinde çalışabileceğini belirlemek için test sürecinde daha fazla araştırma gereklidir.
  • Başlangıç Rehberi, IronPDF'nin kodlarının hiçbir değişiklik yapılmadan doğrudan çalışması nedeniyle birinci sırada yer aldı. iText, bazı ufak güncellemeler gerektiriyordu ve Aspose hiç çalışmadı, örneği tamamen yeniden yazmak zorunda kaldım.
  • IronPDF tarafından sağlanan API yapısı açık olup, geliştiricilere 'bana varsayılanları ver ve gerisini sen hallet' yaklaşımıyla çok verimli çalışma imkanı sunar. Syncfusion benzer bir yaklaşım sağlar ancak açıklayıcı hale gelmeye başlar. Aspose ve iText, API'lerinde oldukça sözel olup, iyi bir dokümantasyonun eksikliği iText'i benim değerlendirmelerimde en alt sıraya itti.
  • Belgeleme skorları, IronPDF ve Aspose'un benzer özelliklere sahip olmaları nedeniyle en iyi deneyim için birbirlerine denk olduğu, Syncfusion ve iText'in ise örnekler veya API belgeleri eksik olduğu olarak işaretlenmiştir. Syncfusion, belgelerindeki ayrıntılı içerikle hafif bir avantaj sağlar.
  • Render web siteleri testi, iText'in en hızlı olduğunu, ancak kendisine geçirilen sitenin görünümünü tekrar edemediğini buldu. IronPDF, interaktif form alanları ile birlikte tam CSS ve JavaScript doğruluğu sağlarken, Syncfusion JavaScript renderı, bazı CSS yetenekleri ancak interaktif form alanları sunamamıştır.

Lütfen dikkate alınAspose, iText ve Syncfusion tescilli markalarıdır. Bu site Aspose, iText veya Syncfusion'dan bağımsızdır, desteklenmez ya da sponsorlukla finanse edilmez. Tüm ürün adları, logolar ve markalar, ilgili sahiplerinin mülkiyetindedir. Karşılaştırmalar, yalnızca bilgilendirme amaçlı sağlanmıştır ve yazım sırasında halka açık bilgiler üzerine dayanmaktadır.

Sıkça Sorulan Sorular

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

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.

IronPDF kullanmanın bazı önemli faydaları nelerdir?

IronPDF, NuGet üzerinden kolay bir kurulum, sezgisel bir API, hızlı HTML'den PDF'e dönüştürme hızları ve iyi organize edilmiş belgeler sunar. Ayrıca net lisanslama seçenekleri ve .NET ortamları ile güçlü uyumluluk sağlar.

IronPDF'in belgeleri geliştirici deneyimini nasıl artırır?

IronPDF, geliştiricilerin ihtiyaç duydukları bilgileri kolayca bulmalarını ve çözümleri verimli bir şekilde uygulamalarını sağlayan, arama yapılabilir API ve örneklerle iyi organize edilmiş belgeler sağlar.

SyncFusion'un PDF kütüphanesi ile ilgili zorluklar nelerdir?

SyncFusion'un PDF kütüphanesi, hesap oluşturma ve takip iletişimlerini içeren zahmetli bir ilk kurulum gerektirir ve bazı kullanıcılar bunu gereksiz bulabilir. Ayrıca, IronPDF'ye kıyasla alt optimum bir işleme performansı vardır.

IronPDF, dönüşüm sırasında CSS ve JavaScript'i nasıl işler?

IronPDF, HTML'den PDF'e dönüştürme sırasında CSS ve JavaScript işleme konusunda aslına sadakati muhafaza etmede üstündür, bu da çıktının orijinal içeriği yakından yansıtmasını sağlar.

IronPDF'i, C#.NET ortamlarındaki geliştiricilerin tercih etmesinin sebepleri nelerdir?

IronPDF, kolayca edinilmesi, net lisanslaması, sezgisel API'si, hızlı dönüştürme hızları ve kapsamlı belgeleri ile tercih edilir. Gelişmiş özellikleriyle üstün bir geliştirici deneyimi sunar ve C#.NET ortamlarında güvenilir PDF çözümleri için güvenilirdir.

Makalede, Aspose PDF kütüphanesi ile ilgili yaygın bir sorun nedir?

Aspose PDF kütüphanesi, karmaşık ve kafa karıştırıcı lisanslama modeli ve işlevsel olmayan HTML dönüştürme nedeniyle eleştiriliyor, bu da kullanıcılar için gezinmeyi ve etkili bir şekilde uygulamayı zorlaştırabiliyor.

İText karmaşık web sayfalarıyla nasıl performans gösterir?

iText, statik içerik render ettiğinde hızı ile dikkat çeker; ancak karmaşık web sayfaları söz konusu olduğunda zorluk yaşar ve geliştiricilere karmaşık HTML yapılarıyla çalışırken sınırlı destek sunar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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