Migrieren von Sumatra PDF zu IronPDF in C#
Durch die Migration von Sumatra PDF zu 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, GPL-Lizenzbeschränkungen und die grundlegende Einschränkung, dass Sumatra PDF ein Viewer und keine Entwicklungsbibliothek ist, eliminiert.
Warum von Sumatra PDF zu IronPDF migrieren
Sumatra verstehen PDF
Sumatra PDF ist in erster Linie ein leichtgewichtiger, quelloffener PDF-Reader, der für seine Einfachheit und Geschwindigkeit bekannt ist. Sumatra PDF bietet jedoch keine Funktionen, die für die Erstellung oder Bearbeitung von PDF-Dateien über die Anzeige hinaus erforderlich sind. Als kostenlose und vielseitige Option zum Lesen von PDFs wird es von vielen Nutzern geschätzt, die ein schnörkelloses Erlebnis suchen. Wenn es jedoch um Entwickler geht, die umfassendere PDF-Funktionen wie die Erstellung und Integration von Bibliotheken in Anwendungen benötigen, ist Sumatra PDF aufgrund seiner inhärenten Designbeschränkungen nicht geeignet.
Sumatra PDF ist eine Desktop-PDF-Viewer-Anwendung, keine Entwicklungsbibliothek. Wenn Sie Sumatra PDF in Ihrer .NET-Anwendung verwenden, sind Sie wahrscheinlich:
- Starten als externer Prozess zur Anzeige von PDFs
- Verwendung zum Drucken von PDFs über die Befehlszeile
- 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 separaten Prozessen |
| GPL-Lizenz | Einschränkend für kommerzielle Software |
| Benutzerabhängigkeit | Die Benutzer müssen Sumatra separat installieren |
| Keine API | Begrenzt auf Befehlszeilenargumente |
| Nur anzeigen | Kann keine PDFs erstellen, bearbeiten oder manipulieren |
| Keine Web-Unterstützung | Reine Desktop-Anwendung |
Vergleich zwischen Sumatra PDF und 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 | GPL | 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 | Keine | 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 die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietet IronPDF eine native Bibliotheksintegration, die den externen Prozessaufwand und die GPL-Lizenzbeschränkungen von Sumatra PDF überflüssig macht.
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 |
Extern pdftotext.exe |
pdf.ExtractAllText() |
Textextraktion |
Extern 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):
// NuGet: Install-Package SumatraPDF (Note: Sumatra is primarily a viewer, not a generator)
// Sumatra PDFdoesn't have direct C# integration for HTML zu PDFconversion
// You would need to use external tools or libraries and then open 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);
}
}
// NuGet: Install-Package SumatraPDF (Note: Sumatra is primarily a viewer, not a generator)
// Sumatra PDFdoesn't have direct C# integration for HTML zu PDFconversion
// You would need to use external tools or libraries and then open 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 PDF kann 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 ChromePdfRenderer mit RenderHtmlAsPdf() in nur drei Codezeilen. Keine externen Tools, kein Prozessmanagement, keine Zwischendateien. Die PDF-Datei 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):
// NuGet: Install-Package SumatraPDF.CommandLine (or direct executable)
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}\""
}
}
// NuGet: Install-Package SumatraPDF.CommandLine (or direct executable)
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
Class Program
Shared 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 Class
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}");
//IronPDFcan 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}");
//IronPDFcan 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
Class Program
Shared 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 Class
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 die PDF-Datei mit PdfDocument.FromFile() und ermöglicht Ihnen so den vollen programmatischen Zugriff. Sie können Eigenschaften wie PageCount lesen, das Dokument bearbeiten, Änderungen speichern und es 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 PDFdoesn't provide C# API for text extraction
// You would need to use command-line tools or other libraries
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 PDFdoesn't provide C# API for text extraction
// You would need to use command-line tools or other libraries
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.Diagnostics
Imports System.IO
Class Program
Shared 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 Class
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 Befehlszeilentools wie pdftotext.exe verwenden, einen Prozess starten, warten, bis dieser abgeschlossen ist, die Ausgabedatei lesen und alle damit verbundenen Datei-E/A- und Aufräumarbeiten durchführen.
IronPDF bietet native Textextraktion mit ExtractAllText() für das gesamte Dokument oder ExtractTextFromPage(0) für bestimmte 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 PDF nicht 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", ...)) - Dokumentendruck-Workflows (
-print-to-defaultArgumente) - Notieren Sie alle verwendeten Sumatra-Befehlszeilenargumente.
- Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF
Code-Aktualisierungen
- Installieren Sie das NuGet Paket
IronPdf - Sumatra-Prozesscode entfernen
- Ersetzen Sie
Process.Start("SumatraPDF.exe", pdfPath)durchPdfDocument.FromFile(pdfPath) - Ersetzen Sie externe
wkhtmltopdf.exe-Aufrufe durchChromePdfRenderer.RenderHtmlAsPdf() - Ersetzen Sie externe
pdftotext.exe-Aufrufe durchpdf.ExtractAllText() - Ersetzen Sie
-print-to-defaultProzessaufrufe durchpdf.Print() - 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

