C#/VB.NET : ajouter des numéros de page à des documents PDF existants
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Les numéros de page sont essentiels pour les documents électroniques et papier. Ils permettent aux lecteurs de trouver plus facilement et d'accéder rapidement à des parties spécifiques d'un document sans avoir à parcourir page par page. Dans cet article, vous apprendrez à ajouter des numéros de page aux documents PDF existants en C# et VB.NET en utilisant Spire.PDF for .NET.
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Ajouter des numéros de page aux documents PDF existants à l'aide de C # et VB.NET
Vous pouvez ajouter des numéros de page à un document PDF à l'aide des champs dynamiques : PdfPageNumberField, PdfPageCountField et PdfCompositeField.
Comme leurs noms le suggèrent, le PdfPageNumberField est utilisé pour afficher le numéro de page, le PdfPageCountField est utilisé pour afficher le nombre total de pages et le PdfCompositeField est utilisé pour combiner deux ou plusieurs champs dynamiques tels que PdfPageNumberField et PdfPageCountField dans un seul champ.
Si vous souhaitez uniquement ajouter des numéros de page tels que Page 1, Page 2, Page 3… à un document PDF, vous pouvez simplement utiliser PdfPageNumberField. Si vous souhaitez ajouter des numéros de page comme Page X sur Y au document, vous devez utiliser PdfPageNumberField, PdfPageCountField et PdfCompositeField.
Les étapes suivantes vous montrent comment ajouter des numéros de page "Page X sur Y" à un document PDF existant :
- Initialiser une instance de la classe PdfDocument.
- Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Initialisez une instance de la classe PdfPageNumberField.
- Initialisez une instance de la classe PdfPageCountField.
- Initialisez une instance de la classe PdfCompositeField.
- Définissez l'alignement du texte pour le champ composite via la propriété PdfCompositeField.StringFormat.
- Parcourez chaque page du document PDF, puis dessinez le champ composite à l'emplacement spécifique de la page à l'aide de la méthode PdfCompositeField.Draw().
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.AutomaticFields; using Spire.Pdf.Graphics; using System.Drawing; namespace AddPageNumbers { class Program { static void Main(string[] args) { //Load a PDF document PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("Sample.pdf"); //Create a true type font PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 10f, FontStyle.Regular), true); //Create a PdfPageNumberField instance PdfPageNumberField pageNumber = new PdfPageNumberField(); //Create a PdfPageCountField instance PdfPageCountField pageCount = new PdfPageCountField(); //Create a PdfCompositeField instance PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.Black, "Page {0} of {1}", pageNumber, pageCount); //Set the text alignment for the composite field compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top); //Loop through the pages for(int i = 0; i < pdf.Pages.Count; i ++) { //Draw composite filed on each page compositeField.Draw(pdf.Pages[i].Canvas, pdf.Pages[i].Size.Width / 2 - 20, pdf.Pages[i].Size.Height - pdf.PageSettings.Margins.Bottom); } //Save the result document pdf.SaveToFile("AddPageNumbers.pdf"); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
- C#/VB.NET : définir les préférences de la visionneuse et les facteurs de zoom pour les PDF
- C#/VB.NET : ajouter une couleur d'arrière-plan ou une image d'arrière-plan au PDF
- C#/VB.NET : définir ou obtenir des propriétés PDF
- C#/VB.NET : ajuster les marges d'un document PDF
- C#/VB.NET : réorganiser les pages dans un PDF
C#/VB.NET : supprimer des pages d'un PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Un document PDF peut contenir plusieurs pages avec différents contenus textuels, images ou autres objets. Parfois, les utilisateurs peuvent avoir besoin de supprimer certaines pages contenant des objets mal dessinés ou des pages sans rapport avec le sujet du document. Cet article vous montrera comment programmer supprimer/supprimer des pages d'un document PDF existant en utilisant Spire.PDF for .NET.
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Supprimer/supprimer des pages du PDF
- Créez un objet PdfDocument.
- Chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Obtenez les pages du document PDF à l'aide de la propriété PdfDocument.Pages.
- Supprimez une page spécifiée par index à l'aide de la méthode PdfPageCollection.RemoveAt(int index).
- Enregistrez le document dans un autre fichier à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; namespace RemovePage { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument document = new PdfDocument(); //Load a sample PDF document document.LoadFromFile(@"E:\Files\input.pdf"); //Remove the second page document.Pages.RemoveAt(1); //Save the result document document.SaveToFile("RemovePDFPage.pdf"); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
- C#/VB.NET : définir les préférences de la visionneuse et les facteurs de zoom pour les PDF
- C#/VB.NET : ajouter une couleur d'arrière-plan ou une image d'arrière-plan au PDF
- C#/VB.NET : définir ou obtenir des propriétés PDF
- C#/VB.NET : ajuster les marges d'un document PDF
- C#/VB.NET : réorganiser les pages dans un PDF
C#/VB.NET : ajouter, masquer ou supprimer des calques dans un PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
La couche PDF est une fonctionnalité qui organise le contenu d'un fichier PDF en couches, ce qui permet aux utilisateurs de définir de manière sélective certains contenus pour qu'ils soient visibles et d'autres pour qu'ils soient invisibles dans le même fichier PDF. Les couches PDF sont un élément couramment utilisé dans les illustrations en couches, les cartes et les dessins CAO. Cet article vous montrera comment programmer ajouter, masquer ou supprimer des calques dans un fichier PDF en utilisant Spire.PDF for .NET.
- Ajouter des calques à un document PDF en C# et VB.NET
- Définir la visibilité des calques dans un document PDF en C# et VB.NET
- Supprimer des calques dans un document PDF en C# et VB.NET
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Ajouter des calques à un document PDF en C# et VB.NET
Spire.PDF for .NET fournit la méthode PdfDocument.Layers.AddLayer() pour ajouter un calque dans un document PDF, et vous pouvez ensuite dessiner du texte, des lignes, des images ou des formes sur le calque PDF. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Ajoutez un calque avec le nom spécifié dans le PDF à l'aide de la méthode PdfDocument.Layers.AddLayer(String). Ou vous pouvez également définir la visibilité du calque lors de son ajout à l'aide de la méthode PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Créez un canevas pour le calque à l'aide de la méthode PdfLayer.CreateGraphics().
- Dessinez du texte, une image ou d'autres éléments sur la toile.
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Graphics.Layer; using System.Drawing; namespace AddLayersToPdf { class Program { static void Main(string[] args) { //Create a PdfDocument instance and load a sample PDF file PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.pdf"); //Invoke AddLayerWatermark method to add a watermark layer AddLayerWatermark(pdf); //Invoke AddLayerHeader method to add a header layer AddLayerHeader(pdf); //Save to file pdf.SaveToFile("AddLayers.pdf"); pdf.Close(); } private static void AddLayerWatermark(PdfDocument doc) { //Create a layer named "Watermark" PdfLayer layer = doc.Layers.AddLayer("Watermark"); //Create a font PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 48), true); //Specify the watermark text string watermarkText = "CONFIDENTIAL"; //Get text size SizeF fontSize = font.MeasureString(watermarkText); //Calculate two offsets float offset1 = (float)(fontSize.Width * System.Math.Sqrt(2) / 4); float offset2 = (float)(fontSize.Height * System.Math.Sqrt(2) / 4); //Get page count int pageCount = doc.Pages.Count; //Declare two variables PdfPageBase page; PdfCanvas canvas; //Loop through the pages for (int i = 0; (i < pageCount); i++) { page = doc.Pages[i]; //Create a canvas from layer canvas = layer.CreateGraphics(page.Canvas); canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2); canvas.SetTransparency(0.4f); canvas.RotateTransform(-45); //Draw sting on the canvas of layer canvas.DrawString(watermarkText, font, PdfBrushes.DarkBlue, 0, 0); } } private static void AddLayerHeader(PdfDocument doc) { // Create a layer named "Header" PdfLayer layer = doc.Layers.AddLayer("Header"); //Get page size SizeF size = doc.Pages[0].Size; //Specify the initial values of X and y float x = 90; float y = 40; //Get page count int pageCount = doc.Pages.Count; //Declare two variables PdfPageBase page; PdfCanvas canvas; //Loop through the pages for (int i = 0; (i < pageCount); i++) { //Draw an image on the layer PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\img.jpg"); float width = pdfImage.Width; float height = pdfImage.Height; page = doc.Pages[i]; canvas = layer.CreateGraphics(page.Canvas); canvas.DrawImage(pdfImage, x, y, width, height); //Draw a line on the layer PdfPen pen = new PdfPen(PdfBrushes.DarkGray, 2); canvas.DrawLine(pen, x, (y + (height + 5)), (size.Width - x), (y + (height + 2))); } } } }
Définir la visibilité des calques dans un document PDF en C# et VB.NET
Pour définir la visibilité d'un calque existant, vous devez obtenir un calque spécifié par son index ou son nom à l'aide de la propriété PdfDocument.Layers, puis afficher ou masquer le calque à l'aide de la propriété PdfLayer.Visibility. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Définissez la visibilité d'un calque spécifié à l'aide de la propriété PdfDocument.Layers.Visibility.
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics.Layer; namespace HideLayer { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF document pdf.LoadFromFile("AddLayers.pdf"); //Hide a specified layer by index pdf.Layers[0].Visibility = PdfVisibility.Off; //Hide a specified layer by name //pdf.Layers["Watermark"].Visibility = PdfVisibility.Off; //Save the result document pdf.SaveToFile("HideLayer.pdf"); } } }
Supprimer des calques dans un document PDF en C# et VB.NET
Spire.PDF for .NET vous permet également de supprimer une couche existante par son nom à l'aide de la méthode PdfDocument.Layers.RemoveLayer(String). Mais veuillez noter que les noms des calques PDF peuvent ne pas être uniques et cette méthode supprimera tous les calques PDF portant le même nom. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Supprimez un calque spécifié par son nom à l'aide de la méthode PdfDocument.Layers.RemoveLayer(String).
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; namespace DeleteLayer { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF document pdf.LoadFromFile("AddLayers.pdf"); //Remove a layer by name pdf.Layers.RemoveLayer(("Watermark")); //Save the result document pdf.SaveToFile("DeleteLayer.pdf", FileFormat.PDF); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
C#/VB.NET : créer un document PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
La création de documents PDF à partir de code offre un large éventail d'avantages. Par exemple, vous pouvez facilement incorporer du contenu dynamique tel que des entrées d'utilisateurs, des enregistrements de base de données ou des données en temps réel. La génération de PDF basée sur le code permet une plus grande personnalisation et automatisation, minimisant l'intervention manuelle dans la création de documents hautement personnalisés. Dans cet article, vous apprendrez à créer un document PDF à partir de rien en C# et VB.NET en utilisant Spire.PDF for .NET.
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Connaissances de base
Une page dans Spire.PDF (représentée par PdfPageBase) se compose d'une zone client et de marges tout autour. La zone de contenu permet aux utilisateurs d'écrire divers contenus et les marges sont généralement des bords vierges.
Comme le montre la figure ci-dessous, l'origine du système de coordonnées sur la page est située dans le coin supérieur gauche de la zone client, l'axe des x s'étendant horizontalement vers la droite et l'axe des y s'étendant verticalement vers le bas. Tous les éléments ajoutés à la zone client doivent être basés sur les coordonnées spécifiées.
En outre, le tableau suivant répertorie les classes et méthodes importantes, qui peuvent vous aider à comprendre facilement l'extrait de code fourni dans la section suivante.
Membre | Description |
Classe PdfDocument | Représente un modèle de document PDF. |
Classe PdfPageBase | Représente une page dans un document PDF. |
Classe PdfSolidBrush | Représente un pinceau qui remplit n'importe quel objet avec une couleur unie. |
Classe PdfTrueTypeFont | Représente une police True Type. |
Classe PdfStringFormat | Représente les informations de format de texte, telles que l'alignement, l'espacement des caractères et le retrait. |
Classe PdfTextWidget | Représente la zone de texte avec la possibilité de s'étendre sur plusieurs pages. |
Classe PdfTextLayout | Représente les informations de mise en page du texte. |
Méthode PdfDocument.Pages.Add() | Ajoute une page à un document PDF. |
Méthode PdfPageBase.Canvas.DrawString() | Dessine une chaîne sur une page à l'emplacement spécifié avec les objets de police et de pinceau spécifiés. |
Méthode PdfTextWidget.Draw() | Dessine le widget de texte sur une page à l'emplacement spécifié. |
Méthode PdfDocument.Save() | Enregistre le document dans un fichier PDF. |
Créer un document PDF à partir de zéro en C# et VB.NET
Bien que Spire.PDF for .NET prenne en charge l'ajout de divers types d'éléments aux documents PDF, cet article montre uniquement comment créer un document PDF avec du texte brut. Voici les étapes détaillées.
- Créez un objet PdfDocument.
- Ajoutez une page à l'aide de la méthode PdfDocument.Pages.Add().
- Créez des objets de pinceau et de police.
- Dessinez une chaîne sur la page à une coordonnée spécifiée à l'aide de la méthode PdfPageBase.Canvas.DrawString().
- Créez un objet PdfTextWidget pour contenir un morceau de texte.
- Dessinez le widget de texte sur la page à un emplacement spécifié à l'aide de la méthode PdfTextWidget.Draw().
- Enregistrez le document dans un fichier PDF à l'aide de la méthode PdfDocument.Save().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace CreatePdfDocument { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Add a page PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f)); //Specify heading text String titleText = "What is MySQL"; //Create solid brushes PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue)); PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black)); //Create true type fonts PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true); PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true); //Set the text alignment via PdfStringFormat class PdfStringFormat format = new PdfStringFormat(); format.Alignment = PdfTextAlignment.Center; //Draw heading on the center of the page page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format); //Get paragraph content from a .txt file string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt"); //Create a PdfTextWidget object to hold the paragrah content PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush); //Create a rectangle where the paragraph content will be placed RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); //Set the PdfLayoutType to Paginate to make the content paginated automatically PdfTextLayout layout = new PdfTextLayout(); layout.Layout = PdfLayoutType.Paginate; //Draw the widget on the page widget.Draw(page, rect, layout); //Save to file doc.SaveToFile("CreatePdfDocument.pdf"); doc.Dispose(); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
C#/VB.NET : fractionner un PDF en plusieurs fichiers PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Il est utile de diviser un seul PDF en plusieurs plus petits dans certaines situations. Par exemple, vous pouvez diviser des contrats volumineux, des rapports, des livres, des articles universitaires ou d'autres documents en plus petits éléments, ce qui facilite leur révision ou leur réutilisation. Dans cet article, vous apprendrez à diviser le PDF en PDF d'une seule page et comment divisez le PDF par plages de pages en C# et VB.NET en utilisant Spire.PDF for .NET.
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Diviser un PDF en PDF d'une page en C#, VB.NET
Spire.PDF propose la méthode Split () pour diviser un document PDF de plusieurs pages en plusieurs fichiers d'une seule page. Voici les étapes détaillées.
- Créez un objet PdfDcoument.
- Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Divisez le document en PDF d'une page à l'aide de la méthode PdfDocument.Split(string destFilePattern, int startNumber).
- C#
- VB.NET
using System; using Spire.Pdf; namespace SplitPDFIntoIndividualPages { class Program { static void Main(string[] args) { //Specify the input file path String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf"; //Specify the output directory String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\"; //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a PDF file doc.LoadFromFile(inputFile); //Split the PDF to one-page PDFs doc.Split(outputDirectory + "output-{0}.pdf", 1); } } }
Fractionner un PDF par plages de pages en C#, VB.NET
Aucune méthode directe n'est proposée pour diviser les documents PDF par plages de pages. Pour ce faire, nous créons deux ou plusieurs nouveaux documents PDF et y importons la page ou la plage de pages du document source. Voici les étapes détaillées.
- Chargez le fichier PDF source lors de l'initialisation de l'objet PdfDocument.
- Créez deux objets PdfDocument supplémentaires.
- Importez la première page du fichier source dans le premier document à l'aide de la méthode PdfDocument.InsertPage().
- Importez les pages restantes du fichier source dans le deuxième document à l'aide de la méthode PdfDocument.InsertPageRange().
- Enregistrez les deux documents en tant que fichiers PDF séparés à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using System; namespace SplitPdfByPageRanges { class Program { static void Main(string[] args) { //Specify the input file path String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf"; //Specify the output directory String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\"; //Load the source PDF file while initialing the PdfDocument object PdfDocument sourceDoc = new PdfDocument(inputFile); //Create two additional PdfDocument objects PdfDocument newDoc_1 = new PdfDocument(); PdfDocument newDoc_2 = new PdfDocument(); //Insert the first page of source file to the first document newDoc_1.InsertPage(sourceDoc, 0); //Insert the rest pages of source file to the second document newDoc_2.InsertPageRange(sourceDoc, 1, sourceDoc.Pages.Count - 1); //Save the two documents as PDF files newDoc_1.SaveToFile(outputDirectory + "output-1.pdf"); newDoc_2.SaveToFile(outputDirectory + "output-2.pdf"); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
C#/VB.NET : chiffrer ou déchiffrer des fichiers PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Le cryptage PDF est une tâche cruciale lorsqu'il s'agit de partager des documents confidentiels sur Internet. En cryptant les fichiers PDF avec des mots de passe forts, vous pouvez protéger les données du fichier contre l'accès par des parties non autorisées. Dans certains cas, il peut également être nécessaire de supprimer le mot de passe pour rendre le document public. Dans cet article, vous apprendrez à programmer chiffrer ou déchiffrer un fichier PDF en utilisant Spire.PDF for .NET.
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Crypter un fichier PDF avec un mot de passe
Il existe deux types de mots de passe pour chiffrer un fichier PDF - ouvrir le mot de passe et le mot de passe d'autorisation. Le premier est configuré pour ouvrir le fichier PDF, tandis que le second est configuré pour restreindre l'impression, la copie de contenu, les commentaires, etc. Si un fichier PDF est sécurisé avec les deux types de mots de passe, il peut être ouvert avec l'un ou l'autre mot de passe.
La méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) proposée par Spire.PDF for .NET vous permet de définir à la fois un mot de passe d'ouverture et un mot de passe d'autorisation pour chiffrer les fichiers PDF. Les étapes détaillées sont les suivantes.
- Créez un objet PdfDocument.
- Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Obtient les paramètres de sécurité du document à l'aide de la propriété PdfDocument.Security.
- Chiffrez le fichier PDF avec un mot de passe ouvert et un mot de passe d'autorisation à l'aide de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize).
- Enregistrez le fichier de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; namespace EncryptPDF { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument pdf = new PdfDocument(); //Load a sample PDF file pdf.LoadFromFile(@"E:\Files\sample.pdf"); //Encrypt the PDF file with password pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); //Save the result file pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF); } } }
Supprimer le mot de passe pour décrypter un fichier PDF
Lorsque vous devez supprimer le mot de passe d'un fichier PDF, vous pouvez définir le mot de passe d'ouverture et le mot de passe d'autorisation sur vide lors de l'appel de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword). Les étapes détaillées sont les suivantes.
- Créez un objet PdfDocument.
- Chargez le fichier PDF crypté avec un mot de passe à l'aide de la méthode PdfDocument.LoadFromFile (nom de fichier de chaîne, mot de passe de chaîne).
- Obtient les paramètres de sécurité du document à l'aide de la propriété PdfDocument.Security.
- Décryptez le fichier PDF en définissant le mot de passe d'ouverture et le mot de passe d'autorisation sur vide à l'aide de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword).
- Enregistrez le fichier de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; namespace DecryptPDF { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument pdf = new PdfDocument(); //Load the encrypted PDF file with password pdf.LoadFromFile("Encrypt.pdf", "open"); //Set the password as empty to decrypt PDF pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission"); //Save the result file pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
C#/VB.NET: assinar PDF digitalmente com texto ou/e imagem
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
La signature numérique garantit que le document signé ne peut être modifié par personne d'autre que son auteur. L'ajout de signatures est le moyen le plus courant de garantir l'authenticité du contenu du document. Une signature numérique visuelle dans un document PDF peut afficher du texte ou une image (par exemple, une signature manuscrite). Cet article explique comment signer numériquement des PDF en utilisant Spire.PDF for .NET à partir des trois aspects suivants.
- Signer numériquement un PDF avec du texte
- Signer numériquement un PDF avec une image
- Signer numériquement un PDF avec du texte et une image
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Signer numériquement un PDF avec du texte
Voici les étapes pour ajouter une signature en texte brut à un document PDF.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignDetail, qui affichera les détails de la signature en texte brut.
- Définissez les détails de la signature, y compris le nom, les informations de contact, la raison, la date, etc. via les propriétés sous l'objet PdfSignature.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count-1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 340, 150, 290, 100); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to sign detail signature.GraphicsMode = GraphicMode.SignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS",12f,FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextSignature.pdf"); doc.Close(); } } }
Signer numériquement un PDF avec une image
Voici les étapes pour ajouter une signature d'image à un document PDF.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignImageOnly, qui n'affichera que l'image de la signature.
- Définissez l'image de la signature via la propriété PdfSignature.SignImageSource.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Security; using System.Drawing; namespace AddImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 200, 150, 130, 130); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image only signature.GraphicsMode = GraphicMode.SignImageOnly; //Set the sign image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\verified.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("ImageSignature.pdf"); doc.Close(); } } }
Signer numériquement un PDF avec du texte et une image
Voici les étapes pour signer numériquement un document PDF avec du texte et une image.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignImageAndSignDetail, qui affichera à la fois l'image et les détails de la signature.
- Définissez l'image de la signature via la propriété PdfSignature.SignImageSource et définissez les détails de la signature, y compris le nom, les informations de contact, la raison, la date, etc. via d'autres propriétés sous l'objet PdfSignature.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextAndImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 320, 150, 260, 110); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image and sign detail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\handSignature.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextAndImageSignature.pdf"); doc.Close(); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.