Installé via NuGet

PM> Install-Package Spire.PDF

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");
            }
        }
    }

C#/VB.NET: Add Page Numbers to Existing PDF Documents

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.

Voir également

Published in pdf
Friday, 18 August 2023 03:08

C#/VB.NET : supprimer des pages d'un PDF

Installé via NuGet

PM> Install-Package Spire.PDF

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");
            }
        }
    }

C#/VB.NET: Delete Pages from 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.

Voir également

Published in pdf

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.

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)));
                }
            }
        }
    } 

C#/VB.NET: Add, Hide or Delete Layers in PDF

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");
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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);
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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.

Voir également

Published in pdf
Friday, 18 August 2023 02:01

C#/VB.NET : créer un document PDF

Installé via NuGet

PM> Install-Package Spire.PDF

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.

C#/VB.NET: Create a PDF Document

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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Voir également

Published in pdf

Installé via NuGet

PM> Install-Package Spire.PDF

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);
            }
        }
    }

C#/VB.NET: Split PDF into Separate PDFs

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");
            }
        }
    }

C#/VB.NET: Split PDF into Separate PDFs

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.

Voir également

Published in pdf

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);
            }
        }
    }

C#/VB.NET: Encrypt or Decrypt PDF Files

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);
            }
        }
    } 

C#/VB.NET: Encrypt or Decrypt PDF Files

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.

Voir également

Published in pdf

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.

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();
            }
        }
    }

C#/VB.NET: Digitally Sign PDF with Text or/and Image

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();
            }
        }
    }

C#/VB.NET: Digitally Sign PDF with Text or/and Image

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();
            }
        }
    }

C#/VB.NET: Digitally Sign PDF with Text or/and Image

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.

Voir également

Published in pdf
Page 2 of 2