En İyi C# PDF Kütüphanesini Seçmek İçin Nihai Kılavuz
Yalnızca teklif ile kurumsal satın alma ile hizmet-fiyatı kalıcı fiyatın karşısında: Foxit PDF SDK for .NET ve Iron Suite bu çizginin zıt taraflarında. Foxit, geliştirici SDK'sını yalnızca teklif ile satılır, USD fiyatlandırması yayınlanmaz ve modüler eklenti yapısı, OCR, Dönüşüm, Karartma ve Karşılaştırmanın her biri, çekirdek üzerine etkinleştirilen ayrı ayrı lisanslanmış satır öğeleridir. Iron Suite, tüm on Iron ürününü tek bir lisans altında kapsayan, lisanslı koltuklar için telif ücretsiz dağıtım ve SaaS veya OEM senaryoları için ayrı bir Yeniden Dağıtım Eklentisi ile birlikte geliştirici başına $2,998 yayınlanmış süresiz bir fiyatla gönderilir.
Bu makale, satın alma odaklı bir kararın aslında neye dayandığını anlatıyor: her suite'in nasıl fiyatlandırıldığı, lisansın aslında neleri kapsadığı ve hangi eklentilerin ayrı bir pazarlık gerektirdiği. Yeteneğe göre yetenek geliştirme detayları, bunu entegre eden mühendisler için aşağıda yer almaktadır.
Kısaca Karşılaştırma
| Boyut | Foxit PDF SDK | Iron Suite |
|---|---|---|
| Fiyatlandırma Konumlandırma | Yalnızca geliştirici SDK'sı için teklif alın PDF Compressor sunucu ürünü ~$375/yıl için 12.000 sayfa | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom). Tüm 10 ürünün 2'si fiyatına, %75 tasarruf |
| Lisans modeli | Ticari teklif bazlı, geliştirici başına + dağıtım başına telif; modular add-on licensing | Süresiz geliştirici başına; telif ücretsiz temel + SaaS/OEM için Yeniden Dağıtım Eklentisi |
| Paket içerisindeki Bileşenler | Çekirdek PDF SDK + Dönüştürme, OCR, Kırpma, Karşılaştırma eklentileri; PDF Compressor ayrı satılır | 10 ürün (PDF, Word, Excel, PPT, OCR, Barcode, QR, Yazdır, ZIP, WebScraper) |
| Biçim/yetenek kapsama alanı | PDF odaklı Ofis, Dönüştürme eklentisi aracılığıyla yönetilir; yerel Word/Excel/PPT düzenlemesi yok, barkod/QR yok, web kazıma yok | PDF + doğal Word + Excel + PPT + OCR + Barcode + QR + Yazdır + ZIP + Web kazıma |
| Çapraz platform / bulut | Windows birincil; Linux/macOS Core SDK üzerinden; iOS/Android/MAUI/Web ayrı SDK aileleri olarak | Windows, Linux, macOS, Docker, Azure, AWS Lambda |
| .NET çalışma zamanı desteği | .NET Framework 4.0, .NET Core 2.1, .NET 6.0; .NET 8+ Core SDK sürümü | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Hedef pazar | Yerel motor kapasitesine ihtiyaç duyan Enterprise/ISV PDF yığınları | .NET geliştiricileri ve bağımsız yazılım satıcıları, tek bir bağımsız belge + tanıma paketi isteyen |
| Satıcı | Foxit Software Inc. | Iron Software |
Foxit PDF SDK, yalnızca teklifli ticari satın alma şeklindedir ve geliştirici başına koltuklar artı dağıtım başına telif hakkı artı ayrı lisanslanan eklentiler (Dönüştürme, OCR, Kısıtlama, Karşılaştırma) olarak yapılandırılmıştır.Iron SuiteLite, tam on ürün paketini oluşturan geliştirici başına $2,998, lisanslı koltuklar için süresiz ve telif ücretsizdir. Foxit'in PDF spesifikasyon örtüsünün derinliği ve uzun ISV/OEM geçmişinin, daha geniş bir format ve tanıma yüzeyini kapsayan düz bir yayınlanmış fiyatına karşı, teklif ve ek satın alma yolu seçimini haklı çıkarıp çıkarmadığına karar verilecektir.
Fiyatlandırma ve Lisanslama
Foxit PDF SDK, teklif bazlı bir ticari model kullanır. Geliştirici SDK'sının yayımlanmış bir USD fiyat seviyesi yoktur; Foxit'in kendi bilgi tabanı, fiyatlandırmanın satışlar aracılığıyla müzakere edildiğini, modelin genellikle geliştirici başına koltuk ücreti artı dağıtım veya çalışma zamanına göre bir telif ücreti olarak yapılandırıldığını doğrular. Modüler eklenti yapısı, OCR, Dönüştürme, Bulanıklaştırma ve Karşılaştırma gibi her birinin temel SDK'ya dahil edilmek yerine ayrı ayrı lisanslanan kalemler olduğu anlamına gelir. Geliştirici SDK'sından ayrı olarak satılan bitişik sunucu ürünü PDF Compressor, 12.000 sayfa işleme için yılda yaklaşık 375 $'dan başlamaktadır. Geliştirici seviyesi fiyatlandırmasının kesinliği "satış ekibi ile iletişime geçin" ifadesinin ötesinde doğrulanmamıştır.
Iron Suite, tüm on bileşeni tek bir satın alma ile paketleyerek geliştirici başına süresiz bir fiyatla $2,998 olarak satılır. "Tüm 10 ürünü 2 ürün fiyatına alın, %75 tasarruf edin" şeklindeki pazarlama pozisyonu, Iron'ın bireysel ürünlerini ayrı ayrı satın almak yerine paket indirimi yansıtır. Lisansın temel versiyonu, lisanslı koltuklar için telif ücretsizdir; SaaS, OEM ve temel lisansın ötesindeki dağıtım-yeniden dağıtım senaryoları, ayrı bir Yeniden Dağıtım Eklentisi ile kapsanır.
Foxit'in satın alma yapısı katmanlıdır: bir geliştirici koltuğu başına ücret artı dağıtım başına telif ücreti artı OCR, Dönüştürme, Redaksiyon ve Karşılaştırma için ayrı lisanslı eklenti etkinleştirmeleri, hepsi bir satış görüşmesiyle elde edilir.Iron Suitesatın alımı, yayınlanmış USD fiyatı üzerinden, her lisans seviyesi için kendinize hizmet şekliyle, süresiz olarak gerçekleştirilir. SaaS ve OEM yeniden dağıtımı için baz lisans haricinde yalnızca Yeniden Dağıtım Eklentisi ayrı fiyatlandırılır.
Foxit PDF SDKfor .NET Nedir
Foxit PDF SDK for .NET, .NET uygulamalarına PDF özellikleri gömmek için Foxit Software'in geliştirici araç setidir. Temel SDK, NuGet üzerinde Foxit.SDK.Dotnet olarak gönderilir; Versiyon 11.1.0.1 (Nisan 2026), .NET Framework 4.0, .NET Core 2.1 ve .NET 6.0 hedefler, .NET 8+ ise .NET Core SDK sürümü ile kapsanmaktadır. Ürün, Adobe PDF Library ve Apryse (önceden PDFTron) ile kurumsal ve ISV PDF iş yükleri için konumlandırılmaktadır; geliştirici ergonomisi veya paket genişliği yerine yerel motorun ham verimliliği ve PDF spesifikasyon kapsama derinliği üzerinde rekabet eder.
SDK modülerdir: çekirdek, görüntüleme, render etme, düzenleme, not ekleme, imzalama ve formlar gibi işlevleri yönetirken, özel yetenekler ayrı etkinlestirilen eklentiler olarak lisanslanır.
Paketlenmiş bileşenler ve eklentiler:
- Temel PDF SDK: görüntüleme, render, düzenleme, not ekleme, imzalama, formları doldurma
- Dönüşüm eklentisi: Office (Word, Excel, PowerPoint) ↔ PDF
- OCR eklentisi: raster PDF'lerden ve görüntülerden metin tanıma
- Redaction eklentisi: üretim seviyesinde metin/alan kaldırma Eklentiyi Kıyasla: yapısal ve görsel PDF karşılaştırması
- PDF Kompresör: ayrı bir sunucu ürünü (SDK'dan ayrı satılır)
Iron SuiteNedir
Iron Suite, merkezi IronPDF olan, Iron Software'ın on üründen oluşan .NET paketidir. Birincil gereksinimi PDF oluşturma, imzalama, düzeltme veya rasterizasyon olan herhangi bir ekip, IronPDF ile başlar ve aynı lisans altında paketin geri kalanını devralır. Beş seviye (Lite, Plus, Professional, Unlimited, Enterprise) düzeyinde tek bir süresiz geliştirici başına lisans olarak $2,998'dan satılır. Lisanslı koltuklar için telif ücretsiz; SaaS ve OEM yeniden dağıtımı, ayrı bir Yeniden Dağıtım Eklentisi ile kapsam altına alınmıştır.
PDF-odaklı bir iş akışına göre gruplanmış on bileşen:
- IronPDF (PDF çapası): Dahili Chromium ile HTML'den PDF'e ve URL'den PDF'e dönüştürme; yerleşik birleştirme ve bölme
PdfDocument.Mergeile; regex ile gerçek metin gizlemeRedactTextOnAllPages; PKCS#12, HSM (PKCS#11), TSA damgası ve eIDAS ve ESIGN ile uyumlu çok taraflı imzalama; AES şifreleme ve ayrıntılı izinler; PDF/A-1 ile PDF/A-4 (4E/4F dahil); PDF/UA-1 ve PDF/UA-2; AcroForm doldurma ve düzleştirme; tam font yönetimi (özel gömme, web-font ve TrueType Collection desteği); DPI kontrolü ile PNG/JPEG/TIFF'eRasterizeToImageFiles; Hızlı Web Görüntüleme içinCompressAndSaveAsveSaveAsLinearized; metin çıkarma - Office: IronWord (paragraf/metin çalıştırma obje grafiği ile DOCX), IronXL (formül yeniden hesaplama ile XLSX), IronPPT (PPTX oluşturma).
- Tanıma: IronOCR (Tesseract 5, 125+ dil, el yazısı ~%90 İngilizce), IronBarcode (30+ semboloji), IronQR (elbise işlemesi
ReadPdfsile ML güdümlü okuma). - Utility: IronPrint (sessiz ve diyalog baskısı), IronZIP (ZIP/TAR/GZIP/BZIP2 ile AES), IronWebScraper (işlem içi kazıma).
Yetenek Karşılaştırması
PDF İşleme
PDF renderleme (mevcut bir PDF belgesini piksellere çevirerek görüntüleme, küçük resim oluşturma veya görüntü tabanlı işleme için downstream kullanımı), Foxit'in en önemli yeteneklerinden biridir. Foxit'in yerel motoru, sayfaları çoklu iş parçacığı ile doğrudan bitmap'lere tarayıcı motoru gibi harici bir bağımlılık olmadan işler.
//Foxit PDF SDK— render existing PDF to bitmap
using foxit;
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
int width = (int)page.GetWidth();
int height = (int)page.GetHeight();
Matrix2D matrix = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation());
Bitmap bitmap = new Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0);
bitmap.FillRect(0xFFFFFFFF, null);
Renderer renderer = new Renderer(bitmap, false);
renderer.StartRender(page, matrix, null);
Library.Release();//Foxit PDF SDK— render existing PDF to bitmap
using foxit;
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
int width = (int)page.GetWidth();
int height = (int)page.GetHeight();
Matrix2D matrix = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation());
Bitmap bitmap = new Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0);
bitmap.FillRect(0xFFFFFFFF, null);
Renderer renderer = new Renderer(bitmap, false);
renderer.StartRender(page, matrix, null);
Library.Release();Imports foxit
Imports foxit.common
Imports foxit.common.fxcrt
Imports foxit.pdf
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim page As PDFPage = doc.GetPage(0)
page.StartParse(CInt(PDFPage.ParseFlags.e_ParsePageNormal), Nothing, False)
Dim width As Integer = CInt(page.GetWidth())
Dim height As Integer = CInt(page.GetHeight())
Dim matrix As Matrix2D = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation())
Dim bitmap As New Bitmap(width, height, Bitmap.DIBFormat.e_DIBArgb, IntPtr.Zero, 0)
bitmap.FillRect(&HFFFFFFFF, Nothing)
Dim renderer As New Renderer(bitmap, False)
renderer.StartRender(page, matrix, Nothing)
End Using
Library.Release()//Iron Suite— IronPDF (HTML-to-PDF generation as the primary path)
using IronPdf;
var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");//Iron Suite— IronPDF (HTML-to-PDF generation as the primary path)
using IronPdf;
var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>"
Using pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("invoice.pdf")
End UsingFoxit'in API yüzeyi, doğal C++ kökenlerini yansıtır: açık Library.Initialize / Library.Release, manuel matris yapımı, bitmap tahsisi ve çok aşamalı işleme çağrısı. IronPDF'nin yolu tersine çevrilmiştir; HTML/CSS'ten demetlenmiş Chromium motoru aracılığıyla PDF oluşturun, ardından ortaya çıkan belge üzerinde işlem yapın. Mevcut PDF'lerin ölçekle sadık görüntülenmesi, Foxit'in doğal motorunun amaçlandığı durumdur — IronPDF, yerel Chromium hattı yoluyla web tabanlı girdilerden yeni PDF'ler üreterek farklı bir mekanizma kullanır. IronPDF'nin yerleşik Chromium'u, ayrı bir Chromium yükleme hattı olmadan ve çalışma zamanında BrowserFetcher indirimi getirmeden, tam Chrome tarayıcıyı içeren tek bir NuGet paketi (IronPdf.Linux yaklaşık 280 MB) ile gönderilir, bu da Linux konteyner ve AWS Lambda dağıtımlarında ana makinede Chromium'la veya Puppeteer/Playwright runtime indirmeleri ile başa çıkmaktan daha operasyonel olarak basittir.
PDF Düzenleme (Sayfa Manipülasyonu)
PDF iş akışında sayfa ekleme, kaldırma ve yeniden sıralama, çeşitli kaynaklardan raporlar oluşturma, yayın öncesi taslak sayfaları kaldırma veya mevcut bir belgeye kapak sayfaları ekleme gibi rutin bir işlemdir.
//Foxit PDF SDK— insert / remove pages
using foxit.common;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage inserted = doc.InsertPage(1, 612f, 792f);
int lastIndex = doc.GetPageCount() - 1;
doc.RemovePage(lastIndex);
doc.SaveAs("edited.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
Library.Release();//Foxit PDF SDK— insert / remove pages
using foxit.common;
using foxit.pdf;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage inserted = doc.InsertPage(1, 612f, 792f);
int lastIndex = doc.GetPageCount() - 1;
doc.RemovePage(lastIndex);
doc.SaveAs("edited.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
Library.Release();Imports foxit.common
Imports foxit.pdf
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim inserted As PDFPage = doc.InsertPage(1, 612.0F, 792.0F)
Dim lastIndex As Integer = doc.GetPageCount() - 1
doc.RemovePage(lastIndex)
doc.SaveAs("edited.pdf", CInt(PDFDoc.SaveFlags.e_SaveFlagNormal))
End Using
Library.Release()// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}Imports IronPdf
Imports System.Collections.Generic
Module Program
Sub Main()
' PdfDocument.Merge accepts an array or params list of PdfDocument objects.
' Order is preserved, and metadata, bookmarks, and annotations are retained.
Dim inputs As String() = {"invoice.pdf", "terms.pdf", "appendix.pdf"}
Dim parts As New List(Of PdfDocument)()
For Each path As String In inputs
parts.Add(PdfDocument.FromFile(path))
Next
Dim merged As PdfDocument = PdfDocument.Merge(parts.ToArray())
merged.SaveAs("contract-package.pdf")
End Sub
End ModuleIronPDF, birleşik PdfDocument nesne modeli aracılığıyla eşdeğer sayfa düzeyinde işlemler sunar: PdfDocument.FromFile(...) ile yükleme, PdfDocument.Merge(...) kullanarak derleme, sayfa aralığı kopyalama ve kaldırma ile SaveAs(...). Düzenlemeler, PDF nesne modelini doğrudan etkiler; HTML yuvarlama işlemi yalnızca HTML'den PDF oluşturulurken gerçekleşir, manipülasyon sırasında değil. Kontrast yapısaldır: Foxit'in işlem başına API'si, yerel motor tesisatını (açıkça Başlat/Sonlandır, kaydetme bayrağı sabit listeleri) ortaya çıkarır; IronPDF, using üzerinden gizli yaşam döngüsü yönetimi ile tek bir yönetilen nesne modeli altında oluşturma ve düzenlemeyi birleştirir.
Office'den PDF'ye Dönüşüm
Sunucuya Microsoft Office kurulumu olmadan Word, Excel ve PowerPoint belgelerini PDF'ye dönüştürmek, sık karşılaşılan bir sunucu tarafı gereksinimidir. Foxit, bunu ayrı lisanslı bir Dönüştürme eklentisi ile yönetiyor.
//Foxit PDF SDK— Conversion add-on (Word → PDF)
using foxit.common;
using foxit.addon.conversion;
Library.Initialize(sn, key);
using var settings = new Word2PDFSettingData();
Convert.FromWord("input.docx", string.Empty, "output.pdf", settings);
Library.Release();//Foxit PDF SDK— Conversion add-on (Word → PDF)
using foxit.common;
using foxit.addon.conversion;
Library.Initialize(sn, key);
using var settings = new Word2PDFSettingData();
Convert.FromWord("input.docx", string.Empty, "output.pdf", settings);
Library.Release();Imports foxit.common
Imports foxit.addon.conversion
Library.Initialize(sn, key)
Using settings As New Word2PDFSettingData()
Convert.FromWord("input.docx", String.Empty, "output.pdf", settings)
End Using
Library.Release()Iron Suite, tek bir özel DOCX'ten PDF'e dönüştürme API'si sunmaz; Aynı sonuç, IronPDF'nin HTML'den PDF'ye yolu aracılığıyla kaynak içeriği doğrudan sunarak ya da IronWord (herhangi bir DOCX düzenlemesi için) ile IronPDF'yi (PDF oluşturma için) bir araya getirerek elde edilir. Ofis kaynaklı belge dönüştürme, Foxit'in Conversion eklentisinin satıldığı birincil iş akışıdır, oysa Iron Suite, ayrı bir eklenti lisansı koltuk ücretine eklenmeden aynı sonucu elde etmek için IronWord ile IronPDF'yi bir araya getirir (veya kaynak içeriği IronPDF'nin HTML'den PDF'ye yolu üzerinden besler).
OCR
OCR, taranmış PDF'lerden ve raster görüntülerden makine tarafından okunabilir metin çıkarma işlemi, ekiplerin PDF SDK'sına saf oluşturmanın ötesinde ulaşmasının en yaygın nedenlerinden biridir.
//Foxit PDF SDK— OCR add-on
using foxit.common;
using foxit.addon.ocr;
Library.Initialize(sn, key);
if (OCREngine.Initialize("./ocr_resource") != ErrorCode.e_ErrSuccess) return;
OCREngine.SetLanguages("English");
// Configure OCRCallback to consume recognized content...
OCREngine.Release();
Library.Release();//Foxit PDF SDK— OCR add-on
using foxit.common;
using foxit.addon.ocr;
Library.Initialize(sn, key);
if (OCREngine.Initialize("./ocr_resource") != ErrorCode.e_ErrSuccess) return;
OCREngine.SetLanguages("English");
// Configure OCRCallback to consume recognized content...
OCREngine.Release();
Library.Release();Imports foxit.common
Imports foxit.addon.ocr
Library.Initialize(sn, key)
If OCREngine.Initialize("./ocr_resource") <> ErrorCode.e_ErrSuccess Then Return
OCREngine.SetLanguages("English")
' Configure OCRCallback to consume recognized content...
OCREngine.Release()
Library.Release()//Iron Suite— IronOCR
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-document.png");
input.Deskew();
input.DeNoise();
var result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}");
Console.WriteLine($"Extracted text: {result.Text}");//Iron Suite— IronOCR
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-document.png");
input.Deskew();
input.DeNoise();
var result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}");
Console.WriteLine($"Extracted text: {result.Text}");Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput("scanned-document.png")
input.Deskew()
input.DeNoise()
Dim result = ocr.Read(input)
Console.WriteLine($"Confidence: {result.Confidence}")
Console.WriteLine($"Extracted text: {result.Text}")
End UsingFoxit'in OCR motoru, ayrı ayrı dağıtılmış kaynak dosyaları ve OCR modülü için etkinleştirilmiş bir lisans anahtarı ile açıkça tanımlanmış bir yaşam döngüsü (Başlat → Dilleri Ayarla → geri çağırma tabanlı tüketim → Bırak) kullanır. IronOCR'un API'si, gömülü ön işleme yardımcıları (Deskew, DeNoise) ve tek bir Read çağrısı ile sonucu doğrudan sunar. Bu ödünleşim, daha geniş motor-ile-suite çerçevelendirmesini yansıtır: Foxit, OCR iş hattı üzerinde daha fazla kontrol sağlar; IronOCR, çalışan bir sonuca daha hızlı ulaşır.
Redaksiyon
PDF'lerden hassas içeriği kalıcı olarak kaldırmak yerine, geri alınabilir siyah kutuların üzerine bindirme yapan üretim sınıfı sansür, Foxit'in kurumsal sunumunda temel aldığı iş yüklerinden biridir. Metin çıkışı, adli kurtarma girişimlerine karşı dayanıklı olması gereken hukuk, sağlık ve hükümet iş akışlarında kullanılır.
//Foxit PDF SDK— Redaction add-on
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
using foxit.addon;
using foxit.pdf.annots;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
Redaction redaction = new Redaction(doc);
RectFArray rects = new RectFArray();
rects.Add(new RectF(100, 100, 300, 130));
Redact redact = redaction.MarkRedactAnnot(page, rects);
if (redaction.Apply())
{
doc.SaveAs("redacted.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
}
Library.Release();//Foxit PDF SDK— Redaction add-on
using foxit.common;
using foxit.common.fxcrt;
using foxit.pdf;
using foxit.addon;
using foxit.pdf.annots;
Library.Initialize(sn, key);
using PDFDoc doc = new PDFDoc("input.pdf");
doc.Load(null);
PDFPage page = doc.GetPage(0);
page.StartParse((int)PDFPage.ParseFlags.e_ParsePageNormal, null, false);
Redaction redaction = new Redaction(doc);
RectFArray rects = new RectFArray();
rects.Add(new RectF(100, 100, 300, 130));
Redact redact = redaction.MarkRedactAnnot(page, rects);
if (redaction.Apply())
{
doc.SaveAs("redacted.pdf", (int)PDFDoc.SaveFlags.e_SaveFlagNormal);
}
Library.Release();Imports foxit.common
Imports foxit.common.fxcrt
Imports foxit.pdf
Imports foxit.addon
Imports foxit.pdf.annots
Library.Initialize(sn, key)
Using doc As New PDFDoc("input.pdf")
doc.Load(Nothing)
Dim page As PDFPage = doc.GetPage(0)
page.StartParse(CInt(PDFPage.ParseFlags.e_ParsePageNormal), Nothing, False)
Dim redaction As New Redaction(doc)
Dim rects As New RectFArray()
rects.Add(New RectF(100, 100, 300, 130))
Dim redact As Redact = redaction.MarkRedactAnnot(page, rects)
If redaction.Apply() Then
doc.SaveAs("redacted.pdf", CInt(PDFDoc.SaveFlags.e_SaveFlagNormal))
End If
End Using
Library.Release()// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/redact-text/
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("employee-record.pdf");
// RedactTextOnAllPages performs true redaction:
// the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe");
pdf.RedactTextOnAllPages("123-45-6789");
pdf.RedactTextOnAllPages("EMP-44213");
pdf.SaveAs("employee-record-redacted.pdf");
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/redact-text/
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("employee-record.pdf");
// RedactTextOnAllPages performs true redaction:
// the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe");
pdf.RedactTextOnAllPages("123-45-6789");
pdf.RedactTextOnAllPages("EMP-44213");
pdf.SaveAs("employee-record-redacted.pdf");
}
}Imports IronPdf
Class Program
Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("employee-record.pdf")
' RedactTextOnAllPages performs true redaction:
' the text is removed from the PDF structure, not just covered visually.
pdf.RedactTextOnAllPages("Jane Doe")
pdf.RedactTextOnAllPages("123-45-6789")
pdf.RedactTextOnAllPages("EMP-44213")
pdf.SaveAs("employee-record-redacted.pdf")
End Sub
End ClassIronPDF, metin düzeyinde gizleme destekler RedactTextOnAllPages (regex deseni varyantları ve sayfa özellikli aşır yüklemelerle), eşleşen içeriği PDF akışından yalnızca görsel olarak kaplamaktan ziyade kaldırır. Foxit'in Redaction.MarkRedactAnnot, alan tabanlı gizleme avantajını korur: bilinen bir görsel bölgenin (imza blokları, başlık çubukları, gizlenen imgeler) aksine belirli bir dize yerine, bir sayfadaki RectF bölgesi işaretlenir ve redaction.Apply() ile uygulanır. Dize tabanlı ve alan tabanlı gizlemeyi aynı motor içinde birleştiren yasal keşif ve düzenlenmiş uyumluluk iş akışları için, Foxit'in Redaction.MarkRedactAnnot, bu kullanım durumu için konumlandırılmış API'dir — PII, tanımlayıcılar ve hesap numaralarının dizgi ile yönetilen gizlenmesi için, IronPDF'nin RedactTextOnAllPages daha doğrudan bir yoldur.
Tek Satıcı PDF + OCR + Barkod İş Akışları İçin NedenIron SuiteSeçilmeli?
Iron Suite'yi seçin, eğer .NET döküman iş yükünüz bir satıcı ilişkisinde PDF oluşturma, OCR, barkod okuma ve Office-format manipülasyonunu kapsıyorsa, kendi kendine hizmet imkanı sunan yayınlanmış fiyatlandırmasıyla. Foxit'in PDF konusundaki derinliği gerçektir; barkod okuma ve yazma ile PowerPoint oluşturma Foxit kataloğunun dışında yer almaktadır, ve her bir eklenti (Dönüştürme, OCR, Redaksiyon, Karşılaştırma) kendi lisans aktivasyonuna sahiptir.
Iron Suite'nin bu alıcı profili için yapısal avantajları:
Tek paketli satın alma: bir lisans altında on ürün; modüler ek etkinleştirme yok, OCR veya barkod için ayrı SKU'lar yok
- Yerel barkod, QR ve PPT: dahil; Foxit, bir barkod veya PowerPoint modülü sağlamaz.
- Kendi kendine satın alma: yayınlanmış USD fiyatları, süresiz lisanslar; Foxit, her geliştirici için bir teklif gerektirir Telif ücretsiz temel lisans: dağıtım başına çalışma zamanı telifi yok; Redistribution Eklentisi, SaaS/OEM için ayrı, öngörülebilir bir kalem olarak mevcuttur
- Kod-öncelikli DOCX/XLSX/PPTX: IronWord, IronXL, IronPPT; Office formatlarını doğrudan, bir Office-ten-PDF'e dönüşüm katmanı gerektirmeden işleyebilir
Iron Suite, Foxit PDF SDK'den Nasıl Farklıdır
- PDF çekirdeğine ek olarak ayrı lisanslanan Dönüştürme, OCR, Düzenleme ve Karşılaştırma ek modülleri: bu, barkod, QR, yazdırma ve kazıma ile tamamen kataloğun dışında duranFoxit PDF SDKbölümüdür. Iron Suite, PDF, Office, tanıma, yazdırma, ZIP ve kazıma alanlarını kapsayan 10 ürünlük bir pakettir ve tek bir lisans altında sunulmaktadır.
- Fiyatlandırma şeffaflığı. Iron Suite, web sitesinde USD kademelerini yayınlar; Foxit'in geliştirici SDK'sı ise yalnızca teklif bazlı olup, herkese açık bir fiyat kartı sunmaz.
- Lisans modeli.Iron Suitesüresizdir; Foxit, geliştirici başına ve dağıtım başına telif ücretiyle birlikte, her eklenti ayrı ayrı lisanslanır.
- API yüzeyi. Iron Suite, deyimsel .NET kullanır (
new ChromePdfRenderer().RenderHtmlAsPdf(...)); Foxit'in .NET bağlayıcıları, yerel tesisatı yüzeylendirir (Library.Initialize,StartParse, manuel matris ve bitmap tahsisi, açık Serbest Bırakma). - Foxit'in kurumsal teklifi, içinde ne var. Ham PDF spesifikasyon köşeleri (PDF/A doğrusalizasyon, gömülü yazı tipleri, ileri düzey AcroForm/XFA) ve alan tabanlı gizleme (
Redaction.MarkRedactAnnot) Foxit'in teklifinin demirlediği iş yükleridir, ayrıca birinci taraf Ofis dönüştürme eklentisi ve uzun bir ISV geçmişi ile birlikte gelir. IronPDF,PdfAVersionsnumaralandırması yoluyla tam PDF/A uygunluk ailesini destekler (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, artı ISO 19005-4:2020'ye göre PDF/A-4/4E/4F ailesi), baz paket içinde metin düzeyinde gizleme gönderir (RedactTextOnAllPagesile regex desteği) ve eksiksiz yazı tipi yönetimi sunar (Fonts.Add().Embed(), web-font desteğiWaitFor.AllFontsLoaded()ve TrueType Collection desteği ile), bu yüzden ne PDF/A ne de metin tabanlı gizleme ne de yazı tipi yönetimi yalnızca Foxit'e özel değildir. IronPDF ayrıca özel PDF/UA erişilebilirlik desteği gönderir,RenderHtmlAsPdfUA(html)ile tek bir çağrıda etiketli bir erişilebilir PDF üreterek (varsayılan PDF/UA-1, PDF/UA-2 de desteklenir), ve Section 508 ve WCAG 2.0 AA gereksinimlerini kutudan çıkar çıkmaz karşılayacak şekilde dokümante edilmiştir. - Çapraz platform yığın yapısı. Foxit, masaüstü, mobil (iOS/Android/MAUI) ve Web için tek bir satıcıdan ayrı SDK grupları sunar; Iron Suite, .NET sunucu, masaüstü ve bulut (farklı bir dağıtım şekli) üzerinde odaklanır.
Sonuç
Foxit veIron Suitefarklı sorulara cevap verir. Foxit, teklif odaklı, modüler bir yerel PDF motoru, uzun ISV/OEM geçmişi ve ayrıca OCR, dönüşüm ve alan tabanlı sansürleme için ek paketler isteyen bir tedarik için yanıt verir. Iron Suite, yayımlanan USD fiyatıyla PDF (yukarıda belirtilen standart seviyedeki yeteneklerle), Office, tanıma ve yan hizmetleri kapsayan tek bir süresiz paket isteyen satın alma taleplerine yanıt verir, telif ücretsiz dağıtım temel lisans altında yapılır. .NET ekipleri adına belge iş yükü PDF, barkod, Office ve OCR'a yayılıyorsa,Iron Suitepaketi $2,998 ile başlar ve ironsoftware.com/csharp/suite adresinden alınabilir.
[{i: (Foxit PDF SDK, ilgili sahibinin tescilli markasıdır. Bu site,Foxit Software Inc.ile bağlantılı, onaylanmış veya desteklenmiş değildir. Tüm ürün adları, logolar ve markalar ilgili sahiplerinin mülkiyetindedir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.)}]
