Comment exporter un PDF en C# | IronPDF
La migration de Sumatra PDFvers IronPDF transforme votre flux de travail PDF d'une gestion de processus externe avec une application de visualisation de bureau à une intégration de bibliothèque .NET native avec des capacités complètes de création, de manipulation et d'extraction de PDF. Ce guide fournit un chemin de migration complet, étape par étape, qui élimine les dépendances externes, les obligations de copyleft AGPLv3, et la limitation fondamentale que Sumatra PDFest un visualiseur/imprimante, et non une bibliothèque de développement.
Pourquoi migrer de Sumatra PDFvers IronPDF
Compréhension de Sumatra PDF
Sumatra PDF est un léger lecteur/imprimante PDF pour Fenêtresopen-source renommé pour sa simplicité et rapidité. Il affiche également des fichiers EPUB, MOBI, CBZ/CBR, FB2, CHM, XPS et DjVu. Cependant, Sumatra PDFne fournit pas les capacités nécessaires pour créer ou manipuler des fichiers PDF au-delà de leur visualisation et de leur impression, et il n'existe pas de SDK .NET officiel ou de package NuGet — les wrappers de la communauté se contentent de faire appel à SumatraPDF.exe.
Sumatra PDF est une application autonome de visualisateur/imprimante de bureau Windows, pas une bibliothèque de développement. Si vous utilisez Sumatra PDFdans votre application .NET, vous êtes probablement.. :
- Lancer
SumatraPDF.execomme processus externe pour afficher des PDFs - Imprimer des PDFs via la ligne de commande (
-print-to-default,-print-to "<printer>") - Il s'agit d'une dépendance que vos utilisateurs doivent installer
Principaux problèmes liés à l'intégration de Sumatra PDF
| Problématique | Impact |
|---|---|
| Pas une bibliothèque | Impossible de créer ou d'éditer des PDF de manière programmatique |
| Processus externe | Nécessite de lancer SumatraPDF.exe ; aucune API en cours de processus |
| Licence AGPLv3 | Copyleft fort (certains fichiers sous licence BSD) ; bundling into closed-source products imposes obligations most commercial vendors avoid |
| Dépendance de l'utilisateur | Les utilisateurs (ou votre installateur) doivent placer SumatraPDF.exe sur le disque |
| CLI seulement | Limité aux arguments de ligne de commande documentés |
| Visualisation / Impression seulement | Impossibilité de créer, d'éditer ou de manipuler des PDF |
| Windows seulement | Pas de versions Linuxou macOS |
Comparaison Sumatra PDFvs IronPDF
| Fonction | Sumatra PDF | IronPDF |
|---|---|---|
| Type | Application | Bibliothèque |
| Lecture de PDF | Oui | Oui |
| Création de PDF | Non | Oui |
| Édition de PDF | Non | Oui |
| Intégration | Limité (autonome) | Intégration complète dans les applications |
| Licence | AGPLv3 (certains fichiers sous BSD) | Commercial |
| Créer des PDF | Non | Oui |
| Éditer des PDF | Non | Oui |
| HTML à PDF | Non | Oui |
| Fusion/Fractionnement | Non | Oui |
| Marqueurs d'eau | Non | Oui |
| Signatures numériques | Non | Oui |
| Remplissage de formulaires | Non | Oui |
| Extraction de texte | Non | Oui |
| Intégration .NET | None | Natif |
| Applications web | Non | Oui |
IronPDF, contrairement à Sumatra PDF, n'est pas lié à une application de bureau spécifique ou à un processus externe. Il fournit aux développeurs une bibliothèque flexible pour créer, éditer et manipuler dynamiquement des documents PDF directement en C#. Ce découplage des processus externes présente un avantage notable : il est simple et adaptable, et convient à un large éventail d'applications au-delà de la simple visualisation.
Pour les équipes ciblant le .NET moderne,IronPDF fournit une intégration de bibliothèque native qui élimine la surcharge de processus externe et les obligations de copyleft AGPLv3 de Sumatra PDF.
Avant de commencer
Prérequis
- Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
- Accès à NuGet : possibilité d'installer des packages NuGet
- Licence IronPDF : Obtenez votre clé de licence sur IronPDF
Installation
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
Configuration de la licence
// 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"
Référence API complète
Modifications de l'espace de nommage
// 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
Mappages des capacités de base
| Sumatra PDFApproche | Équivalent d'IronPDF | Notes |
|---|---|---|
Process.Start("SumatraPDF.exe", pdfPath) |
PdfDocument.FromFile() |
Charger le PDF |
| Arguments de la ligne de commande | Méthodes API natives | Pas de CLI nécessaire |
Externe pdftotext.exe |
pdf.ExtractAllText() |
Extraction de texte |
Externe wkhtmltopdf.exe |
renderer.RenderHtmlAsPdf() |
HTML vers PDF |
Argument -print-to-default |
pdf.Print() |
Impression |
| Pas possible | PdfDocument.Merge() |
Fusionner des PDF |
| Pas possible | pdf.ApplyWatermark() |
Filigranes |
| Pas possible | pdf.SecuritySettings |
Protection par mot de passe |
Exemples de migration de code
Exemple 1 : Conversion HTML vers PDF
Avant (Sumatra PDF):
// Sumatra PDFis a standalone Fenêtresapp (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 Fenêtresapp (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
Après (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 vers 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 vers 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 vers PDFconversion.</p>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
Cet exemple illustre la différence architecturale fondamentale. Sumatra PDFne peut pas convertir directement HTML en PDF. Vous devez utiliser un outil externe comme wkhtmltopdf en tant qu'intermédiaire, puis lancer Sumatra en tant que processus séparé pour voir le résultat. Cela nécessite deux exécutables externes et plusieurs lancements de processus.
IronPDF utilise un ChromePdfRenderer avec RenderHtmlAsPdf() en seulement trois lignes de code. Pas d'outils externes, pas de gestion de processus, pas de fichiers intermédiaires. Le PDF est créé directement en mémoire et enregistré avec SaveAs(). Consultez la documentation HTML vers PDF pour des exemples complets.
Exemple 2 : Ouverture et affichage de fichiers PDF
Avant (Sumatra PDF):
// Sumatra PDFis a standalone Fenêtresapp (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 Fenêtresapp (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
' startInfo.Arguments = $"-page 5 ""{pdfPath}"""
End Sub
End Module
Après (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 excelle dans la visualisation des PDF, mais il est limité au lancement d'un processus externe avec des arguments de ligne de commande. Vous ne pouvez pas accéder par programme au contenu du PDF, mais seulement l'afficher.
IronPDF charge le PDF avec PdfDocument.FromFile(), vous donnant un accès programmatique complet. Vous pouvez lire des propriétés comme PageCount, manipuler le document, enregistrer les modifications, puis ouvrir avec le visualiseur PDF par défaut du système. La principale différence réside dans le fait qu'IronPDF fournit une véritable API, et pas seulement des arguments de processus. Pour en savoir plus, consultez nos tutoriels.
Exemple 3 : Extraction de texte à partir de PDF
Avant (Sumatra PDF):
// Sumatra PDFis a standalone Fenêtresviewer (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 Fenêtresviewer (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 PDFis 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
Après (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 est une visionneuse et non une bibliothèque d'extraction de texte. Pour extraire du texte, vous devez utiliser des outils en ligne de commande externes comme pdftotext.exe, lancer un processus, attendre qu'il se termine, lire le fichier de sortie, et gérer tous les E/S de fichiers et le nettoyage associés.
IronPDF fournit une extraction de texte native avec ExtractAllText() pour l'ensemble du document ou ExtractTextFromPage(0) pour des pages spécifiques. Aucun processus externe, aucun fichier temporaire, aucun nettoyage n'est nécessaire.
Comparaison des fonctionnalités
| Fonction | Sumatra PDF | IronPDF | |||
|---|---|---|---|---|---|
| : Création : | HTML vers PDF | Non | Oui | ||
| URL vers PDF | Non | Oui | |||
| Texte au format PDF | Non | Oui | |||
| De l'image au PDF | Non | Oui | |||
| : Manipulation : | Fusionner des PDF | Non | Oui | ||
| Diviser les PDF | Non | Oui | |||
| Rotation des pages | Non | Oui | |||
| Supprimer des pages | Non | Oui | |||
| Réorganiser les pages | Non | Oui | |||
| : Contenu : | Ajouter des filigranes | Non | Oui | ||
| Ajouter des en-têtes/pieds de page | Non | Oui | |||
| Texte du timbre | Non | Oui | |||
| Images du timbre | Non | Oui | |||
| : Sécurité : | Protection par mot de passe | Non | Oui | ||
| Signatures numériques | Non | Oui | |||
| Chiffrement | Non | Oui | |||
| Paramètres de permission | Non | Oui | |||
| Extraction : | Extraire le texte | Non | Oui | ||
| Extraire des images | Non | Oui | |||
| : Plate-forme : | Fenêtres | Oui | Oui | ||
| Linux | Non | Oui | |||
| macOS | Non | Oui | |||
| Applications Web | Non | Oui | |||
| Azure/AWS | Non | Oui |
Nouvelles capacités après la migration
Après avoir migré vers IronPDF, vous bénéficiez de fonctionnalités que Sumatra PDFne peut pas vous offrir :
Création de PDF à partir de 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")
Fusion de fichiers 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");
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")
Marques de fond
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")
Protection par mot de passe
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")
Liste de contrôle de la migration
Pré-migration
- Identifier tous les lancements de processus Sumatra (
Process.Start("SumatraPDF.exe", ...)) - Documenter les flux de travail d'impression (
-print-to-defaultarguments) - Notez les arguments de ligne de commande Sumatra utilisés.
- Obtenez votre clé de licence IronPDF sur IronPDF
Mises à jour du code
- Installer le package NuGet
IronPdf - Supprimer le code de traitement Sumatra
- Remplacer
Process.Start("SumatraPDF.exe", pdfPath)parPdfDocument.FromFile(pdfPath) - Remplacer les appels externes
wkhtmltopdf.exeparChromePdfRenderer.RenderHtmlAsPdf() - Remplacer les appels externes
pdftotext.exeparpdf.ExtractAllText() - Remplacer les appels de processus
-print-to-defaultparpdf.Print() - Ajouter l'initialisation de la licence au démarrage de l'application
Essai
- Tester la qualité de génération des PDF
- Vérifier la fonctionnalité d'impression
- Test sur toutes les plateformes cibles
- Vérifiez qu'il ne reste aucune dépendance à Sumatra
Nettoyage
- Supprimer Sumatra des programmes d'installation
- Mise à jour de la documentation
- Supprimer Sumatra des exigences système

