Wie man ein PDF in C# exportiert | IronPDF
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:
- Starten von
SumatraPDF.exeals externen Prozess zur Anzeige von PDFs - PDFs drucken über die Befehlszeile (
-print-to-default,-print-to "<printer>") - Als Abhängigkeit müssen Ihre Benutzer Folgendes installieren
Schlüsselprobleme bei der Sumatra PDF-Integration
| Problem | Auswirkungen |
|---|---|
| Keine Bibliothek | PDFs können nicht programmatisch erstellt oder bearbeitet werden |
| Externer Prozess | Erfordert das Starten von SumatraPDF.exe; keine In-Prozess-API |
| AGPLv3 License | Starkes Copyleft (einige Dateien BSD-lizenziert); bundling into closed-source products imposes obligations most commercial vendors avoid |
| Benutzerabhängigkeit | Benutzer (oder Ihr Installationsprogramm) müssen SumatraPDF.exe auf der Festplatte platzieren |
| Nur CLI | Beschränkt auf dokumentierte Befehlszeilenargumente |
| Nur anzeigen / drucken | Kann keine PDFs erstellen, bearbeiten oder manipulieren |
| Nur Windows | Keine Linux- oder macOS-Versionen |
Vergleich zwischen Sumatra PDFund IronPDF
| Feature | Sumatra PDF | IronPDF |
|---|---|---|
| Typ | Anwendung | Bibliothek |
| PDF-Lesen | Ja | Ja |
| PDF-Erstellung | Nein | Ja |
| PDF-Bearbeitung | Nein | Ja |
| Integration | Begrenzt (Standalone) | Vollständige Integration in Anwendungen |
| Lizenz | AGPLv3 (einige Dateien BSD) | Kommerziell |
| Erstellen von PDFs | Nein | Ja |
| PDFs bearbeiten | Nein | Ja |
| HTML zu PDF | Nein | Ja |
| Merge/Split | Nein | Ja |
| Wasserzeichen | Nein | Ja |
| Digitale Signaturen | Nein | Ja |
| Formularausfüllen | Nein | Ja |
| Textextraktion | Nein | Ja |
| .NET-Integration | None | Native |
| Webanwendungen | Nein | Ja |
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
- .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
- IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.
Installation
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
Lizenz-Konfiguration
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' 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;
// Before: Sumatra PDF(external process)
using System.Diagnostics;
using System.IO;
// After: IronPDF
using IronPdf;
Imports System.Diagnostics
Imports System.IO
Imports IronPdf
Kernkapazitätszuordnungen
| Sumatra PDF-Ansatz | IronPDF-Äquivalent | Notizen |
|---|---|---|
Process.Start("SumatraPDF.exe", pdfPath) |
PdfDocument.FromFile() |
PDF laden |
| Befehlszeilenargumente | NativeAPI-Methoden | Kein CLI erforderlich |
Externe pdftotext.exe |
pdf.ExtractAllText() |
Textextraktion |
Externe wkhtmltopdf.exe |
renderer.RenderHtmlAsPdf() |
HTML zu PDF |
-print-to-default-Argument |
pdf.Print() |
|
| Nicht möglich | PdfDocument.Merge() |
PDFs zusammenführen |
| Nicht möglich | pdf.ApplyWatermark() |
Wasserzeichen |
| Nicht möglich | pdf.SecuritySettings |
Passwortschutz |
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);
}
}
// 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);
}
}
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
' Sumatra PDF cannot directly convert HTML to PDF
' You'd need to use wkhtmltopdf or similar, then view in Sumatra
Dim htmlFile As String = "input.html"
Dim pdfFile As String = "output.pdf"
' Using wkhtmltopdf as intermediary
Dim psi As New ProcessStartInfo With {
.FileName = "wkhtmltopdf.exe",
.Arguments = $"{htmlFile} {pdfFile}",
.UseShellExecute = False
}
Process.Start(psi)?.WaitForExit()
' Then open with Sumatra
Process.Start("SumatraPDF.exe", pdfFile)
End Sub
End Module
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!");
}
}
// 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!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<h1>Hello World</h1><p>This is HTML zu PDFconversion.</p>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
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}\""
}
}
// 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}\""
}
}
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
Dim pdfPath As String = "document.pdf"
' Sumatra PDF excels at viewing PDFs
Dim startInfo As New ProcessStartInfo With {
.FileName = "SumatraPDF.exe",
.Arguments = $"""{pdfPath}""",
.UseShellExecute = True
}
Process.Start(startInfo)
' Optional: Open specific page
' .Arguments = $"-page 5 ""{pdfPath}"""
End Sub
End Module
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 });
}
}
// 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 });
}
}
Imports IronPdf
Imports System
Imports System.Diagnostics
Module Program
Sub Main()
Dim 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") With {.UseShellExecute = True})
End Sub
End Module
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);
}
}
// 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);
}
}
Imports System
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
' Sumatra PDF is a viewer, not a text extraction library
' You'd need to use PDFBox, iTextSharp, or similar for extraction
Dim pdfFile As String = "document.pdf"
' This would require external tools like pdftotext
Dim psi As New ProcessStartInfo With {
.FileName = "pdftotext.exe",
.Arguments = $"{pdfFile} output.txt",
.UseShellExecute = False
}
Process.Start(psi)?.WaitForExit()
Dim extractedText As String = File.ReadAllText("output.txt")
Console.WriteLine(extractedText)
End Sub
End Module
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}");
}
}
// 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}");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
' Extract text from all pages
Dim allText As String = pdf.ExtractAllText()
Console.WriteLine("Extracted Text:")
Console.WriteLine(allText)
' Extract text from specific page
Dim pageText As String = pdf.ExtractTextFromPage(0)
Console.WriteLine(vbCrLf & "First Page Text:" & vbCrLf & pageText)
End Sub
End Class
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
| Feature | Sumatra PDF | IronPDF | |||
|---|---|---|---|---|---|
| Schöpfung : | HTML zu PDF | Nein | Ja | ||
| URL zu PDF | Nein | Ja | |||
| Text zu PDF | Nein | Ja | |||
| Bild zu PDF | Nein | Ja | |||
| Manipulation | PDFs zusammenführen | Nein | Ja | ||
| PDFs teilen | Nein | Ja | |||
| Seiten rotieren | Nein | Ja | |||
| Seiten löschen | Nein | Ja | |||
| Seiten neu ordnen | Nein | Ja | |||
| : Inhalt : | Wasserzeichen hinzufügen | Nein | Ja | ||
| Kopfzeilen/Fußzeilen hinzufügen | Nein | Ja | |||
| Stempel Text | Nein | Ja | |||
| Stempel-Bilder | Nein | Ja | |||
| Sicherheit : | Passwortschutz | Nein | Ja | ||
| Digitale Signaturen | Nein | Ja | |||
| Verschlüsselung | Nein | Ja | |||
| Berechtigungseinstellungen | Nein | Ja | |||
| Extraktion : | Text extrahieren | Nein | Ja | ||
| Bilder extrahieren | Nein | Ja | |||
| Plattform : | Windows | Ja | Ja | ||
| Linux | Nein | Ja | |||
| macOS | Nein | Ja | |||
| Webanwendungen | Nein | Ja | |||
| Azure/AWS | Nein | Ja |
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");
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");
Dim renderer = New ChromePdfRenderer()
Dim 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");
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");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim pdf3 = PdfDocument.FromFile("chapter3.pdf")
Dim 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");
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");
Dim 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");
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");
Dim renderer As New ChromePdfRenderer()
Dim 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-defaultArgumente) - Notieren Sie alle verwendeten Sumatra-Befehlszeilenargumente.
- Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF
Code-Aktualisierungen
IronPdfNuGet-Paket installieren- Sumatra-Prozesscode entfernen
Process.Start("SumatraPDF.exe", pdfPath)mitPdfDocument.FromFile(pdfPath)ersetzen- Externe
wkhtmltopdf.exeAufrufe mitChromePdfRenderer.RenderHtmlAsPdf()ersetzen - Externe
pdftotext.exeAufrufe mitpdf.ExtractAllText()ersetzen -print-to-defaultProzessaufrufe mitpdf.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

