Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

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:

  1. Starten als externer Prozess zur Anzeige von PDFs
  2. Verwendung zum Drucken von PDFs über die Befehlszeile
  3. 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

  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
# Install IronPDF
dotnet add package IronPdf
SHELL

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

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

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() Drucken
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
$vbLabelText   $csharpLabel

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

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

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

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

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

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

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

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

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

Migrations-Checkliste

Vor der Migration

  • Alle Sumatra-Prozessstarts identifizieren (Process.Start("SumatraPDF.exe", ...))
  • Dokumentendruck-Workflows (-print-to-default Argumente)
  • 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) durch PdfDocument.FromFile(pdfPath)
  • Ersetzen Sie externe wkhtmltopdf.exe-Aufrufe durch ChromePdfRenderer.RenderHtmlAsPdf()
  • Ersetzen Sie externe pdftotext.exe-Aufrufe durch pdf.ExtractAllText()
  • Ersetzen Sie -print-to-default Prozessaufrufe durch pdf.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

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 ...

Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an