KARşıLAşTıRMA

Winnovative ve IronPDF Karşılaştırması: Teknik Kılavuz

Aspose.Total'ın üretim dağıtımı bir satın alma matrisi gibi görünür: Geliştirici Küçük İşletme'de 3.999 ABD Doları, OEM 11.997 ABD Doları, SDK 79.980 ABD Doları (50 ticari dağıtım kotası), ardından Site Küçük İşletme/OEM/SDK katmanları, artı sınırsız geliştirici için metrede Pay-As-You-Go'dan 1.999 ABD Doları/aylık. Her adım, 20'den fazla niş formatı kapsayan sistem entegratörleri ve ISV'ler için tasarlanmış, açıkça belirtilmiş yeniden dağıtım kotaları olan ayrı bir katmandır. Iron Suite, $2,998 ile birden fazla katmanlı SDK matrisine yerine tek bir Yeniden Dağıtım Eklentisiyle kapsanan SaaS, OEM ve dağıtılmış yeniden dağıtım ile lisanslı koltuklar için telif ücretsiz olarak, her bir geliştiriciye özel ebedi bir pakette onIron Softwareürünü gönderir.

Bu karşılaştırma, satın alma odaklı bir kararın gerçekte bağlı olduğu şeyden başlar: her bir paketin nasıl fiyatlandığı, lisansın nasıl yapılandırıldığı ve kutuda gerçekten ne olduğu. Yetenek detayı ve kod, gönderecek mühendisler için aşağıda verilmiştir.

Kısaca Karşılaştırma

BoyutAspose.Total for .NETIron Suite
Fiyatlandırma KonumlandırmaGeliştirici Küçük İşletme $3,999; OEM 11.997$; SDK 79.980$; metreli 1.999$/aydan başlayan Pay-As-You-GoLite $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 modeliSüresiz geliştirici başına + Site + OEM + SDK katmanları; metreli Pay-As-You-Go da mevcutSüresiz geliştirici başına; lisanslı kullanımlar için telif ücretsiz; Yeniden Dağıtım Eki aracılığıyla SaaS/OEM yeniden dağıtımı
Paket içerisindeki Bileşenler26+ kütüphane (Kelimeler, Hücreler, PDF, Slaytlar, E-posta, Görüntüleme, BarCode, OCR, CAD, 3D, GIS, Görevler, Diyagram, Not, Finans, Medikal, LLM, …)10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
Format / yetenek kapsamıPiyasadaki en geniş: Office, PDF, CAD, 3D, GIS, Visio, MS Project, OneNote, XBRL, DICOM, OMRİlk 10 yüksek hacimli format: PDF, Office, OCR, Barkod/QR, ZIP, Baskı, Web Kazıma
Çapraz platform / bulutWindows, Linux, macOS, Docker, Azure, AWSWindows, Linux, macOS, Docker, Azure, AWS Lambda
.NET çalışma zamanı desteği.NET Standard 2.0 + net8.0, covering .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9.NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Hedef pazarOrta pazar ve büyük kurumsal; ISV'ler ve 20+ format gereksinimi olan Sİ'lerBağımsız geliştiriciler, KOBİ, orta pazar .NET ekipleri, standart belge otomasyonunu entegre eden ISV'ler
SatıcıAspose Pty LtdIron Software

Başlık karşılaştırması nettir: Aspose, ham format genişliğinde kazanırken Iron Suite, paket basitliği ve ürün başına fiyat avantajıyla kazanır. CAD, 3D veya DICOM'a gerçekten ihtiyacı olan bir ekibin tek bir gerçekçi seçeneği vardır; PDF + Office + OCR + Barkod ihtiyacı olan bir ekip ise tipik birIron Suitealıcısıdır.

Fiyatlandırma ve Lisanslama

Aspose.Total, altı katmanlı süresiz bir matris ve bir metered Pay-As-You-Go seçeneği yayınlar: Geliştirici KOBİ $3.999, Geliştirici OEM $11.997, Geliştirici SDK $79.980, Site KOBİ $19.995, Site OEM $55.986, Site SDK $199.950 ve metered sınırsız geliştirici ile $1.999/aydan başlar. Her süresiz katman, bir yıl güncellemeler ve ücretsiz destek içerir; yenilemeler liste fiyatından yaklaşık %50 indirimlidir. SDK yeniden dağıtım katmanları dağıtım sayısı kotaları ile açıkça adlandırılmış ve fiyatlandırılmıştır (Geliştirici SDK katmanında 50 ticari dağıtım, Site SDK katmanında 250).

Iron Suite, beş seviye (Lite, Plus, Professional, Unlimited ve Enterprise) ile tek bir ebedi geliştirici başına lisans olarak satılır, $2,998 ile başlar. Pazarlama pozisyonu "2 fiyatına 10 ürün, %75 tasarruf" ve temel lisans, lisansılanmış oturma yerleri, konumlar veya projeler için telif ücretsizdir. Temel lisansın ötesinde SaaS, OEM ve dağıtılmış yeniden dağıtım, çok katmanlı SDK matrisi yerine tek, ayrı fiyatlandırılmış Yeniden Dağıtım Takviyesi kullanır.

Pratikteki fark: Aspose'un matrisi satın alma ekiplerine her tür dağıtım için bir katman sunar, ancak Site/SDK seviyelerinde pazarlık gerektirir. Iron Suite'nin düz süresiz modeli, geliştiricilere satışa ihtiyaç duymadan iç ve dış alıntı yapabilecekleri bir genel numara sunar.

Aspose.Total for .NETNedir

Aspose.Total for .NET,Aspose Pty Ltdtarafından yayımlanan ana pakettir. Aspose .NET kataloğunun tamamını (şu anda 26+ uzmanlaşmış kütüphane) tek bir lisans SKU'sunda bütünleştirir. Süit, orta pazar ve kurumsal ekipler, sistem entegratörleri ve Microsoft Office veya Adobe kurulmasına bağımlı olmadan pratikte herhangi bir iş dosyası formatını sunucu tarafında okuyacak, yazacak veya dönüştürecek ISV'ler için konumlandırılmıştır. Aspose, bağımsız kadanslarda bireysel kitaplık güncellemeleri yayınlar fakat bunları aynı Aspose.Total NuGet meta paketinde birleştirir ve süit hem süresiz geliştirici bazında satın alma hem de metered Pay-As-You-Go yöntemlerini destekler.

Paketlenmiş bileşenler ve yetenekler:

  • Office formats: Aspose.Words (DOCX), Aspose.Cells (XLSX), Aspose.Slides (PPTX), Aspose.Email (MSG/PST/MBOX)
  • PDF ve yapılandırılmış belgeler: Aspose.PDF, Aspose.HTML, Aspose.Page (XPS/EPS), Aspose.SVG
  • Görüntüleme ve tanıma: Aspose.Imaging, Aspose.OCR, Aspose.OMR, Aspose.BarCode
  • Niche/vertical formats: Aspose.CAD (DWG), Aspose.3D (glTF/FBX), Aspose.GIS (Shapefile), Aspose.Tasks (MS Project), Aspose.Diagram (Visio), Aspose.Note (OneNote), Aspose.Finance (XBRL), Aspose.Medical (DICOM)
  • Yeni eklemeler: Aspose.LLM, Aspose.TeX, Aspose.Drawing, Aspose.Font
  • Fiyatlandırma modelleri: Süresiz Geliştirici / Site / OEM / SDK katmanları artı metered Pay-As-You-Go

Iron SuiteNedir

Iron Suite for .NET, 10Iron Softwareürününün tamamını paketleyen Iron Software tarafından yayınlanan paket olup, "2 ürünü fiyatına tüm 10 ürünü satın al, %75 tasarruf et" olarak pazarlanır ve lisanslar $2,998 ile başlar. Süit, PDF'leri işlemek, Word ve Excel belgeleri manipüle etmek, OCR çalıştırmak, barkod oluşturmak ve okumak, web içeriğini kazımak gibi neredeyse her arka plan sistemde yer alan belge görevleri için tek bir, genel, kod-öncelikli araç seti isteyen .NET geliştiricileri ve ISV'ler için tasarlanmıştır. Aynı bileşenler, .NET Framework 4.6.2+'da ve modern .NET (6/7/8/9/10) üzerinde Windows, Linux, macOS, Docker, Azure ve AWS'de çalışır.

Paketlenmiş on ürün:

  • IronPDF: HTML'den PDF'ye dönüştürme, PDF düzenleme, imzalama, birleştirme
  • IronWord: DOCX oluşturma ve manipülasyonu
  • IronXL: Formül hesaplaması ile Excel okuma/yazma
  • IronPPT: PowerPoint oluşturma ve düzenleme
  • IronOCR: Görüntü ön işleme ile Tesseract tabanlı OCR
  • IronBarcode: 1D/2D barkod okuma ve yazma
  • IronQR: Özel QR kod kütüphanesi
  • IronPrint: Programlı baskı
  • IronZIP: ZIP arşivi oluşturma ve çıkarma
  • IronWebScraper: Web kazıma ve içerik çekme

Yetenek Karşılaştırması

Kelime İşleme

Kelime belgesi oluşturma ve DOCX'ten PDF'ye dönüştürme, .NET ekipleri için en yaygın arka uç görevlerinden biridir. Her iki süit de bu işlevi sunucuda bir Microsoft Word kurulumu gerektirmeden ele alır.

// Aspose.Words handles Word document creation, manipulation, and PDF rendering with no Office install.
// NuGet: Install-Package Aspose.Words
using Aspose.Words;
using Aspose.Words.Saving;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

        builder.Font.Size = 18;
        builder.Font.Bold = true;
        builder.Writeln("Quarterly Report");

        builder.Font.Size = 11;
        builder.Font.Bold = false;
        builder.Writeln("Generated from a .NET service with no Microsoft Word dependency.");

        PdfSaveOptions options = new PdfSaveOptions { Compliance = PdfCompliance.PdfA2u };
        doc.Save("report.pdf", options);
    }
}
// Aspose.Words handles Word document creation, manipulation, and PDF rendering with no Office install.
// NuGet: Install-Package Aspose.Words
using Aspose.Words;
using Aspose.Words.Saving;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

        builder.Font.Size = 18;
        builder.Font.Bold = true;
        builder.Writeln("Quarterly Report");

        builder.Font.Size = 11;
        builder.Font.Bold = false;
        builder.Writeln("Generated from a .NET service with no Microsoft Word dependency.");

        PdfSaveOptions options = new PdfSaveOptions { Compliance = PdfCompliance.PdfA2u };
        doc.Save("report.pdf", options);
    }
}
Imports Aspose.Words
Imports Aspose.Words.Saving

Class Program
    Shared Sub Main()
        Dim doc As New Document()
        Dim builder As New DocumentBuilder(doc)

        builder.Font.Size = 18
        builder.Font.Bold = True
        builder.Writeln("Quarterly Report")

        builder.Font.Size = 11
        builder.Font.Bold = False
        builder.Writeln("Generated from a .NET service with no Microsoft Word dependency.")

        Dim options As New PdfSaveOptions With {.Compliance = PdfCompliance.PdfA2u}
        doc.Save("report.pdf", options)
    End Sub
End Class
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronWord
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        var doc = new WordDocument();

        var heading = new Paragraph();
        heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
        doc.AddParagraph(heading);

        var body = new Paragraph();
        body.AddChild(new TextRun("Revenue grew 14% quarter-over-quarter."));
        doc.AddParagraph(body);

        doc.SaveAs("report.docx");
    }
}
// NuGet: Install-Package IronWord
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        var doc = new WordDocument();

        var heading = new Paragraph();
        heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
        doc.AddParagraph(heading);

        var body = new Paragraph();
        body.AddChild(new TextRun("Revenue grew 14% quarter-over-quarter."));
        doc.AddParagraph(body);

        doc.SaveAs("report.docx");
    }
}
Imports IronWord
Imports IronWord.Models

Module Program
    Sub Main()
        Dim doc As New WordDocument()

        Dim heading As New Paragraph()
        heading.AddChild(New TextRun("Quarterly Report — Q1 2026") With {.FontSize = 18, .Bold = True})
        doc.AddParagraph(heading)

        Dim body As New Paragraph()
        body.AddChild(New TextRun("Revenue grew 14% quarter-over-quarter."))
        doc.AddParagraph(body)

        doc.SaveAs("report.docx")
    End Sub
End Module
$vbLabelText   $csharpLabel

Aspose.Words, eski API tasarımından miras kalan bir DocumentBuilder işareti kullanır ve PDF/A uyumluluk seviyelerini doğrudan kaydetme seçeneklerinde sunar. IronWord, temel OOXML modeline daha yakın olan açık bir paragraf/metin-çalışma obje grafiği kullanır ve modern C#'da doğal bir şekilde okunur. Her ikisi de eşdeğer çıktılar üretir; IronWord örneği ~3 satır daha kısadır, ancak Aspose.Words, tek bir çağrıda daha fazla PDF-ihraç ayar yüzeyine sahiptir.

Excel İşleme

Excel manipülasyonu ve formül yeniden hesaplaması diğer yaygın Ofis iş yüküdür. Her iki süit de XLSX yazabilir, sunucu tarafında formüller hesaplayabilir ve PDF olarak ihraç edebilir.

// Aspose.Cells provides a full XLSX engine including formula calculation, charts, and PDF export.
using Aspose.Cells;

class Program
{
    static void Main()
    {
        Workbook book = new Workbook();
        Worksheet sheet = book.Worksheets[0];

        sheet.Cells["A1"].PutValue("Region");
        sheet.Cells["B1"].PutValue("Revenue");
        sheet.Cells["A2"].PutValue("EMEA");
        sheet.Cells["B2"].PutValue(120000);
        sheet.Cells["B4"].Formula = "=SUM(B2:B3)";
        book.CalculateFormula();

        book.Save("revenue.xlsx", SaveFormat.Xlsx);
        book.Save("revenue.pdf", SaveFormat.Pdf);
    }
}
// Aspose.Cells provides a full XLSX engine including formula calculation, charts, and PDF export.
using Aspose.Cells;

class Program
{
    static void Main()
    {
        Workbook book = new Workbook();
        Worksheet sheet = book.Worksheets[0];

        sheet.Cells["A1"].PutValue("Region");
        sheet.Cells["B1"].PutValue("Revenue");
        sheet.Cells["A2"].PutValue("EMEA");
        sheet.Cells["B2"].PutValue(120000);
        sheet.Cells["B4"].Formula = "=SUM(B2:B3)";
        book.CalculateFormula();

        book.Save("revenue.xlsx", SaveFormat.Xlsx);
        book.Save("revenue.pdf", SaveFormat.Pdf);
    }
}
Imports Aspose.Cells

Class Program
    Shared Sub Main()
        Dim book As New Workbook()
        Dim sheet As Worksheet = book.Worksheets(0)

        sheet.Cells("A1").PutValue("Region")
        sheet.Cells("B1").PutValue("Revenue")
        sheet.Cells("A2").PutValue("EMEA")
        sheet.Cells("B2").PutValue(120000)
        sheet.Cells("B4").Formula = "=SUM(B2:B3)"
        book.CalculateFormula()

        book.Save("revenue.xlsx", SaveFormat.Xlsx)
        book.Save("revenue.pdf", SaveFormat.Pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronXL.Excel
using IronXL;

class Program
{
    static void Main()
    {
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet sheet = workbook.CreateWorkSheet("Sales");

        sheet["A1"].Value = "Product";
        sheet["B1"].Value = "Units";
        sheet["A2"].Value = "Widget A";
        sheet["B2"].Value = 1024;
        sheet["A3"].Value = "Widget B";
        sheet["B3"].Value = 768;
        sheet["B4"].Formula = "=SUM(B2:B3)";

        workbook.EvaluateAll();
        workbook.SaveAs("sales.xlsx");
    }
}
// NuGet: Install-Package IronXL.Excel
using IronXL;

class Program
{
    static void Main()
    {
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet sheet = workbook.CreateWorkSheet("Sales");

        sheet["A1"].Value = "Product";
        sheet["B1"].Value = "Units";
        sheet["A2"].Value = "Widget A";
        sheet["B2"].Value = 1024;
        sheet["A3"].Value = "Widget B";
        sheet["B3"].Value = 768;
        sheet["B4"].Formula = "=SUM(B2:B3)";

        workbook.EvaluateAll();
        workbook.SaveAs("sales.xlsx");
    }
}
Imports IronXL

Module Program
    Sub Main()
        Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
        Dim sheet As WorkSheet = workbook.CreateWorkSheet("Sales")

        sheet("A1").Value = "Product"
        sheet("B1").Value = "Units"
        sheet("A2").Value = "Widget A"
        sheet("B2").Value = 1024
        sheet("A3").Value = "Widget B"
        sheet("B3").Value = 768
        sheet("B4").Formula = "=SUM(B2:B3)"

        workbook.EvaluateAll()
        workbook.SaveAs("sales.xlsx")
    End Sub
End Module
$vbLabelText   $csharpLabel

Aspose.Cells, daha derin bir formül ve grafik yüzeyi sunar (450+ yerleşik fonksiyon, koşullu formatlama ve PDF ihracı birinci sınıftır), bu da iş akışınızda karmaşık Excel otomasyonu bulunuyorsa daha güçlü bir seçim yapar. IronXL, çoğu .NET geliştiricisinin hemen okunabilir bulduğu indeks tabanlı bir API (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll()) ile günlük okuma/yazma/yeniden hesaplama kapsamını kapsar.

Barkod Oluşturma ve Okuma

Barkod iş yükleri Aspose'da tek bir kütüphane olarak ve Iron Suite'de iki özel ürün olarak sevk edilir: IronBarcode 1D/2D sembolojiler için ve IronQR özellikle QR kodları için. Aşağıdaki Aspose kod parçacığı oluşturmayı gösterir; IronBarcode kod parçacığı, daha talepkar bir yön olan okuma yolunu gösterir. Her iki kütüphane de yazma ve okuma işlemlerini her iki yönde de yönetir.

// Aspose.BarCode generates and recognizes 1D, 2D, and postal symbologies across the suite.
using Aspose.BarCode.Generation;

class Program
{
    static void Main()
    {
        BarcodeGenerator code128 = new BarcodeGenerator(EncodeTypes.Code128, "ORDER-44213");
        code128.Parameters.Resolution = 300;
        code128.Save("code128.png", BarCodeImageFormat.Png);

        BarcodeGenerator qr = new BarcodeGenerator(EncodeTypes.QR, "https://example.com/track/44213");
        qr.Save("qr.png", BarCodeImageFormat.Png);
    }
}
// Aspose.BarCode generates and recognizes 1D, 2D, and postal symbologies across the suite.
using Aspose.BarCode.Generation;

class Program
{
    static void Main()
    {
        BarcodeGenerator code128 = new BarcodeGenerator(EncodeTypes.Code128, "ORDER-44213");
        code128.Parameters.Resolution = 300;
        code128.Save("code128.png", BarCodeImageFormat.Png);

        BarcodeGenerator qr = new BarcodeGenerator(EncodeTypes.QR, "https://example.com/track/44213");
        qr.Save("qr.png", BarCodeImageFormat.Png);
    }
}
Imports Aspose.BarCode.Generation

Class Program
    Shared Sub Main()
        Dim code128 As New BarcodeGenerator(EncodeTypes.Code128, "ORDER-44213")
        code128.Parameters.Resolution = 300
        code128.Save("code128.png", BarCodeImageFormat.Png)

        Dim qr As New BarcodeGenerator(EncodeTypes.QR, "https://example.com/track/44213")
        qr.Save("qr.png", BarCodeImageFormat.Png)
    End Sub
End Class
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronBarcode
using IronBarCode;

class Program
{
    static void Main()
    {
        var results = BarcodeReader.Read("shipment-label.png");

        foreach (var barcode in results)
        {
            Console.WriteLine($"Value: {barcode.Value}");
            Console.WriteLine($"Format: {barcode.BarcodeType}");
        }
    }
}
// NuGet: Install-Package IronBarcode
using IronBarCode;

class Program
{
    static void Main()
    {
        var results = BarcodeReader.Read("shipment-label.png");

        foreach (var barcode in results)
        {
            Console.WriteLine($"Value: {barcode.Value}");
            Console.WriteLine($"Format: {barcode.BarcodeType}");
        }
    }
}
Imports IronBarCode

Class Program
    Shared Sub Main()
        Dim results = BarcodeReader.Read("shipment-label.png")

        For Each barcode In results
            Console.WriteLine($"Value: {barcode.Value}")
            Console.WriteLine($"Format: {barcode.BarcodeType}")
        Next
    End Sub
End Class
$vbLabelText   $csharpLabel

Aspose.BarCode, suite genelindeki tutarlı "seçeneklerle tek büyük sınıf" modelini yansıtan @@EncodeTypes ile parametrelendirilmiş tek bir jeneratör sınıfı kullanır. IronBarcode ve IronQR, yazma ve okuma işlemlerini modern .NET'lerinde daha doğal okunan ayrı giriş noktalarına (@@BarcodeWriter ve BarcodeReader) böler ve QR tarama iş akışlarına özel, optimize edilmiş bir yol sunar.

PDF Oluşturma ve Birleştirme

PDF, iki suite'nin tarz olarak en çok ayrıldığı yerdir. Aspose.PDF, sayfa obje grafiğinde ilkel-ilkel belgeler oluşturur; IronPDF, gerçek bir tarayıcı motoru kullanarak HTML'den dönüştürür.

// Aspose.PDF creates, edits, and merges PDF documents independent of Adobe.
using Aspose.Pdf;

class Program
{
    static void Main()
    {
        Document combined = new Document();
        foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
        {
            Document part = new Document(path);
            combined.Pages.Add(part.Pages);
        }
        combined.Save("merged.pdf");
    }
}
// Aspose.PDF creates, edits, and merges PDF documents independent of Adobe.
using Aspose.Pdf;

class Program
{
    static void Main()
    {
        Document combined = new Document();
        foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
        {
            Document part = new Document(path);
            combined.Pages.Add(part.Pages);
        }
        combined.Save("merged.pdf");
    }
}
Imports Aspose.Pdf

Class Program
    Shared Sub Main()
        Dim combined As New Document()
        For Each path As String In {"invoice.pdf", "terms.pdf", "appendix.pdf"}
            Dim part As New Document(path)
            combined.Pages.Add(part.Pages)
        Next
        combined.Save("merged.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel
// 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 Module
$vbLabelText   $csharpLabel

Aspose.PDF, ince ayarlanmış düzenlemeler (birleştirme, bölme, gizleme, sayfa ağacı manipülasyonu) için granüler düşük-seviyeli sayfa obje modeli sunar. IronPDF'in PdfDocument API'si, doğrudan PDF nesne modeli üzerinde aynı işlemleri kapsar (HTML dönüşümü yalnızca yaratma sırasında gerçekleşir, manipülasyon sırasında değil): montaj için PdfDocument.Merge(...), bölmeler için sayfa aralığı kopyalama ve kaldırma ve metin düzenleme için RedactTextOnAllPages(...). IronPDF aynı PDF/A uygunluk seviyelerini (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b) PdfAVersions enumerasyonu üzerinden SaveAsPdfA üzerinde destekler ve ayrıca özel PDF/UA erişilebilirlik desteği sunar: RenderHtmlAsPdfUA(html), bir çağrıda etiketlenmiş erişilebilir bir PDF üretir (varsayılan PDF/UA-1; PDF/UA-2 de desteklenir), kutudan çıkışta Bölüm 508 ve WCAG 2.0 AA karşılayan bir belge olarak belgelenmiştir. İki suite, web uygulamalarından veri kullanarak PDF oluştururken en çok ayrışır: IronPDF, geliştiricinin zaten tarayıcı için yazdığı aynı HTML/CSS kullanır ve Chrome tarafından render edilen bir PDF üretir (modern CSS, web yazı tipleri, SVG) paketli-Chromium tek paket kurulumu aracılığıyla; Aspose.PDF, sayfa tuvalinde ilkel-ilkel belgeler oluşturur.

PowerPoint İhracı

PowerPoint manipülasyonu, Aspose.Slides'da birinci sınıf bir kütüphane olarak sevk edilir. Iron Suite'un IronPPT, PowerPoint oluşturmayı da kapsar, ancak daha derin bir PPTX özellik eşdeğerliliği yüzey yerine bir oluşturma/manipülasyon kütüphanesi olarak konumlandırılmıştır.

// Aspose.Slides handles PowerPoint creation, manipulation, and export to PDF or images.
using Aspose.Slides;
using Aspose.Slides.Export;

class Program
{
    static void Main()
    {
        using (Presentation pres = new Presentation())
        {
            ISlide slide = pres.Slides[0];
            IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 600, 80);
            shape.TextFrame.Text = "Aspose.Slides exports PPTX without PowerPoint installed.";
            pres.Save("deck.pptx", SaveFormat.Pptx);
            pres.Save("deck.pdf", SaveFormat.Pdf);
        }
    }
}
// Aspose.Slides handles PowerPoint creation, manipulation, and export to PDF or images.
using Aspose.Slides;
using Aspose.Slides.Export;

class Program
{
    static void Main()
    {
        using (Presentation pres = new Presentation())
        {
            ISlide slide = pres.Slides[0];
            IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 600, 80);
            shape.TextFrame.Text = "Aspose.Slides exports PPTX without PowerPoint installed.";
            pres.Save("deck.pptx", SaveFormat.Pptx);
            pres.Save("deck.pdf", SaveFormat.Pdf);
        }
    }
}
Imports Aspose.Slides
Imports Aspose.Slides.Export

Class Program
    Shared Sub Main()
        Using pres As New Presentation()
            Dim slide As ISlide = pres.Slides(0)
            Dim shape As IAutoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 600, 80)
            shape.TextFrame.Text = "Aspose.Slides exports PPTX without PowerPoint installed."
            pres.Save("deck.pptx", SaveFormat.Pptx)
            pres.Save("deck.pdf", SaveFormat.Pdf)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronPPT
// Docs: https://ironsoftware.com/csharp/ppt/docs/
using IronPPT;
using IronPPT.Models;

class Program
{
    static void Main()
    {
        // PresentationDocument is the entry point for PPTX creation in IronPPT.
        // No Microsoft PowerPoint or Office Interop required.
        PresentationDocument document = new PresentationDocument();

        Slide titleSlide = new Slide();
        titleSlide.AddText("Quarterly Update");
        document.AddSlide(titleSlide);

        Slide bodySlide = new Slide();
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.");
        document.AddSlide(bodySlide);

        document.Save("update.pptx");
    }
}
// NuGet: Install-Package IronPPT
// Docs: https://ironsoftware.com/csharp/ppt/docs/
using IronPPT;
using IronPPT.Models;

class Program
{
    static void Main()
    {
        // PresentationDocument is the entry point for PPTX creation in IronPPT.
        // No Microsoft PowerPoint or Office Interop required.
        PresentationDocument document = new PresentationDocument();

        Slide titleSlide = new Slide();
        titleSlide.AddText("Quarterly Update");
        document.AddSlide(titleSlide);

        Slide bodySlide = new Slide();
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.");
        document.AddSlide(bodySlide);

        document.Save("update.pptx");
    }
}
Imports IronPPT
Imports IronPPT.Models

Module Program
    Sub Main()
        ' PresentationDocument is the entry point for PPTX creation in IronPPT.
        ' No Microsoft PowerPoint or Office Interop required.
        Dim document As New PresentationDocument()

        Dim titleSlide As New Slide()
        titleSlide.AddText("Quarterly Update")
        document.AddSlide(titleSlide)

        Dim bodySlide As New Slide()
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.")
        document.AddSlide(bodySlide)

        document.Save("update.pptx")
    End Sub
End Module
$vbLabelText   $csharpLabel

Aspose.Slides, PowerPoint dosya formatı spesifikasyonu ile eşdeğerde (animasyonlar, geçişler, gelişmiş şekil geometreleri, SmartArt) daha geniş bir kenarı kapsar. IronPPT, Iron Suite'un geri kalanıyla aynı genel hisle ortak manipülasyon yüzeyini (slaytlar, metin, resimler, temel şekiller) kapsar. PPT gereksinimleri oluşturma ve ihracat ağırlıklı olan ekipler her iki şekilde de iyi hizmet alır; var olan desteleri düzenleyen ekipler için derin biçimlendirme sadakati isteyenler Aspose'a yönelecektir.

Kod-Öncelikli .NET Belge Otomasyonu için NedenIron SuiteSeçilmeli

.NET ekipleri için belge iş yükü, günlük işlerden (web uygulaması verilerinden PDF'ler, Word ve Excel raporları, taranmış yüklemelerde OCR, gönderi etiketlerinde barkodlar) şekillenmişse,Iron Suiteamaca uygun olarak üretilmiştir. On ürün, genel bir C# API yüzeyini, tek bir lisans kaydı modelini ve tek bir satıcı ilişkisini paylaşır. Pazarlık edilmesi gereken bir SDK matrix'i, ölçülen bir sayaç ya da sunucuda bir Office veya Adobe kurulumu bağımlılığı yoktur. Kod-öncelikli .NET belge çalışmaları için önemli olan yapısal kenarlar:

  • Tek paket, şeffaf süresiz fiyatlandırma: Enterprise da dahil olmak üzere her katmanda halka açık USD numaralar
  • Telif ücretsiz dağıtım lisanslı oturma yerleri için kutudan çıkış; SaaS/OEM tek bir temiz Yeniden Dağıtım Takviyesi ile
  • Oluşturma ve tanıma tek bir pakette (PDF/Word/Excel oluşturma artı OCR/Barkod/QR tanıma)
  • HTML öncelikli PDF oluşturma böylece PDF kullanıcı ekranında gördüğü Chrome render'ı ile eşleşir
  • Hiçbir çalışma zamanı ücreti ve hiçbir doküman başına ölçülme yok

Iron SuiteAspose.Total'dan Nasıl Farklıdır

  • Her katmanda halka açık USD fiyatlandırma, Enterprise dahil. Aspose'un Site ve SDK katmanları genellikle satın alma pazarlığı gerektirir; Iron Suite, her katmanda tek bir numara gönderir.
  • Tek paket, tek SKU, tek lisans dosyası vs. bir 26 paket transit bağımlılık ağacıyla, kütüphane başına değerlendirme filigranı davranışıyla denemeler sırasında.
  • Full tarayıcı sadakati ile HTML öncelikli PDF render'ı (CSS, web yazı tipleri, SVG) vs. Aspose.PDF'nin ilkel-ilkel sayfa-tuvali API'si.
  • Temel paket içinde tanıma yığını (OCR + Barcode + QR), ayrı bir ölçülen sayaç veya sayfa başı maliyet olmadan; Aspose.OCR, Aspose.Total içinde gönderilir, ancak daha geniş dağıtım senaryoları OEM sınıfı bir lisans gerektirebilir.
  • Tüm 10 ürün üzerinde idiyomatik .NET API yüzeyi, EncodeTypes-tarzı tek sınıfla seçenekler kalıpları yok, eski API'lerden taşınmış DocumentBuilder imleçleri yok.
  • Kapsam disiplini. Aspose, yeryüzündeki her iş dosyası formatını kovalıyor (CAD, GIS, 3D, DICOM, XBRL); Iron Suite, kasten ~10 en yüksek hacimli kategorilere odaklanıyor. Bu niş formatlara ihtiyaç duymayan ekipler için,Iron Suitepaketi daha temiz bir uyum sağlar ve anlamlı bir şekilde daha düşük bir giriş fiyatına sahiptir.

Sonuç

Aspose.Total veIron Suitegerçekten doğrudan yedekler değildir; farklı sorulara cevap veriyorlar. "Müşterilerimizin önümüze atabileceği her dosya formatını okuyup yazmamız gerekiyor" sorusu olduğunda, özelikle CAD, 3D, GIS, MS Project, XBRL veya DICOM'u kapsayan bir liste olduğunda, doğru cevap Aspose.Total'dır. "PDF, Word, Excel, OCR ve barkodlara sahip olmamız gerekiyor, tek bir paket, tek bir lisans ve halka açık bir fiyat ile" sorusu olduğunda Iron Suite, doğru cevaptır. Orta pazar ve kurumsal entegratörler ve ISV'ler için 20+ formatı gerçekten kapsayan Aspose'un matrisi fiyatına değer. Belge iş yükleri ilk on kategori içinde yer alan çok daha geniş bir .NET ekipleri popülasyonu için, Iron Suite, aynı başlık sonuçlarını anlamlı bir şekilde daha düşük bir TCO ile süresiz, lisans başına telif ücretsiz bir lisansla sunar. ironsoftware.com/csharp/suite adresinde $2,998 giriş seviyesi dahil Iron Suite'i keşfedin.

Lütfen dikkate alınAspose.Total ilgili sahibinin tescilli ticari markasıdır. Bu site Aspose.Total ile ilişkili, onun tarafından onaylanmış veya onun tarafından desteklenmektedir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. 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.