比較

XFINIUM.PDFとIronPDFの比較:技術比較ガイド

DevExpress Office File APIは、DXperienceやUniversalサブスクリプションにバンドルされて出荷されるときに、最も経済的に魅力的です。ドキュメントエンジンはUIコントロールと一緒に実質的に無料で提供されます。 リセラーチャネルを通じて単独で購入された場合(DevExpress購買ページは公開スクレイピングがゲートされています)、新人シートには約$587.99、更新には$1,175.99/年での年間開発者毎サブスクリプションです。Iron Suiteは純粋にバックエンド SDK として販売されています: $2,998 からの永続的な開発者ごとのバンドルで、ライセンスされた座席に対してロイヤリティフリーであり、SaaS と OEM の再配布は 1 つの Redistribution Add-On によってカバーされています。

この比較は、調達主導の意思決定が実際にかかる要因から始まります:チームが既にDevExpress UIにあるかどうか、複数年の展望にわたって各スイートがどのように価格設定されているか、実際に何が箱の中にあるか。 エンジニアが出荷するコードと能力の詳細は以下に続きます。

一望での比較

次元DevExpress Office File APIIron Suite
価格設定の位置付け新規ライセンスは ~$587.99 / サブスクリプションは ~$1,175.99 開発者毎/年(リセラーリスト、ComponentSource)、ベンダー独自の購入ページはゲートされていますLite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterpriseカスタム); 10の製品を2つの価格で
ライセンスモデル年間開発者毎サブスクリプション; ロイヤリティーフリー展開; DXperience/Universalバンドルに含まれています永続開発者ごと; ライセンスされたシートに対してロイヤリティフリー; 再配布アドオンを介したSaaS/OEM
バンドル内のコンポーネント7のサブAPI(Word、Spreadsheet、PDF、PowerPoint、Barcode、Digital Signature、AIエクステンション)10の製品(IronPDF、IronWord、IronXL、IronPPT、IronOCR、IronBarcode、IronQR、IronPrint、IronZIP、IronWebScraper)
フォーマット/機能カバレッジDOCX、XLSX、PDF、PPTX + バーコード + デジタル署名 + AIドキュメント拡張PDF、Office、OCR、Barcode/QR、ZIP、印刷、Webスクレイピング
クロスプラットフォーム/クラウドWindows、Linux、macOS、Docker、Azure、AWSWindows、Linux、macOS、Docker、Azure、AWS Lambda
.NETランタイムサポート.NET 8 / 9 / 10, .NET Framework 4.6.2+.NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
ターゲット市場中規模市場およびエンタープライズ向け.NETショップ、特に既存のDevExpress UI/レポート顧客独立開発者、SMB、中規模市場.NETチーム、ISV
ベンダーDeveloper Express Inc. (DevExpress)Iron Software

購入者は次を問うことによって決定を行います:チームはすでにDevExpress UI(Universalサブスクライバー、XtraReportsユーザー、WinForms/WPFのコントロール購入者)に料金を支払っているかどうか? もしそうであれば、Office File APIは実質的に無料でバンドルされて提供され、その場合、DevExpressにとどまる最も強力な経済的理由となります。 もしそうでなければ、Iron SuiteはUIエコシステムへの買い込みなしで、同じOffice、PDF、認識、ユーティリティの表面をカバーする独立したバックエンドバンドルとして永続的なフラット価格で提供されます。

価格とライセンス

DevExpress Office File APIは年間開発者毎のサブスクリプションとして販売されています。 ベンダー独自の購入ページは、公開されているUSD価格をスクレイピングが可能にはしていませんが、ComponentSourceでの最新リリース(v25.2.7)についてのリセラーリストは、新規ライセンスが$587.99から、サブスクリプション/更新は開発者毎/年で$1,175.99からです。 各開発者は複数のマシンにわたってカバーされていますが、サーバー毎およびドメイン毎のカウントはありません。 Office File APIもDXperienceおよびUniversalサブスクリプションにバンドルされています; 既にUniversalを利用しているチームにとって、ドキュメントエンジンはSKUの追加コストなしで事実上無料です。

Iron Suite は、5 つのティアレベル (Lite、Plus、Professional、Unlimited、Enterprise) での永続的な開発者ごとのライセンスとして販売されており、$2,998 から始まり、"2 つの価格でのすべての 10 製品、75% 節約"といったマーケティング ポジショニングがあります。ベースライセンスはライセンスされた座席、場所、またはプロジェクトに対してロイヤリティフリーであり、SaaS、OEM、またはベースライセンスを超えた再配布は、個別に価格設定された1つのRedistribution Add-Onを使用します。

すでに DevExpress Universal を利用している購入者は、別の SKU コストをかけずにバンドルされた追加価値として Office File API に移行します。DevExpress UI に依存しない購入者は、$2,998 のLiteティアでIron Suite に単独永続バンドルとして移行します。同じ Office や PDF の範囲に加え、認識 (OCR、Barcode、QR) が含まれていることも同様です。

DevExpress Office File APIとは

DevExpress Office File APIは、DevExpressのRich Edit、Spreadsheet、およびPDF Viewerコントロールを強力化する非ビジュアルドキュメントエンジンで、Developer Express Inc. によって独立したサーバー側SDKとして販売されています。これは古いDevExpressドキュメントサーバー製品の名前を変更した進化版であり、DevExpressコンポーネントファミリー(XtraReports、Snap、WinForms/WPFのUIコントロール)とクリーンに統合されています。 現在の製品ページのマーケティングタグラインは".NET 用オフィス & PDF ファイル APIs (DOCx, XLSx, PDF, PPTx), by DevExpress (C# & VB.NET and soon Java)"です。最新のリファレンスリリースは DevExpress.Document.Processor 25.2.7 で、2026-05-06 に発表され、次の主要バージョンv26.1 は公共のロードマップに従って2026年6月に予定されています。

主要なバンドルコンポーネントと機能:

  • Word Processing Document API:DOCXの読み書き、メールマージ、検索と置換
  • Spreadsheet Document API:XLSX読み書きと完全な数式再計算
  • PDF Document API:PDFの作成、編集、マージ、セキュア化、署名
  • PowerPoint Presentation API:PPTXの読み書き
  • Barcode Generation API:バンドル内でのバーコードレンダリング
  • Digital Signature API:第一級のPDF署名
  • AI搭載のDocument Processing拡張:v26.1ロードマップでの新しい方向性

Iron Suiteとは何か?

Iron Suiteは、Iron Software の独立した .NET ドキュメント SDK で、UI コントロールの依存関係やコンパニオン サブスクリプションがなく、純粋にバックエンド ライブラリとして販売されています。 10の製品が$2,998 からの5つのティアレベルで1つの永続的な開発者ごとのライセンスの下で出荷され、ライセンスされた座席にロイヤリティフリーです。 SaaSおよびOEMの再配布は別途Redistribution Add-Onを使用します。

プログラム可能なOfficeおよびPDFワークフローへの関連性でグループ化された10のコンポーネント:

  • Officeスタック:IronWord(段落およびテキストランのオブジェクトグラフ、コンテンツ抽出、カスタムスタイリングを備えたDOCX); IronXL(数式再計算、チャート、ピボットテーブル、条件付きフォーマットを備えたXLSX); IronPPT(PPTXの作成および編集)。
  • PDF生成(IronPDF):HTML-to-PDFおよびURL-to-PDF、ネイティブマージおよび分割、eIDASおよびESIGNに合わせたPKCS#12およびHSMおよびTSAによる署名、PDF/AからPDF/A-4、PDF/UA-1およびPDF/UA-2、AES暗号化、AcroForm記入およびフラッテン、フォント管理、ラスター化、圧縮および線形化。
  • 認識:IronOCR(Tesseract 5、125以上の言語、手書きで約90%英語); IronBarcode(30以上のシンボロジー、MAUIスキャナ); IronQR (バッチReadPdfs を使用したML搭載)。
  • ユーティリティ:IronPrint、IronZIP、IronWebScraper。

能力の比較

ワードプロセッシングとメールマージ

型付きデータソースを使用して DOCX テンプレートに対するメールマージは DevExpress の特徴的なワークロードです: RichEditDocumentServer は DevExpress の WinForms Rich Edit コントロールを動作させるエンジンです。 IronWordは、モダンなオブジェクトグラフAPIでDOCXの作成と操作に照準を合わせています。

// 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
$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

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
$vbLabelText   $csharpLabel

DevExpress のテンプレートに対するメールマージは、任意のDataTable ソースにバインドされ、ネストされたマージリージョンと条件ブロックをサポートし、強力なテンプレート駆動のワークフローです。 IronWordは、OOXMLに直接マッピングされた段落/テキストランのオブジェクトグラフを公開しており、ゼロからDOCXを生成する目的です; テンプレート駆動のワークフローは、IronWordでは通常テキストランでの検索と置換を使用します。

Excel処理

両エンジンは日常のExcelワークロード(XLSXの作成またはロード、数式の計算、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");
    }
}
// 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
$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

DevExpress.Spreadsheetは、このエンジンがDevExpressスプレッドシートビジュアルコントロールを強化するために、チャートタイプ、ピボットテーブル、および条件付きフォーマットに深みを投資してきました。 IronXL は、ほとんどのバックエンド XLSX 作業に必要な読み書き/再計算範囲をカバーしており、インデクサースタイルのセル API ( sheet["B4"].Formula = …, workbook.EvaluateAll() ) とより軽量な依存性フットプリントを持っています。

PDF生成と統合

PDFは、DevExpressのAPIスタイルが最も明確に命令的である場所です。PdfDocumentProcessorは、ローディング、修正、および保存できるドキュメントプロセッサオブジェクトを通じてPDFをビルドおよび編集します。 IronPDFは実際のChromeエンジンを使用してHTMLからPDFをレンダリングします。

// 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
$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

DevExpress PdfDocumentProcessorは、細粒度の低レベルページAPIおよびPDFオブジェクトモデル作業に対する第一級のデジタル署名APIを公開しています。 IronPDFのPdfDocument.Merge は、PDF オブジェクトモデルに直接同じマージ/分割/編集/署名操作をカバーしています: HTML 往復は HTML から PDF を作成する際にのみ発生し、既存のPDFを操作する際には発生しません。 両エンジンはPDFをネイティブに編集します; APIサーフェスが差異要素です。

PowerPointの生成

PowerPointの生成は、第一級のDevExpress機能です。 Iron Suiteには、PPTXの作成および操作を行うIronPPTが含まれています。

// 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
$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

DevExpress の Presentation API は他の Office File API の命令型スタイルを反映しています:ロード/修正/保存、形がスライドに明示的に追加されます。Iron Suite の IronPPT は、PPTX の作成および、バンドルの他の部分と同じ慣用表現で一般的な操作面をカバーしています。 標準レポートデッキの生成範囲内で PPTX 要求が留まるチームにとっては、どちらも十分です。アニメーションやトランジションを伴う深いデッキ編集は、DevExpress Presentation が投資してきたケースです。

コードファースト.NETドキュメントオートメーションでなぜIron Suiteを選ぶのか

.NET バックエンドチームや、既存の DevExpress UI 投資がない ISV には、Iron Suite がより適しています。 10製品、1SKU、永続所有権、公開 US ドル価格、OCR および認識が PDF および Office の横並びに含まれています。コードファースト .NET ドキュメント作業に重要な構造的エッジ:

  • 永続所有権 は、失効した場合に更新へのアクセスを失う年次サブスクリプションに対するもので、3〜5年間の全体的なコスト差が重要です。
  • リセラーや見積もりに頼らずに全ティアで 公開 US ドル価格
  • 作成および認識(OCR +バーコード + QR + WebScraper + ZIP + Print)をカバーする10製品の より広いバンドル 対して、DevExpress の 7サブ API
  • UI エコシステムの導入なし:Iron はバックエンド SDK のみとして販売され、UI コンポーネントへのアップセルはありません。
  • ライセンスされた座席の ロイヤリティフリー展開、いずれかの方法でサーバーごと/ドメインごとのカウントがない; SaaS/OEM は、1つの再配布アドオンを通じて
  • HTML ファースト PDF 生成 によって、PDF がユーザーが画面で見る Chrome 表示を模倣します。

Iron SuiteはDevExpress Office File APIとどう違うのか

  • 永続型 vs サブスクリプション。Iron Suite は開発者ごとに永続; DevExpress は年次サブスクリプションであり、失効すると更新へのアクセスが失われます。 3〜5年間で全体的なコスト差が重要です。
  • UI エコシステムのアップセルなし。DevExpress の最強の価格レバレッジは、Office File API を Universal サブスクリプションにバンドルすることです。 Iron は UI コントロールへの階段なしで純粋にバックエンド SDK として販売されています。
  • 箱の中からの認識スタック。IronOCR、IronBarcode、IronQR、IronWebScraper、IronZIP、IronPrint がすべてIron Suite内にあります。DevExpress はバーコード生成がありますが、Office File API SKU に OCR エンジンはありません。
  • DevExpress 価格のみをリセラーチャネルか、見積もりリクエストで。公開 US ドル価格
  • バンドルされたウェブスクレーパーと ZIP アーカイバ。IronWebScraper と IronZIP は DevExpress の Office File API に同等がない隣接したバックエンド作業負荷を担います。
  • リアルブラウザフィデリティを持つ HTML ファースト PDF 生成(CSS、ウェブフォント、SVG)対 DevExpress の PdfDocumentProcessor 命令型 API。

結論

DevExpress Office File API とIron Suiteは異なる購買動機に応えます。 DevExpress のエンジンは、UI コントロールのためにすでに所有しているチームにとって、DXperience または Universal サブスクリプションにバンドルされたとき、最も経済的に魅力的です。エンジンは付加価値として到着します。Iron Suiteは純粋にバックエンドライブラリとして販売されます:10 製品、1つの永続開発者免許、公開 US ドル価格、PDF および Office 出力に加えてバンドルに含まれている OCR および認識。 日常のドキュメント ワークロードを固定の開発者ごとのコストで処理するバックエンド専用 .NET チームの場合、$2,998 のIron Suiteはironsoftware.com/csharp/suite にてその範囲をカバーします。

ご注意DevExpress Office File API はその所有者の登録商標です。 このサイトは、DevExpress Office File API によって承認、支援、または支援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。