XFINIUM.PDF vs. IronPDF: Leitfaden für einen technischen Vergleich
DieDevExpress Office File APIist wirtschaftlich am attraktivsten, wenn sie innerhalb der DXperience- oder Universal-Abonnements bündelt wird, wo die Dokumenten-Engines im Wesentlichen kostenlos neben den UI-Steuerelementen enthalten sind. Unabhängig über Wiederverkäufer-Kanäle gekauft (die DevExpress-Kaufseite ist gegen öffentliches Scraping geschützt), ist es ein jährliches Entwickler-Abo zum Preis von etwa $587,99 für einen neuen Platz oder $1.175,99/Jahr für die Erneuerung.Iron Suitewird rein als Backend-SDKs verkauft: zehn Iron Software-Produkte in einem unbefristeten Pro-Entwickler-Bundle ab $2,998, gebührenfrei für lizenzierte Plätze, wobei SaaS- und OEM-Weiterverbreitung durch ein einzelnes Weiterverbreitungs-Zusatzpaket abgedeckt ist.
Dieser Vergleich beginnt mit dem, worauf es bei einer Beschaffungsgesteuerten Entscheidung tatsächlich ankommt: Ob das Team bereits auf DevExpress UI ist, wie jede Suite über einen mehrjährigen Horizont bepreist ist und was tatsächlich im Paket ist. Die Fähigkeitsdetails und der Code folgen unten für die Ingenieure, die es ausliefern.
Vergleich auf einen Blick
| Dimension | DevExpress Office File API | Iron Suite |
|---|---|---|
| Preispolitische Positionierung | Neue Lizenz ab ~$587,99 / Abonnement ab ~$1.175,99 pro Entwickler/Jahr (Wiederverkäuferliste, ComponentSource), die eigene Kaufseite des Anbieters ist gesperrt | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); alle 10 Produkte zum Preis von 2 |
| Lizenzmodell | Jährliches Pro-Entwickler-Abonnement; gebührenfreie Bereitstellung; in DXperience/Universal-Paketen enthalten | Unbefristete pro Entwickler; gebührenfrei für lizenzierte Sitze; SaaS/OEM über Weiterverbreitungs-Add-On |
| Components in bundle | 7 Unter-APIs (Word, Tabellenkalkulation, PDF, PowerPoint, Barcode, Digitale Signatur, KI-Erweiterungen) | 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper) |
| Format- / Fähigkeitsabdeckung | DOCX, XLSX, PDF, PPTX + Barcode + Digitale Signatur + KI-Dokumentenerweiterungen | PDF, Office, OCR, Barcode/QR, ZIP, Print, Web Scraping |
| Plattformübergreifend / Cloud | Windows, Linux, macOS, Docker, Azure, AWS | Windows, Linux, macOS, Docker, Azure, AWSLambda |
| .NET-Laufzeitunterstützung | .NET 8 / 9 / 10, .NET Framework 4.6.2+ | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Zielmarkt | Mittlere Märkte und Unternehmens- .NET-Shops, besonders bestehende DevExpress-UI/Reporting-Kunden | Unabhängige Entwickler, kleine und mittlere Unternehmen, mittlere Märkte .NET-Teams, ISVs |
| Anbieter | Developer Express Inc. (DevExpress) | Iron Software |
Der Käufer entscheidet, indem er fragt: Zahlt das Team bereits für DevExpress UI (Universal-Abonnenten, XtraReports-Benutzer, WinForms/WPF-Steuerelementkäufer)? Wenn ja, wird die Office File API im Wesentlichen kostenlos hinzugefügt, und das ist das stärkste wirtschaftliche Argument für die Fortführung bei DevExpress. Wenn nein, decktIron Suiteals eigenständiges Backend-Paket zu einem flachen Dauerpreis dieselbe Office-, PDF-, Erkennungs- und Nutzungsfläche ab, ohne dass ein UI-Ökosystem erforderlich ist.
Preis- und Lizenzierungsbedingungen
DieDevExpress Office File APIwird als jährliches Pro-Entwickler-Abonnement verkauft. Die eigene Kaufseite des Anbieters erhebt keine öffentlichen USD-Preise gegen Scraping, aber die Wiederverkäuferliste auf ComponentSource für die neueste Veröffentlichung (v25.2.7) zeigt neue Lizenzen ab $587,99 und Abonnement-/Erneuerungspreise ab $1.175,99 pro Entwickler/Jahr. Jeder Entwickler ist über mehrere Maschinen abgedeckt, ohne Pro-Server- oder Pro-Domain-Zählung. Die Office File API ist auch in die DXperience- und Universal-Abonnements eingebunden; für Teams, die bereits auf Universal sind, sind die Dokumenten-Engines im Wesentlichen kostenlos ohne inkrementelle SKU-Kosten.
Iron Suite wird als eine einzelne unbefristete Pro-Entwickler-Lizenz auf fünf Stufen (Lite, Plus, Professional, Unlimited und Enterprise) ab $2,998 verkauft, mit der Marketingpositionierung "alle 10 Produkte zum Preis von 2, sparen Sie 75%". Die Basislizenz ist gebührenfrei für die lizenzierten Plätze, Standorte oder Projekte. SaaS-, OEM- oder verteilte Weiterverbreitung über die Basislizenz hinaus verwendet ein einzelnes, separat bepreistes Weiterverbreitungs-Zusatzpaket.
Käufer, die bereits bei DevExpress Universal sind, gehen zur Office File API als gebündelten Mehrwert ohne zusätzliche SKU-Kosten. Käufer ohne DevExpress UI-Abhängigkeit gehen zuIron Suiteals eigenständiges unbefristetes Bundle ab $2,998 für die Lite-Stufe, mit derselben Office- und PDF-Oberfläche plus Erkennung (OCR, Barcode, QR) zusätzlich enthalten.
What is DevExpress Office File API
DieDevExpress Office File APIist die nicht-visuelle Dokumenten-Engine, die die Rich Edit-, Tabellenkalkulations- und PDF-Viewer-Steuerelemente von DevExpress antreibt, verkauft als eigenständiges serverseitiges SDK von Developer Express Inc. Sie ist die umbenannte Weiterentwicklung des älteren DevExpress Document Server-Produkts und integriert sich nahtlos in den Rest der DevExpress-Komponentenfamilie (XtraReports, Snap, die WinForms/WPF UI-Steuerelemente). Der Marketing-Slogan auf der aktuellen Produktseite lautet "Office & PDF File APIs for .NET (DOCx, XLSx, PDF, PPTx), von DevExpress (C# & VB.NET und bald Java)." Die neueste Referenzveröffentlichung ist DevExpress.Document.Processor 25.2.7, veröffentlicht am 06.05.2026, mit der nächsten großen Version v26.1 im Juni 2026 gemäß dem öffentlichen Fahrplan.
Schlüsselkomponenten und Fähigkeiten im Bundle:
- Word Processing Document API: DOCX Lesen/Schreiben, Seriendruck, Finden und Ersetzen
- Spreadsheet Document API: XLSX Lesen/Schreiben mit vollständiger Formelumrechnung
- PDF Document API: PDFs erstellen, bearbeiten, zusammenführen, sichern, signieren
- PowerPoint Presentation API: PPTX read/write
- Barcode Generation API: Barcode-Rendering innerhalb des Pakets
- Digitale Signatur-API: erstklassiges PDF-Signieren
- KI-gesteuerte Dokumentenverarbeitungserweiterungen: neuerer Trend im Fahrplan v26.1
Was ist Iron Suite
Iron Suite ist das eigenständige .NET-Dokument-SDK von Iron Software, das rein als Backend-Bibliotheken ohne UI-Steuerelement-Abhängigkeit und ohne Begleitabonnement verkauft wird. Zehn Produkte werden zusammen unter einer unbefristeten Pro-Entwickler-Lizenz auf fünf Stufen ab $2,998 versendet, gebührenfrei für die lizenzierten Plätze. SaaS und OEM-Verteilung verwenden ein separates Redistribution Add-On.
Die zehn Komponenten, gruppiert nach Relevanz für einen programmgesteuerten Office- und PDF-Workflow:
- Office-Stack: IronWord (DOCX mit Absatz- und Textlauf-Objekt-Graph, Inhaltsextraktion, benutzerdefiniertes Styling); IronXL (XLSX mit Formelumrechnung, Diagrammen, Pivot-Tabellen, bedingter Formatierung); IronPPT (PPTX-Erstellung und -Bearbeitung).
- PDF-Erstellung (IronPDF): HTML-zu-PDF und URL-zu-PDF, native Zusammenführung und Teilung, PKCS#12 plus HSM plus TSA Signierung, die an eIDAS und ESIGN ausgerichtet sind, PDF/A durch PDF/A-4, PDF/UA-1 und PDF/UA-2, AES-Verschlüsselung, AcroForm-Ausfüllen und -Flachlegung, Schriftverwaltung, Rasterung, Kompression und Linearisierung.
- Erkennung: IronOCR (Tesseract 5, 125+ Sprachen, Handschrift bei ~90% Englisch); IronBarcode (30+ symbologies, MAUI scanner); IronQR (ML-unterstützt mit Batch
ReadPdfs). - Utility: IronPrint, IronZIP, IronWebScraper.
Vergleich der Fähigkeiten
Word Verarbeitung und Seriendruck
Serienbrief gegen eine DOCX-Vorlage mit einer typisierte Datenquelle ist ein DevExpress-Markenzeichen-Workload: RichEditDocumentServer ist die Engine, die das DevExpress WinForms Rich Edit-Control antreibt. IronWord zielt auf die Erstellung und Manipulation von DOCX mit einer modernen Objekt-Graph-API.
// DevExpress RichEditDocumentServer is the non-visual Word engine powering the DevExpress Rich Edit control.
// NuGet: Install-Package DevExpress.Document.Processor
using DevExpress.XtraRichEdit;
class Program
{
static void Main()
{
using RichEditDocumentServer server = new RichEditDocumentServer();
server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml);
server.Options.MailMerge.DataSource = new[]
{
new { CustomerName = "Acme Corp", OrderId = "44213", Total = "$1,498.00" }
};
using RichEditDocumentServer output = new RichEditDocumentServer();
server.MailMerge(output.Document);
output.SaveDocument("welcome.pdf", DocumentFormat.Pdf);
}
}
// DevExpress RichEditDocumentServer is the non-visual Word engine powering the DevExpress Rich Edit control.
// NuGet: Install-Package DevExpress.Document.Processor
using DevExpress.XtraRichEdit;
class Program
{
static void Main()
{
using RichEditDocumentServer server = new RichEditDocumentServer();
server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml);
server.Options.MailMerge.DataSource = new[]
{
new { CustomerName = "Acme Corp", OrderId = "44213", Total = "$1,498.00" }
};
using RichEditDocumentServer output = new RichEditDocumentServer();
server.MailMerge(output.Document);
output.SaveDocument("welcome.pdf", DocumentFormat.Pdf);
}
}
Imports DevExpress.XtraRichEdit
Class Program
Shared Sub Main()
Using server As New RichEditDocumentServer()
server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml)
server.Options.MailMerge.DataSource = New Object() {
New With {
.CustomerName = "Acme Corp",
.OrderId = "44213",
.Total = "$1,498.00"
}
}
Using output As New RichEditDocumentServer()
server.MailMerge(output.Document)
output.SaveDocument("welcome.pdf", DocumentFormat.Pdf)
End Using
End Using
End Sub
End Class
// 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
Class Program
Shared 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 Class
DevExpress-Serienbrief gegen eine Vorlage bindet sich an jede DataTable Quelle und unterstützt verschachtelte Merge-Regionen und bedingte Blöcke, ein stark vorlagengetriebener Workflow. IronWord stellt einen Objektgraphen für Absatz-/Textläufe zur Verfügung, der direkt auf OOXML abgebildet ist und speziell für das generieren von DOCX von Grund auf gebaut wurde; vorlagengetriebene Workflows in IronWord nutzen normalerweise die Suche-und-Ersetzen-Funktion bei Textläufen.
Excel-Verarbeitung
Beide Engines decken die alltägliche Excel-Arbeitslast (erstellen oder laden XLSX, Berechnen von Formeln, Export nach PDF) ab und beide haben automatische Formelumrechnungsmodi.
// DevExpress.Spreadsheet provides the non-visual Excel engine with full formula support.
using DevExpress.Spreadsheet;
class Program
{
static void Main()
{
using Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
sheet["A1"].Value = "Region";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "EMEA";
sheet["B2"].Value = 120000;
sheet["B4"].Formula = "=SUM(B2:B3)";
book.CalculationOptions.Mode = CalculationMode.Automatic;
book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml);
book.ExportToPdf("revenue.pdf");
}
}
// DevExpress.Spreadsheet provides the non-visual Excel engine with full formula support.
using DevExpress.Spreadsheet;
class Program
{
static void Main()
{
using Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
sheet["A1"].Value = "Region";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "EMEA";
sheet["B2"].Value = 120000;
sheet["B4"].Formula = "=SUM(B2:B3)";
book.CalculationOptions.Mode = CalculationMode.Automatic;
book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml);
book.ExportToPdf("revenue.pdf");
}
}
Imports DevExpress.Spreadsheet
Module Program
Sub Main()
Using book As New Workbook()
Dim sheet As Worksheet = book.Worksheets(0)
sheet("A1").Value = "Region"
sheet("B1").Value = "Revenue"
sheet("A2").Value = "EMEA"
sheet("B2").Value = 120000
sheet("B4").Formula = "=SUM(B2:B3)"
book.CalculationOptions.Mode = CalculationMode.Automatic
book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml)
book.ExportToPdf("revenue.pdf")
End Using
End Sub
End Module
// 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
DevExpress.Spreadsheet investiert seit langem in Diagrammtypen, Pivot-Tabellen und bedingte Formatierung, da die gleiche Engine das DevExpress Spreadsheet-Visual-Steuerelement antreibt. IronXL deckt den Lese-/Schreib-/Neuberechnung-Umfang ab, den die meisten Backend-XLSX-Arbeit benötigt, mit einer Indexer-ähnlichen Zell-API (sheet["B4"].Formula = …, workbook.EvaluateAll()) und einem leichteren Abhängigkeits-Fußabdruck.
PDF-Erzeugung und -Zusammenführung
PDF ist der Bereich, in dem DevExpress's API-Stil am deutlichsten imperativ ist. PdfDocumentProcessor baut und bearbeitet PDFs durch ein Dokumentprozessor-Objekt, das lädt, modifiziert und speichert. IronPDF rendert PDFs aus HTML mit einer realen Chrome-Engine.
// PdfDocumentProcessor merges, splits, and signs PDFs without Adobe.
using DevExpress.Pdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<PdfDocumentProcessor> parts = new List<PdfDocumentProcessor>();
foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
{
PdfDocumentProcessor part = new PdfDocumentProcessor();
part.LoadDocument(path);
parts.Add(part);
}
using PdfDocumentProcessor combined = new PdfDocumentProcessor();
combined.CreateEmptyDocument("merged.pdf");
foreach (PdfDocumentProcessor part in parts)
{
combined.AppendDocument(part.Document);
part.Dispose();
}
combined.SaveDocument();
}
}
// PdfDocumentProcessor merges, splits, and signs PDFs without Adobe.
using DevExpress.Pdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<PdfDocumentProcessor> parts = new List<PdfDocumentProcessor>();
foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
{
PdfDocumentProcessor part = new PdfDocumentProcessor();
part.LoadDocument(path);
parts.Add(part);
}
using PdfDocumentProcessor combined = new PdfDocumentProcessor();
combined.CreateEmptyDocument("merged.pdf");
foreach (PdfDocumentProcessor part in parts)
{
combined.AppendDocument(part.Document);
part.Dispose();
}
combined.SaveDocument();
}
}
Imports DevExpress.Pdf
Imports System.Collections.Generic
Module Program
Sub Main()
Dim parts As New List(Of PdfDocumentProcessor)()
For Each path As String In {"invoice.pdf", "terms.pdf", "appendix.pdf"}
Dim part As New PdfDocumentProcessor()
part.LoadDocument(path)
parts.Add(part)
Next
Using combined As New PdfDocumentProcessor()
combined.CreateEmptyDocument("merged.pdf")
For Each part As PdfDocumentProcessor In parts
combined.AppendDocument(part.Document)
part.Dispose()
Next
combined.SaveDocument()
End Using
End Sub
End Module
// 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
DevExpress PdfDocumentProcessor bietet eine granulare Low-Level-Seiten-API und eine erstklassige Digitale Signatur-API für fein abgestimmte PDF-Objektmodell-Arbeiten. IronPDF's PdfDocument.Merge deckt dieselben Zusammenführungs-/Teilungs-/Redaktions-/Signieroperationen direkt auf dem PDF-Objektmodell ab: Der HTML-Rundtrip erfolgt nur beim Erstellen eines PDFs aus HTML, nicht während der Manipulation vorhandener PDFs. Beide Engines bearbeiten das PDF nativ; die API-Oberfläche ist der Unterscheidungsfaktor.
PowerPoint Generation
PowerPoint-Generierung ist eine erstklassige DevExpress-Fähigkeit.Iron Suiteumfasst IronPPT zur Erstellung und Bearbeitung von PPTX.
// DevExpress PowerPoint Presentation API creates and edits PPTX server-side.
using DevExpress.Office.Drawing;
using DevExpress.Presentation;
class Program
{
static void Main()
{
using Presentation pres = new Presentation();
Slide slide = pres.Slides.Add();
Shape title = slide.Shapes.AddTextBox(50, 50, 600, 60);
title.TextFrame.Text = "Quarterly Update";
Shape body = slide.Shapes.AddTextBox(50, 140, 600, 80);
body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency.";
pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml);
}
}
// DevExpress PowerPoint Presentation API creates and edits PPTX server-side.
using DevExpress.Office.Drawing;
using DevExpress.Presentation;
class Program
{
static void Main()
{
using Presentation pres = new Presentation();
Slide slide = pres.Slides.Add();
Shape title = slide.Shapes.AddTextBox(50, 50, 600, 60);
title.TextFrame.Text = "Quarterly Update";
Shape body = slide.Shapes.AddTextBox(50, 140, 600, 80);
body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency.";
pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml);
}
}
Imports DevExpress.Office.Drawing
Imports DevExpress.Presentation
Class Program
Shared Sub Main()
Using pres As New Presentation()
Dim slide As Slide = pres.Slides.Add()
Dim title As Shape = slide.Shapes.AddTextBox(50, 50, 600, 60)
title.TextFrame.Text = "Quarterly Update"
Dim body As Shape = slide.Shapes.AddTextBox(50, 140, 600, 80)
body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency."
pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml)
End Using
End Sub
End Class
// 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
DevExpress's Presentation API spiegelt den imperativen Stil der anderen Office-Datei-APIs wider: laden/bearbeiten/speichern, Formen werden explizit auf eine Folie hinzugefügt. IronPPT inIron Suitedeckt die Erstellung von PPTX und die gemeinsame Manipulationsoberfläche mit dem gleichen idiomatischen Gefühl wie der Rest des Pakets ab. Für Teams, deren PPTX-Anforderungen innerhalb der Erstellung von Standardreportdecks bleiben, ist beides ausreichend — tiefgehende Decks mit Animationen und Übergängen sind der Fall, in den DevExpress Presentation investiert hat.
Warum Sie sich für dieIron Suitefür Code-First .NET-Dokumentenautomatisierung entscheiden sollten
Für das .NET-Backend-Team oder ISV ohne bestehendes DevExpress-UI-Investment istIron Suitedie sauberere Lösung. Zehn Produkte, ein SKU, unbefristetes Eigentum, öffentlicher USD-Preis, mit OCR und Erkennung neben PDF und Office enthalten. Strukturelle Vorteile, die für code-first .NET-Dokumentenarbeit wichtig sind:
- Unbefristetes Eigentum vs jährliches Abonnement, das den Zugang zu Updates bei Ablauf verliert, ein wesentlicher TCO-Unterschied über 3-5 Jahre
- Öffentliche USD-Preisgestaltung in jeder Stufe, ohne einen Wiederverkäufer oder ein Angebot zu konsultieren
- Breiteres Bündel: 10 Produkte, die Erstellung UND Erkennung (OCR + Barcode + QR + WebScraper + ZIP + Druck) abdecken, im Vergleich zu DevExpress's 7 Sub-APIs
- Kein UI-Ökosystem-Einkauf: Iron wird ausschließlich als Backend-SDKs verkauft, kein Upsell zu UI-Komponenten
- Lizenzfreie Bereitstellung für lizenzierte Sitze, keine Zählung pro Server/Domäne in beide Richtungen; SaaS/OEM über eine einzige Weiterverteilungs-Erweiterung
- HTML-first PDF-Erzeugung, damit das PDF der Chrome-Darstellung entspricht, die der Benutzer auf dem Bildschirm sieht
Worin unterscheidet sichIron Suitevon DevExpress Office File API
- Unbefristet vs Abonnement.Iron Suiteist unbefristet pro Entwickler; DevExpress ist ein jährliches Abonnement, bei dem das Auslaufen den Zugang zu Updates verliert. Über 3-5 Jahre hinweg ist die TCO-Lücke von Bedeutung.
- Kein UI-Ökosystem-Upsell. Der stärkste Preispunkt von DevExpress ist das Bündeln der Office File API in das Universal-Abo. Iron wird rein als Backend-SDKs verkauft, ohne eine Leiter zu UI-Kontrollen.
- Erkennungs-Stack out of the box. IronOCR, IronBarcode, IronQR, IronWebScraper, IronZIP, IronPrint sind alle inIron Suiteenthalten. DevExpress hat Barcode-Generierung, aber keine OCR-Engine im Office File API SKU.
- Öffentliche USD-Preisgestaltung im Vergleich zu DevExpress Preisen nur über Wiederverkäufer-Kanäle oder Angebotsanfragen.
- Gebündelter Web-Scraper und ZIP-Archivierer. IronWebScraper und IronZIP decken benachbarte Backend-Workloads ab, die im Office File API von DevExpress kein Äquivalent haben.
- HTML-first PDF-Erzeugung mit echter Browser-Treue (CSS, Web-Fonts, SVG) im Vergleich zur imperativen API von DevExpress's PdfDocumentProcessor.
Abschluss
DevExpress Office File API undIron Suitebedienen unterschiedliche Kaufbewegungen. Die DevExpress Engines sind wirtschaftlich am attraktivsten, wenn sie in ein DXperience- oder Universal-Abonnement gebündelt sind, das ein Team bereits für die UI-Kontrollen besitzt, wobei die Engines als Mehrwert hinzukommen.Iron Suitewird rein als Backend-Bibliotheken verkauft: zehn Produkte, eine unbefristete Pro-Entwickler-Lizenz, öffentliche USD-Preise, mit OCR und Erkennung im Paket zusammen mit PDF und Office-Ausgabe enthalten. Für reine Backend-.NET-Teams, die alltägliche Dokument-Workloads zu einem festen Pro-Entwickler-Kostensatz ausführen, decktIron Suiteab $2,998 auf ironsoftware.com/csharp/suite die Oberfläche ab.