SlideForge konvertiert, rendert und manipuliert PPTX-Dateien – ohne Microsoft Office, ohne AGPL, ohne Kompromisse. Templates befüllen, Charts einbetten, in 5 Formaten exportieren.
// VISION.Forge.SlideForge using VISION.Forge.SlideForge.Api; using VISION.Forge.SlideForge.Licensing; LicenseManager.Activate( Environment.GetEnvironmentVariable( "SLIDEFORGE_KEY")!); // Template befüllen → PDF Presentation.Load("template.pptx") .FillTemplate(new { ClientName = "Acme GmbH", Revenue = 1_250_000m }) .ExportToPdf("bericht.pdf"); // Rendering mit 8 Fit-Modi var r = SlideRenderer.Create( RenderOptions.Retina); r.RenderAll(doc)[0] .SaveToFile("slide1.png");
Kein Office Interop. Keine AGPL-Fallen. Keine Online-Verbindung für Endkunden. Nur sauberer C#-Code mit MIT-Abhängigkeiten.
Durchsuchbarer Text als native PDF-Operatoren, Vektorpfade, eingebettete Schriften. Cross-platform: Windows, Linux, macOS, Docker.
8 Image-Fit-Modi: Contain, Cover, Stretch, FitWidth, FitHeight, Center, Tile, UsePptxCrop. Thumbnails bis Druckqualität (300 DPI).
ExklusivMustache-Syntax direkt in PowerPoint. {{#each}} klont Folien pro Datensatz. Split-Run Merger für verlässliches Token-Ersetzen.
Balken, Linie, Fläche, Torte, Donut, Gauge, Wasserfall, Scatter, Bubble, Gantt, Heatmap, Radar. Vektoriell, ohne externe Abhängigkeiten.
ExklusivTyped List<T> direkt an PPTX-Tabellen binden. Automatischer Seitenumbruch, Header-Wiederholung, Summenzeile.
PDF, PNG/JPEG, HTML (mit Navigation), SVG (Vektor), XPS (druckbereit). Alle mit einheitlicher API und identischen Optionen.
Verbindungslinien mit Auto-Routing, 6 Pfeiltypen, Label. URL / E-Mail / Folien-Navigation Hyperlinks, Bulk-URL-Update.
Speaker Notes, Custom Document Properties, Reviewer-Kommentare. Präsentationen aus mehreren Quellen zusammenführen.
RSA-4096/JWT, offline validierbar. AES-256 Dateiverschlüsselung. DPAPI-geschützte OEM-Key-Speicherung. Kein Internet für Endkunden.
Jedes Feature löst ein echtes Problem aus der Praxis. Kein Bloat, kein Overhead – nur was du wirklich brauchst.
{{token}} intern über mehrere XML-Runs. SlideForge führt diese vor dem Ersetzen zusammen – zuverlässig, ohne Workaround.UpdateHyperlinks("old.com", "new.com") – ein Aufruf, alle Folien.Fluente, chainbare API. Namespace: VISION.Forge.SlideForge.*
using VISION.Forge.SlideForge.Api; // {{mustache}} in PowerPoint → Daten einbinden // {{#each}} klont Folien pro Listeneintrag Presentation.Load("quartalsbericht.pptx") .FillTemplate(new { KundenName = "Acme GmbH", Umsatz = 1_250_000m, Datum = DateTime.Today, Mitarbeiter = new[] { new { Name = "Alice", Rolle = "Engineering" }, new { Name = "Bob" , Rolle = "Design" }, } }) .ExportToPdf("bericht.pdf", pdf => pdf.ForPrint().EmbedAllFonts());
using VISION.Forge.SlideForge.Manipulation; var daten = await db.Verkäufe.ToListAsync(); using var m = PresentationManipulator.Open("vorlage.pptx"); m.BindTable(slideIndex: 2, "VerkaufsTabelle", daten, new TableBindOptions { OverflowMode = TableOverflowMode.ContinueOnNextSlide, RepeatHeaderOnContinuation = true, ContinuationTitleSuffix = " (Seite {page}/{total})", AlternatingRowColors = ("FFFFFF", "F3F4F6"), SummaryRow = new Dictionary<int, string> { [0] = "Gesamt", [2] = "SUM" }, }); m.SaveToFile("ausgabe.pptx");
using VISION.Forge.SlideForge.Rendering.Options; var renderer = SlideRenderer.Create(new RenderOptions { Dpi = 192, DefaultImageFitMode = ImageFitMode.Cover, // Pro Shape überschreiben ImageFitOverrides = new Dictionary<string, ImageFitMode> { ["FirmenLogo"] = ImageFitMode.Contain, ["Profilfoto"] = ImageFitMode.Cover } }); foreach (var slide in renderer.RenderAll(doc)) using (slide) slide.SaveToFile($"slide{slide.SlideIndex+1}.png");
using VISION.Forge.SlideForge.Charts; // 14 Chart-Typen, vektoriell, keine externen Deps string svg = ChartFactory.Donut.Build(new[] { new PieSlice("Produkt A", 45, "#5b6ef5"), new PieSlice("Produkt B", 30, "#34d399"), new PieSlice("Sonstiges", 25, "#fbbf24"), }, centerValue: "€ 1.2M", centerLabel: "Jahresumsatz"); // Gauge, Gantt, Wasserfall, Radar ... string kpi = ChartFactory.Gauge.Build( value: 78, min: 0, max: 100, label: "Kundenzufriedenheit", unit: "%"); ChartFactory.SaveToFile(svg, "umsatz.svg");
using VISION.Forge.SlideForge.Manipulation; using VISION.Forge.SlideForge.Export; using var m = PresentationManipulator.Open("master.pptx"); // Mehrere Quellen zusammenführen m.AppendPresentation("intro.pptx") .AppendPresentation("finanzen.pptx") .SetNotes(0, "Hier auf Q3 eingehen.") .SetMetadata(new PresentationMetadata { Title = "Jahresbericht 2024", Company = "Acme GmbH" }); // HTML exportieren (self-contained, mit Navigation) Exporter.Html.ExportToFile(doc, "bericht.html"); // XPS für Druckworkflow Exporter.Xps.ExportToFile(doc, "druck.xps", XpsExportOptions.HighRes); m.SaveToFile("final.pptx");
SlideForge ist das erste Produkt der VISION Forge Reihe. WordForge und ExcelForge folgen – mit identischer API-Philosophie und gleichem Namespace-Schema.
Perpetuelle Lizenz mit 12 Monaten Updates inklusive. Keine versteckten Server- oder OEM-Gebühren.
„Die Template Engine mit Split-Run-Merger hat uns enorm viel Zeit gespart. Endlich funktioniert Text-Replace zuverlässig, auch wenn PowerPoint Tokens intern aufteilt."
„Für unsere SaaS-Reporting-Plattform war die OEM-Lizenz entscheidend. Endkunden brauchen keinerlei Verbindung zu externen Servern – das war nicht verhandelbar."
„Die Tabellen-Binding-API ist ein Game Changer. Mit automatischem Seitenumbruch und Header-Wiederholung haben wir hunderte Zeilen Code gespart."
Starte kostenlos im Trial-Modus. Upgrade wenn du bereit bist.