IRONSOFTWAREHOME
VIDEOS

Wie man ein PDF in C# exportiert | IronPDF

Curtis Chau
Curtis Chau
Updated: 19. Juli 2026

Durch die Migration von Sumatra PDFzu IronPDF wird Ihr PDF-Workflow von einer externen Prozessverwaltung mit einer Desktop-Viewer-Anwendung zu einer nativen .NET-Bibliotheksintegration mit vollständigen PDF-Erstellungs-, Manipulations- und Extraktionsfunktionen umgewandelt. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der externe Abhängigkeiten, AGPLv3-Copyleft-Verpflichtungen und die grundlegende Einschränkung eliminiert, dass Sumatra PDFein Viewer/Drucker ist, keine Entwicklungslibrary.

Warum von Sumatra PDFzu IronPDF migrieren

Sumatra verstehen PDF

Sumatra PDF ist ein leichtgewichtiger, Open-Source WindowsPDF-Leser/Drucker, der für seine Einfachheit und Geschwindigkeit bekannt ist. Es zeigt auch EPUB, MOBI, CBZ/CBR, FB2, CHM, XPS und DjVu Dateien an. Allerdings bietet Sumatra PDFnicht die erforderlichen Funktionen zum Erstellen oder Bearbeiten von PDF-Dateien über das Anzeigen und Drucken hinaus, und es gibt kein offizielles .NET SDK oder NuGet-Paket – Community-Wrapper greifen einfach auf SumatraPDF.exe zurück.

Sumatra PDF ist eine eigenständige Windows-Desktop-Anzeige-/Druckeranwendung, keine Entwicklungslibrary. Wenn Sie Sumatra PDFin Ihrer .NET-Anwendung verwenden, sind Sie wahrscheinlich:

  1. Starten von SumatraPDF.exe als externen Prozess zur Anzeige von PDFs
  2. PDFs drucken über die Befehlszeile (-print-to-default, -print-to "<printer>")
  3. Als Abhängigkeit müssen Ihre Benutzer Folgendes installieren

Schlüsselprobleme bei der Sumatra PDF-Integration

ProblemAuswirkungen
Keine BibliothekPDFs können nicht programmatisch erstellt oder bearbeitet werden
Externer ProzessErfordert das Starten von SumatraPDF.exe; keine In-Prozess-API
AGPLv3 LicenseStarkes Copyleft (einige Dateien BSD-lizenziert); bundling into closed-source products imposes obligations most commercial vendors avoid
BenutzerabhängigkeitBenutzer (oder Ihr Installationsprogramm) müssen SumatraPDF.exe auf der Festplatte platzieren
Nur CLIBeschränkt auf dokumentierte Befehlszeilenargumente
Nur anzeigen / druckenKann keine PDFs erstellen, bearbeiten oder manipulieren
Nur WindowsKeine Linux- oder macOS-Versionen

Vergleich zwischen Sumatra PDFund IronPDF

FeatureSumatra PDFIronPDF
TypAnwendungBibliothek
PDF-LesenJaJa
PDF-ErstellungNeinJa
PDF-BearbeitungNeinJa
IntegrationBegrenzt (Standalone)Vollständige Integration in Anwendungen
LizenzAGPLv3 (einige Dateien BSD)Kommerziell
Erstellen von PDFsNeinJa
PDFs bearbeitenNeinJa
HTML zu PDFNeinJa
Merge/SplitNeinJa
WasserzeichenNeinJa
Digitale SignaturenNeinJa
FormularausfüllenNeinJa
TextextraktionNeinJa
.NET-IntegrationNoneNative
WebanwendungenNeinJa

IronPDF ist, anders als Sumatra PDF, nicht an eine bestimmte Desktop-Anwendung oder einen externen Prozess gebunden. Es bietet Entwicklern eine flexible Bibliothek zur dynamischen Erstellung, Bearbeitung und Manipulation von PDF-Dokumenten direkt in C#. Diese Entkopplung von externen Prozessen bietet einen spürbaren Vorteil: Sie ist einfach und anpassungsfähig und eignet sich für eine Vielzahl von Anwendungen, die über das reine Betrachten hinausgehen.

Für Teams, die modernes .NET anstreben, bietet IronPDF eine native Bibliotheksintegration, die den Overhead des externen Prozesses und die AGPLv3-Copyleft-Verpflichtungen von Sumatra PDFeliminiert.


Bevor Sie beginnen

Voraussetzungen

  1. .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
  3. IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.

Installation

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Komplette API-Referenz

Namensraumänderungen

// Before: Sumatra PDF(external process)
using System.Diagnostics;
using System.IO;

// After: IronPDF
using IronPdf;

Kernkapazitätszuordnungen

Sumatra PDF-AnsatzIronPDF-ÄquivalentNotizen
Process.Start("SumatraPDF.exe", pdfPath)PdfDocument.FromFile()PDF laden
BefehlszeilenargumenteNativeAPI-MethodenKein CLI erforderlich
Externe pdftotext.exepdf.ExtractAllText()Textextraktion
Externe wkhtmltopdf.exerenderer.RenderHtmlAsPdf()HTML zu PDF
-print-to-default-Argumentpdf.Print()Drucken
Nicht möglichPdfDocument.Merge()PDFs zusammenführen
Nicht möglichpdf.ApplyWatermark()Wasserzeichen
Nicht möglichpdf.SecuritySettingsPasswortschutz

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML in PDF

Vor (Sumatra PDF):

// Sumatra PDFis a standalone Windowsapp (AGPLv3) — there is NO official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and shell out to it.
// Sumatra is a viewer/printer only; it cannot convert HTML to PDF, so you must use a
// separate HTML-to-PDF tool (e.g. wkhtmltopdf) and then view/print with Sumatra.
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        // Sumatra PDFcannot directly convert HTML to PDF
        // You'd need to use wkhtmltopdf or similar, then view in Sumatra
        string htmlFile = "input.html";
        string pdfFile = "output.pdf";
        
        // Using wkhtmltopdf as intermediary
        ProcessStartInfo psi = new ProcessStartInfo
        {
            FileName = "wkhtmltopdf.exe",
            Arguments = $"{htmlFile} {pdfFile}",
            UseShellExecute = false
        };
        Process.Start(psi)?.WaitForExit();
        
        // Then open with Sumatra
        Process.Start("SumatraPDF.exe", pdfFile);
    }
}
C#

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        string htmlContent = "<h1>Hello World</h1><p>This is HTML zu PDFconversion.</p>";
        
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        
        Console.WriteLine("PDF created successfully!");
    }
}
C#

Dieses Beispiel verdeutlicht den grundlegenden architektonischen Unterschied. Sumatra PDFkann HTML nicht direkt in PDF konvertieren - Sie müssen ein externes Tool wie wkhtmltopdf als Zwischenprodukt verwenden und dann Sumatra als separaten Prozess starten, um das Ergebnis anzuzeigen. Dies erfordert zwei externe ausführbare Dateien und mehrere Prozessstarts.

IronPDF verwendet ein ChromePdfRenderer mit RenderHtmlAsPdf() in nur drei Codezeilen. Keine externen Tools, kein Prozessmanagement, keine Zwischendateien. Das PDF wird direkt im Speicher erstellt und mit SaveAs() gespeichert. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Öffnen und Anzeigen von PDFs

Vor (Sumatra PDF):

// Sumatra PDFis a standalone Windowsapp (AGPLv3) — no official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and call it via Process.Start.
// Useful CLI flags: -page <n>, -print-to-default, -print-to "<printer>", -print-settings, -silent.
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";
        
        // Sumatra PDFexcels at viewing PDFs
        ProcessStartInfo startInfo = new ProcessStartInfo
        {
            FileName = "SumatraPDF.exe",
            Arguments = $"\"{pdfPath}\"",
            UseShellExecute = true
        };
        
        Process.Start(startInfo);
        
        // Optional: Open specific page
        // Arguments = $"-page 5 \"{pdfPath}\""
    }
}
C#

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        
        // Extract information
        Console.WriteLine($"Page Count: {pdf.PageCount}");
        
        //IronPDF can manipulate and save, then open with default viewer
        pdf.SaveAs("modified.pdf");
        
        // Open with default PDF viewer
        Process.Start(new ProcessStartInfo("modified.pdf") { UseShellExecute = true });
    }
}
C#

Sumatra PDF eignet sich hervorragend zum Anzeigen von PDFs, ist aber auf das Starten eines externen Prozesses mit Befehlszeilenargumenten beschränkt. Sie können nicht programmatisch auf den PDF-Inhalt zugreifen, sondern ihn nur anzeigen.

IronPDF lädt das PDF mit PdfDocument.FromFile() und bietet Ihnen vollen programmatischen Zugriff. Sie können Eigenschaften wie PageCount lesen, das Dokument manipulieren, Änderungen speichern und dann mit dem standardmäßigen PDF-Viewer des Systems öffnen. Der Hauptunterschied besteht darin, dass IronPDF eine echte API bereitstellt und nicht nur Prozessargumente. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Extrahieren von Text aus PDFs

Vor (Sumatra PDF):

// Sumatra PDFis a standalone Windowsviewer (AGPLv3) — no official NuGet package
// and no programmatic text-extraction API. To extract text you must shell out to a
// separate tool such as pdftotext (Xpdf / Poppler).
using System;
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        // Sumatra PDFis a viewer, not a text extraction library
        // You'd need to use PDFBox, iTextSharp, or similar for extraction
        
        string pdfFile = "document.pdf";
        
        // This would require external tools like pdftotext
        ProcessStartInfo psi = new ProcessStartInfo
        {
            FileName = "pdftotext.exe",
            Arguments = $"{pdfFile} output.txt",
            UseShellExecute = false
        };
        
        Process.Start(psi)?.WaitForExit();
        
        string extractedText = File.ReadAllText("output.txt");
        Console.WriteLine(extractedText);
    }
}
C#

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        
        // Extract text from all pages
        string allText = pdf.ExtractAllText();
        Console.WriteLine("Extracted Text:");
        Console.WriteLine(allText);
        
        // Extract text from specific page
        string pageText = pdf.ExtractTextFromPage(0);
        Console.WriteLine($"\nFirst Page Text:\n{pageText}");
    }
}

Sumatra PDF ist ein Viewer, keine Textextraktionsbibliothek. Um Text zu extrahieren, müssen Sie externe Befehlszeilen-Tools wie pdftotext.exe verwenden, einen Prozess starten, darauf warten, dass er abgeschlossen ist, die Ausgabedatei lesen und alle damit verbundenen Datei-I/O sowie die Bereinigung handhaben.

IronPDF bietet native Textextraktion mit ExtractAllText() für das gesamte Dokument oder ExtractTextFromPage(0) für spezifische Seiten. Keine externen Prozesse, keine temporären Dateien, keine Bereinigung erforderlich.


Funktionsvergleich

FeatureSumatra PDFIronPDF
Schöpfung :
URL zu PDFNeinJa
Text zu PDFNeinJa
Bild zu PDFNeinJa
Manipulation
PDFs teilenNeinJa
Seiten rotierenNeinJa
Seiten löschenNeinJa
Seiten neu ordnenNeinJa
: Inhalt :
Kopfzeilen/Fußzeilen hinzufügenNeinJa
Stempel TextNeinJa
Stempel-BilderNeinJa
Sicherheit :
Digitale SignaturenNeinJa
VerschlüsselungNeinJa
BerechtigungseinstellungenNeinJa
Extraktion :
Bilder extrahierenNeinJa
Plattform :
LinuxNeinJa
macOSNeinJa
WebanwendungenNeinJa
Azure/AWSNeinJa

Neue Funktionen nach der Migration

Nach der Migration zu IronPDF erhalten Sie Funktionen, die Sumatra PDFnicht bieten kann:

PDF-Erstellung aus HTML

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <html>
    <head><style>body { font-family: Arial; }</style></head>
    <body>
        <h1>Invoice #12345</h1>
        <p>Thank you for your purchase.</p>
    </body>
    </html>");

pdf.SaveAs("invoice.pdf");

PDF-Zusammenführung

var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var pdf3 = PdfDocument.FromFile("chapter3.pdf");

var book = PdfDocument.Merge(pdf1, pdf2, pdf3);
book.SaveAs("complete_book.pdf");

Wasserzeichen

var pdf = PdfDocument.FromFile("document.pdf");

pdf.ApplyWatermark(@"
    <div style='
        font-size: 60pt;
        color: rgba(255, 0, 0, 0.3);
        transform: rotate(-45deg);
    '>
        CONFIDENTIAL
    </div>");

pdf.SaveAs("watermarked.pdf");

Passwortschutz

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Sensitive Data</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");

Migrations-Checkliste

Vor der Migration

  • Alle Sumatra-Prozessstarts identifizieren (Process.Start("SumatraPDF.exe", ...))
  • Dokumentdruck-Workflows (-print-to-default Argumente)
  • Notieren Sie alle verwendeten Sumatra-Befehlszeilenargumente.
  • Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF

Code-Aktualisierungen

  • IronPdf NuGet-Paket installieren
  • Sumatra-Prozesscode entfernen
  • Process.Start("SumatraPDF.exe", pdfPath) mit PdfDocument.FromFile(pdfPath) ersetzen
  • Externe wkhtmltopdf.exe Aufrufe mit ChromePdfRenderer.RenderHtmlAsPdf() ersetzen
  • Externe pdftotext.exe Aufrufe mit pdf.ExtractAllText() ersetzen
  • -print-to-default Prozessaufrufe mit pdf.Print() ersetzen
  • Lizenzinitialisierung beim Anwendungsstart hinzufügen

Testen

  • PDF-Generierungsqualität testen
  • Druckfunktion überprüfen
  • Test auf allen Zielplattformen
  • Sicherstellen, dass keine Abhängigkeit von Sumatra mehr besteht

Bereinigung

  • Sumatra aus den Installationsprogrammen entfernen
  • Dokumentation aktualisieren
  • Sumatra aus den Systemanforderungen entfernen

Hinweis:: Sumatra PDF und wkhtmltopdf sind eingetragene Warenzeichen ihrer jeweiligen Besitzer. Diese Seite ist nicht mit, von oder durch das Sumatra PDF-Projekt oder das wkhtmltopdf-Projekt gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.