Alors que les documents PDF deviennent de plus en plus populaires dans les entreprises, garantir leur authenticité est devenu une préoccupation majeure. La signature de PDF avec une signature basée sur un certificat peut protéger le contenu et également permettre aux autres de savoir qui a signé ou approuvé le document. Dans cet article, vous apprendrez comment signer numériquement un PDF avec une signature invisible ou visible, et comment supprimer les signatures numériques d'un PDF à l'aide de 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 comme 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 une signature numérique invisible au PDF

Voici les étapes pour ajouter une signature numérique invisible au PDF à l'aide de Spire.PDF for .NET.

  • Créez un objet PdfDocument.
  • 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 basé sur le certificat.
  • Définissez les autorisations du document via l'objet PdfSignature.
  • Enregistrez le document dans un autre fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace AddInvisibleSignature
    {
        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
                PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature");
    
                //Set the document permission to forbid changes but allow form fill
                signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill;
    
                //Save to another PDF file
                doc.SaveToFile("InvisibleSignature.pdf");
                doc.Close();
            }
        }
    }

C#/VB.NET: Add or Remove Digital Signatures in PDF

Ajouter une signature numérique visible au PDF

Voici les étapes pour ajouter une signature numérique visible au PDF à l'aide de Spire.PDF for .NET.

  • Créez un objet PdfDocument.
  • 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 et spécifiez sa position et sa taille sur le document.
  • Définissez les détails de la signature, notamment la date, le nom, le lieu, le motif, l'image de la signature manuscrite et les autorisations du document.
  • Enregistrez le document dans un autre fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using System;
    using System.Drawing;
    using Spire.Pdf;
    using Spire.Pdf.Security;
    using Spire.Pdf.Graphics;
    
    namespace AddVisibleSignature
    {
        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 - 260 - 54 , 200, 260, 110);
                signature.Bounds = rectangleF;
                signature.Certificated = true;
    
                //Set the graphics mode to ImageAndSignDetail
                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\\handwrittingSignature.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("VisiableSignature.pdf");
                doc.Close();
            }
        }
    }

C#/VB.NET: Add or Remove Digital Signatures in PDF

Supprimer les signatures numériques du PDF

Voici les étapes pour supprimer les signatures numériques d'un PDF à l'aide de Spire.PDF for .NET.

  • Créez un objet PdfDocument.
  • Obtenez des widgets de formulaire à partir du document via la propriété PdfDocument.Form.
  • Parcourez les widgets et déterminez si un widget spécifique est un PdfSignatureFieldWidget.
  • Supprimez le widget de signature à l'aide de la méthode PdfFieldCollection.RemoveAt().
  • Enregistrez le document dans un autre fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Widget;
    
    namespace RemoveSignature
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument("C:\\Users\\Administrator\\Desktop\\VisiableSignature.pdf");
    
                //Get form widgets from the document
                PdfFormWidget widgets = doc.Form as PdfFormWidget;
    
                //Loop through the widgets
                for (int i = 0; i < widgets.FieldsWidget.List.Count; i++)
                {
                    //Get the specific widget
                    PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget;
    
                    //Determine if the widget is a PdfSignatureFieldWidget
                    if (widget is PdfSignatureFieldWidget)
                    {
                        //Remove the widget
                        widgets.FieldsWidget.RemoveAt(i);
                    }
                }
    
                //Save the document to another PDF file
                doc.SaveToFile("RemoveSignatures.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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Installé via NuGet

PM> Install-Package Spire.PDF

Si vous souhaitez combiner plusieurs images en un seul fichier pour une distribution ou un stockage plus facile, les convertir en un seul document PDF est une excellente solution. Ce processus permet non seulement d'économiser de l'espace, mais garantit également que toutes vos images sont conservées ensemble dans un seul fichier, ce qui facilite le partage ou le transfert. Dans cet article, vous apprendrez comment combinez plusieurs images en un seul document PDF en C# et VB.NET à l'aide de 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 comme 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

Combinez plusieurs images en un seul PDF en C# et VB.NET

Afin de convertir toutes les images d'un dossier en PDF, nous parcourons chaque image, ajoutons une nouvelle page au PDF avec la même taille que l'image, puis dessinons l'image sur la nouvelle page. Voici les étapes détaillées.

  • Créez un objet PdfDocument.
  • Définissez les marges de la page sur zéro à l’aide de la méthode PdfDocument.PageSettings.SetMargins().
  • Obtenez le dossier dans lequel les images sont stockées.
  • Parcourez chaque fichier image du dossier et obtenez la largeur et la hauteur d’une image spécifique.
  • Ajoutez une nouvelle page ayant la même largeur et hauteur que l'image au document PDF à l'aide de la méthode PdfDocument.Pages.Add().
  • Dessinez l'image sur la page à l'aide de la méthode PdfPageBase.Canvas.DrawImage().
  • Enregistrez le document à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace ConvertMultipleImagesIntoPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Set the page margins to 0
                doc.PageSettings.SetMargins(0);
    
                //Get the folder where the images are stored
                DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
    
                //Iterate through the files in the folder
                foreach (FileInfo file in folder.GetFiles())
                {
                    //Load a particular image
                    Image image = Image.FromFile(file.FullName);
    
                    //Get the image width and height
                    float width = image.PhysicalDimension.Width;
                    float height = image.PhysicalDimension.Height;
    
                    //Add a page that has the same size as the image
                    PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
    
                    //Create a PdfImage object based on the image
                    PdfImage pdfImage = PdfImage.FromImage(image);
    
                    //Draw image at (0, 0) of the page
                    page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
                }
    
                //Save to file
                doc.SaveToFile("CombinaImagesToPdf.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Convert Multiple Images into a Single 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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf
Friday, 20 October 2023 02:52

C#/VB.NET : convertir un PDF en SVG

SVG (Scalable Vector Graphics) est un format de fichier image utilisé pour le rendu d'images bidimensionnelles sur le Web. Par rapport à d'autres formats de fichiers image, SVG présente de nombreux avantages, tels que la prise en charge de l'interactivité et de l'animation, permettant aux utilisateurs de rechercher, d'indexer, de créer des scripts et de compresser/agrandir des images sans perte de qualité. Parfois, vous devrez peut-être convertissez des fichiers PDF au format de fichier SVG et cet article montrera comment accomplir cette tâche à l'aide de 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 comme 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

Convertir un fichier PDF en SVG en C#/VB.NET

Spire.PDF for .NET propose la méthode PdfDocument.SaveToFile(String, FileFormat) pour convertir chaque page d'un fichier PDF en un seul fichier SVG. 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().
  • Convertissez le fichier PDF en SVG à l'aide de la méthode PdfDocument.SaveToFile(String, FileFormat).
  • C#
  • VB.NET
using Spire.Pdf;
    
    namespace ConvertPDFtoSVG
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument document = new PdfDocument();
    
                //Load a sample PDF file
                document.LoadFromFile("input.pdf");
    
                //Convert PDF to SVG
                document.SaveToFile("PDFtoSVG.svg", FileFormat.SVG);
            }
        }
    }

C#/VB.NET: Convert PDF to SVG

Convertir les pages PDF sélectionnées en SVG en C#/VB.NET

La méthode PdfDocument.SaveToFile(String, Int32, Int32, FileFormat) vous permet de convertir les pages spécifiées d'un fichier PDF en fichiers SVG. 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().
  • Convertissez les pages PDF sélectionnées en SVG à l'aide de la méthode PdfDocument.SaveToFile(String, Int32, Int32, FileFormat).
  • C#
  • VB.NET
using Spire.Pdf;
    
    namespace PDFPagetoSVG
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Load a sample PDF file
                doc.LoadFromFile("input.pdf");
    
                //Convert selected PDF pages to SVG
                doc.SaveToFile("PDFPagetoSVG.svg", 1, 2, FileFormat.SVG);
            }
        }
    }

C#/VB.NET: Convert PDF to SVG

Convertir un fichier PDF en SVG avec une largeur et une hauteur personnalisées en C#/VB.NET

La méthode dfConvertOptions.SetPdfToSvgOptions()P proposée par Spire.PDF for .NET vous permet de spécifier la largeur et la hauteur du fichier SVG de sortie. 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().
  • Définissez les options de conversion PDF à l’aide de la propriété PdfDocument.ConvertOptions.
  • Spécifiez la largeur et la hauteur du fichier SVG de sortie à l'aide de la méthode PdfConvertOptions.SetPdfToSvgOptions().
  • Convertissez le fichier PDF en SVG à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    
    namespace PDFtoSVG
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument document = new PdfDocument();
    
                //Load a sample PDF file
                document.LoadFromFile("input.pdf");
    
                //Specify the width and height of output SVG file
                document.ConvertOptions.SetPdfToSvgOptions(800f, 1200f);
    
                //Convert PDF to SVG
                document.SaveToFile("result.svg", FileFormat.SVG);
            }
        }
    }

C#/VB.NET: Convert PDF to SVG

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Installé via NuGet

PM> Install-Package Spire.PDF

La linéarisation PDF, également connue sous le nom de « Fast Web View », est un moyen d'optimiser les fichiers PDF. Habituellement, les utilisateurs ne peuvent visualiser un fichier PDF de plusieurs pages en ligne que lorsque leur navigateur Web a téléchargé toutes les pages du serveur. Cependant, si le fichier PDF est linéarisé, les navigateurs peuvent afficher la première page très rapidement même si le téléchargement complet n'est pas terminé. Cet article montrera comment convertir un PDF en linéarisé 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 comme 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.

  • Package Manager
PM> Install-Package Spire.PDF

Convertir un PDF en linéarisé

Voici les étapes pour convertir un fichier PDF en fichier linéarisé :

  • Chargez un fichier PDF à l'aide de la classe PdfToLinearizedPdfConverter.
  • Convertissez le fichier en linéarisé à l’aide de la méthode PdfToLinearizedPdfConverter.ToLinearizedPdf().
  • C#
  • VB.NET
using Spire.Pdf.Conversion;
    
    namespace ConvertPdfToLinearized
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load a PDF file
                PdfToLinearizedPdfConverter converter = new PdfToLinearizedPdfConverter("Sample.pdf");
                //Convert the file to a linearized PDF
                converter.ToLinearizedPdf("Linearized.pdf");
            }
        }
    }
Imports Spire.Pdf.Conversion
    
    Namespace ConvertPdfToLinearized
        Friend Class Program
            Private Shared Sub Main(ByVal args As String())
                'Load a PDF file
                Dim converter As PdfToLinearizedPdfConverter = New PdfToLinearizedPdfConverter("Sample.pdf")
                'Convert the file to a linearized PDF
                converter.ToLinearizedPdf("Linearized.pdf")
            End Sub
        End Class
    End Namespace

Ouvrez le fichier de résultat dans Adobe Acrobat et jetez un œil aux propriétés du document, vous pouvez voir que la valeur de « Fast Web View » est Oui, ce qui signifie que le fichier est linéarisé.

C#/VB.NET: Convert PDF to Linearized

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Installé via NuGet

PM> Install-Package Spire.PDF

Rechercher un texte spécifique dans un document PDF peut parfois s'avérer fastidieux, surtout lorsque le document contient des centaines de pages. Mettre en surbrillance le texte avec une couleur d'arrière-plan peut vous aider à le trouver et à le localiser rapidement. Dans cet article, vous apprendrez comment recherchez et surlignez du texte spécifique dans un PDF en C# et VB.NET à l'aide de 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 comme 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

Rechercher et mettre en surbrillance du texte spécifique dans un PDF en C# et VB.NET

Voici les étapes pour rechercher et surligner un texte spécifique dans un document PDF :

  • Créez une instance PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Créez une instance de PdfTextFindOptions.
  • Spécifiez le paramètre de recherche de texte via la propriété PdfTextFindOptions.Parameter.
  • Parcourez les pages du document PDF.
  • Dans la boucle, créez une instance de PdfTextFinder et définissez l'option de recherche de texte via la propriété PdfTextFinder.Options.
  • Recherchez un texte spécifique dans le document à l'aide de la méthode PdfTextFinder.Find() et enregistrez les résultats dans une liste PdfTextFragment.
  • Parcourez la liste et appelez la méthode PdfTextFragment.Highlight() pour mettre en évidence toutes les occurrences du texte spécifique avec de la couleur.
  • Enregistrez le document résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Texts;
    using System.Collections.Generic;
    using System.Drawing;
    
    namespace HighlightTextInPdf
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument pdf = new PdfDocument();
                //Load a PDF file
                pdf.LoadFromFile("Sample.pdf");
    
                //Creare a PdfTextFindOptions instance
                PdfTextFindOptions findOptions = new PdfTextFindOptions();
                //Specify the text finding parameter
                findOptions.Parameter = TextFindParameter.WholeWord;
    
                //Loop through the pages in the PDF file
                foreach (PdfPageBase page in pdf.Pages)
                {
                    //Create a PdfTextFinder instance
                    PdfTextFinder finder = new PdfTextFinder(page);
                    //Set the text finding option
                    finder.Options = findOptions;
                    //Find a specific text
                    List<PdfTextFragment> results = finder.Find("Video");
                    //Highlight all occurrences of the specific text
                    foreach (PdfTextFragment text in results)
                    {
                        text.HighLight(Color.Green);
                    }
                }
    
                //Save the result file
                pdf.SaveToFile("HighlightText.pdf");
            }
        }
    }

C#/VB.NET: Find and Highlight Specific Text 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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf
Wednesday, 30 August 2023 06:47

C#/VB.NET : extraire des images d'un PDF

Installé via NuGet

PM> Install-Package Spire.PDF

Les images sont souvent utilisées dans les documents PDF pour présenter les informations de manière facilement compréhensible. Dans certains cas, vous devrez peut-être extraire des images de documents PDF. Par exemple, lorsque vous souhaitez utiliser une image graphique d'un rapport PDF dans une présentation ou un autre document. Cet article montrera comment extraire des images d'un PDF 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 comme 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

Extraire des images d'un PDF en C# et VB.NET

Voici les principales étapes pour extraire des images d'un document PDF à l'aide de Spire.PDF for .NET :

  • Créez un objet PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Parcourez toutes les pages du document.
  • Extrayez les images de chaque page à l’aide de la méthode PdfPageBase.ExtractImages() et enregistrez-les dans un chemin de fichier spécifié.
  • C#
  • VB.NET
using Spire.Pdf;
    using System.Drawing;
    
    namespace ExtractImages
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument pdf = new PdfDocument();
                //Load a PDF document
                pdf.LoadFromFile("Input.pdf");
    
                int i = 1;
                //Loop through all pages in the document
                foreach (PdfPageBase page in pdf.Pages)
                {
                    //Extract images from each page and save them to a specified file path
                    foreach (Image image in page.ExtractImages())
                    {
                        image.Save(@"C:/Users/Administrator/Desktop/Images/" + "image" + i + ".png", System.Drawing.Imaging.ImageFormat.Png);
                        i++;
                    }
                }
            }
        }
    }

C#/VB.NET: Extract Images 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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Les documents PDF ont une mise en page fixe et ne permettent pas aux utilisateurs d'y apporter des modifications. Pour rendre le contenu PDF à nouveau modifiable, vous pouvez convertir un PDF en Word ou extraire du texte d'un PDF. Dans cet article, vous apprendrez comment extraire le texte d'une page PDF spécifique, comment extraire le texte d'une zone de rectangle particulière, et comment extraire le texte par SimpleTextExtractionStrategy en C# et VB.NET l'aide de 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 comme 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

Extraire le texte d'une page spécifiée

Voici les étapes pour extraire le texte d'une certaine page d'un document PDF à l'aide de Spire.PDF for .NET.

  • Créez un objet PdfDocument.
  • Chargez un fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page spécifique via la propriété PdfDocument.Pages[index].
  • Créez un objet PdfTextExtractor.
  • Créez un objet PdfTextExtractOptions et définissez la propriété IsExtractAllText sur true.
  • Extrayez le texte de la page sélectionnée à l’aide de la méthode PdfTextExtractor.ExtractText().
  • Écrivez le texte extrait dans un fichier TXT.
  • C#
  • VB.NET
using System;
    using System.IO;
    using Spire.Pdf;
    using Spire.Pdf.Texts;
    
    namespace ExtractTextFromPage
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Load a PDF file
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Terms of Service.pdf");
    
                //Get the second page
                PdfPageBase page = doc.Pages[1];
    
                //Create a PdfTextExtractot object
                PdfTextExtractor textExtractor = new PdfTextExtractor(page);
    
                //Create a PdfTextExtractOptions object
                PdfTextExtractOptions extractOptions = new PdfTextExtractOptions();
    
                //Set isExtractAllText to true
                extractOptions.IsExtractAllText = true;
    
                //Extract text from the page
                string text = textExtractor.ExtractText(extractOptions);
    
                //Write to a txt file
                File.WriteAllText("Extracted.txt", text);
            }
        }
    }

C#/VB.NET: Extract Text from PDF Documents

Extraire le texte d'un rectangle

Voici les étapes pour extraire le texte d’une zone rectangulaire d’une page à l’aide de Spire.PDF for .NET.

  • Créez un objet PdfDocument.
  • Chargez un fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page spécifique via la propriété PdfDocument.Pages[index].
  • Créez un objet PdfTextExtractor.
  • Créez un objet PdfTextExtractOptions et spécifiez la zone rectangulaire via sa propriété ExtractArea.
  • Extrayez le texte du rectangle à l’aide de la méthode PdfTextExtractor.ExtractText().
  • Écrivez le texte extrait dans un fichier TXT.
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Texts;
    using System.IO;
    using System.Drawing;
    
    namespace ExtractTextFromRectangleArea
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Load a PDF file
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Terms of Service.pdf");
    
                //Get the second page
                PdfPageBase page = doc.Pages[1];
    
                //Create a PdfTextExtractot object
                PdfTextExtractor textExtractor = new PdfTextExtractor(page);
    
                //Create a PdfTextExtractOptions object
                PdfTextExtractOptions extractOptions = new PdfTextExtractOptions();
    
                //Set the rectangle area
                extractOptions.ExtractArea = new RectangleF(0, 0, 890, 170);
    
                //Extract text from the rectangle
                string text = textExtractor.ExtractText(extractOptions);
    
                //Write to a txt file
                File.WriteAllText("Extracted.txt", text);
            }
        }
    }

C#/VB.NET: Extract Text from PDF Documents

Extraire du texte à l'aide de SimpleTextExtractionStrategy

Les méthodes ci-dessus extraient le texte ligne par ligne. Lors de l'extraction de texte à l'aide de SimpleTextExtractionStrategy, il garde une trace de la position Y actuelle de chaque chaîne et insère un saut de ligne dans la sortie si la position Y a changé. Voici les étapes détaillées.

  • Créez un objet PdfDocument.
  • Chargez un fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page spécifique via la propriété PdfDocument.Pages[index].
  • Créez un objet PdfTextExtractor.
  • Créez un objet PdfTextExtractOptions et définissez la propriété IsSimpleExtraction sur true.
  • Extrayez le texte de la page sélectionnée à l’aide de la méthode PdfTextExtractor.ExtractText().
  • Écrivez le texte extrait dans un fichier TXT.
  • C#
  • VB.NET
using System.IO;
    using Spire.Pdf;
    using Spire.Pdf.Texts;
    
    namespace SimpleExtraction
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Load a PDF file
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Invoice.pdf");
    
                //Get the first page
                PdfPageBase page = doc.Pages[0];
    
                //Create a PdfTextExtractor object
                PdfTextExtractor textExtractor = new PdfTextExtractor(page);
    
                //Create a PdfTextExtractOptions object
                PdfTextExtractOptions extractOptions = new PdfTextExtractOptions();
    
                //Set IsSimpleExtraction to true
                extractOptions.IsSimpleExtraction = true;
    
                //Extract text from the selected page
                string text = textExtractor.ExtractText(extractOptions);
    
                //Write to a txt file
                File.WriteAllText("Extracted.txt", text);
            }
        }
    }

C#/VB.NET: Extract Text from 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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Comparés aux documents contenant uniquement du texte, les documents contenant des images sont sans aucun doute plus vivants et plus attrayants pour les lecteurs. Lors de la génération ou de la modification d'un document PDF, vous devrez parfois insérer des images pour améliorer son apparence et le rendre plus attrayant. Dans cet article, vous apprendrez comment insérer, remplacer ou supprimer des images dans des documents PDF 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 comme 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

Insérer une image dans un document PDF en C# et VB.NET

Les étapes suivantes montrent comment insérer une image dans un document PDF existant :

  • Initialisez une instance de la classe PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page souhaitée dans le document PDF via la propriété PdfDocument.Pages[pageIndex].
  • Chargez une image à l’aide de la méthode PdfImage.FromFile().
  • Spécifiez la largeur et la hauteur de la zone d'image sur la page.
  • Spécifiez les coordonnées X et Y pour commencer à dessiner l'image.
  • Dessinez l'image sur la page à l'aide de la méthode PdfPageBase.Canvas.DrawImage().
  • Enregistrez le document résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    
    namespace InsertImage
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument pdf = new PdfDocument();
                pdf.LoadFromFile("Input.pdf");
    
                //Get the first page in the PDF document
                PdfPageBase page = pdf.Pages[0];
    
                //Load an image
                PdfImage image = PdfImage.FromFile("image.jpg");
    
                //Specify the width and height of the image area on the page
                float width = image.Width * 0.50f;
                float height = image.Height * 0.50f;
    
                //Specify the X and Y coordinates to start drawing the image
                float x = 180f;
                float y = 70f;
    
                //Draw the image at a specified location on the page
                page.Canvas.DrawImage(image, x, y, width, height);
    
                //Save the result document
                pdf.SaveToFile("AddImage.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Insert, Replace or Delete Images in PDF

Remplacer une image par une autre image dans un document PDF en C# et VB.NET

Les étapes suivantes montrent comment remplacer une image par une autre image dans un document PDF :

  • Initialisez une instance de la classe PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page souhaitée dans le document PDF via la propriété PdfDocument.Pages[pageIndex].
  • Chargez une image à l’aide de la méthode PdfImage.FromFile().
  • Initialisez une instance de la classe PdfImageHelper.
  • Obtenez les informations sur l’image de la page à l’aide de la méthode PdfImageHelper.GetImagesInfo().
  • Remplacez une image spécifique sur la page par l'image chargée à l'aide de la méthode PdfImageHelper.ReplaceImage().
  • Enregistrez le document résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using Spire.Pdf.Utilities;
    
    namespace ReplaceImage
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument doc = new PdfDocument();
                //Load a PDF document
                doc.LoadFromFile("AddImage.pdf");
    
                //Get the first page
                PdfPageBase page = doc.Pages[0];
    
                //Load an image
                PdfImage image = PdfImage.FromFile("image1.jpg");
    
                //Create a PdfImageHelper instance
                PdfImageHelper imageHelper = new PdfImageHelper();
                //Get the image information from the page
                PdfImageInfo[] imageInfo = imageHelper.GetImagesInfo(page);
                //Replace the first image on the page with the loaded image
                imageHelper.ReplaceImage(imageInfo[0], image);
    
                //Save the result document
                doc.SaveToFile("ReplaceImage.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Insert, Replace or Delete Images in PDF

Supprimer une image spécifique dans un document PDF en C# et VB.NET

Les étapes suivantes montrent comment supprimer une image d'un document PDF :

  • Initialisez une instance de la classe PdfDocument.
  • Chargez un document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtenez la page souhaitée dans le document PDF via la propriété PdfDocument.Pages[pageIndex].
  • Supprimez une image spécifique sur la page à l’aide de la méthode PdfPageBase.DeleteImage().
  • Enregistrez le document résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    
    namespace DeleteImage
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument pdf = new PdfDocument();
                //Load a PDF document
                pdf.LoadFromFile("AddImage.pdf");
    
                //Get the first page
                PdfPageBase page = pdf.Pages[0];
    
                //Delete the first image on the page
                page.DeleteImage(0);
    
                //Save the result document
                pdf.SaveToFile("DeleteImage.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Insert, Replace or Delete Images 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 fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également

Published in pdf

Installé via NuGet

PM> Install-Package Spire.PDF

Un filigrane d'image est généralement un logo ou un signe qui apparaît sur l'arrière-plan des documents numériques, indiquant le titulaire du droit d'auteur du contenu. Ajouter un filigrane à votre document PDF avec une image peut empêcher la réutilisation ou la modification de vos données. Cet article montre comment ajouter un filigrane d'image au PDF 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.

  • Package Manager
PM> Install-Package Spire.PDF 

Ajouter un filigrane d'image au PDF

Voici les principales étapes pour ajouter un filigrane 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 image à l'aide de la méthode Image.FromFile().
  • Parcourez les pages du document et obtenez la page spécifique via la propriété PdfDocument.Pages[].
  • Définissez l'image comme image d'arrière-plan/filigrane de la page actuelle via la propriété PdfPageBase.BackgroundImage. Définissez la position et la taille de l'image via la propriété PdfPageBase.BackgroundRegion.
  • Enregistrez le document dans un autre fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using System.Drawing;
    
    namespace AddImageWatermark
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument document = new PdfDocument();
    
                //Load a sample PDF document
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
    
                //Load an image
                Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
    
                //Get the image width and height
                int imgWidth = image.Width;
                int imgHeight = image.Height;
    
                //Loop through the pages
                for (int i = 0; i < document.Pages.Count; i++)
                {
                    //Get the page width and height
                    float pageWidth = document.Pages[i].ActualSize.Width;
                    float pageHeight = document.Pages[i].ActualSize.Height;
    
                    //Set the background opacity
                    document.Pages[i].BackgroudOpacity = 0.3f;
    
                    //Set the background image of current page
                    document.Pages[i].BackgroundImage = image;
    
                    //Position the background image at the center of the page
                    Rectangle rect = new Rectangle((int)(pageWidth - imgWidth) / 2, (int)(pageHeight - imgHeight) / 2, imgWidth, imgHeight);
                    document.Pages[i].BackgroundRegion = rect;
                }
    
                //Save the document to file
                document.SaveToFile("AddImageWatermark.pdf");
                document.Close();
            }
        }
    }
Imports Spire.Pdf
    Imports System.Drawing
    
    Namespace AddImageWatermark
        Class Program
            Shared  Sub Main(ByVal args() As String)
                'Create a PdfDocument object
                Dim document As PdfDocument =  New PdfDocument()
    
                'Load a sample PDF document
                document.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
    
                'Load an image
                Dim image As Image =  Image.FromFile("C:\Users\Administrator\Desktop\logo.png")
    
                'Get the image width and height
                Dim imgWidth As Integer =  image.Width
                Dim imgHeight As Integer =  image.Height
    
                'Loop through the pages
                Dim i As Integer
                For  i = 0 To  document.Pages.Count- 1  Step  i + 1
                    'Get the page width and height
                    Dim pageWidth As single =  document.Pages(i).ActualSize.Width
                    Dim pageHeight As single =  document.Pages(i).ActualSize.Height
    
                    'Set the background opacity
                    document.Pages(i).BackgroudOpacity = 0.3f
    
                    'Set the background image of current page
                    document.Pages(i).BackgroundImage = image
    
                    'Position the background image at the center of the page
                    Dim rect As Rectangle =  New Rectangle(CType((pageWidth - imgWidth) / 2,(Integer)(pageHeight - imgHeight) / 2,imgWidth,imgHeight, Integer))
                    document.Pages(i).BackgroundRegion = rect
                Next
    
                'Save the document to file
                document.SaveToFile("AddImageWatermark.pdf")
                document.Close()
            End Sub
        End Class
    End Namespace

C#/VB.NET: Add Image Watermarks to 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

Installé via NuGet

PM> Install-Package Spire.PDF

Pour empêcher que votre document PDF ne soit utilisé de manière non autorisée, vous pouvez filigraner le document avec du texte ou une image. Dans cet article, vous apprendrez à programmer ajouter des filigranes de texte (filigranes à une seule ligne et multilignes) au PDF 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.

  • Package Manager
PM> Install-Package Spire.PDF 

Ajouter un filigrane de texte au PDF

Spire.PDF ne fournit pas d'interface ou de classe pour gérer les filigranes dans les fichiers PDF. Vous pouvez cependant dessiner du texte comme "confidentiel", "usage interne" ou "brouillon" sur chaque page pour imiter l'effet de filigrane. Voici les principales étapes pour ajouter un filigrane de texte à toutes les pages d'un document PDF.

  • Créez un objet PdfDocument et chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Créez un objet PdfTrueTypeFont, spécifiez le texte du filigrane et mesurez la taille du texte à l'aide de la méthode PdfFontBase.MeasureString().
  • Parcourir toutes les pages du document.
  • Traduisez le système de coordonnées d'une certaine page par des coordonnées spécifiées à l'aide de la méthode PdfPageBase.Canvas.TraslateTransform() et faites pivoter le système de coordonnées de 45 degrés dans le sens antihoraire à l'aide de la méthode PdfPageBase.Canvas.RotateTransform(). Cela garantit que le filigrane apparaîtra au milieu de la page à un angle de 45 degrés.
  • Dessinez le texte du filigrane sur la page à l'aide de la méthode PdfPageBase.Canvas.DrawString().
  • Enregistrez le document dans un autre fichier PDF à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace AddTextWatermarkToPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load a sample PDF document
                pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
    
                //Create a PdfTrueTypeFont object
                PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 50f), true);
    
                //Set the watermark text
                string text = "CONFIDENTIAL";
    
                //Measure the text size
                SizeF textSize = font.MeasureString(text);
    
                //Calculate the values of two offset variables,
                //which will be used to calculate the translation amount of the coordinate system
                float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4);
                float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4);
    
                //Traverse all the pages in the document
                foreach (PdfPageBase page in pdf.Pages)
                {
                    //Set the page transparency
                    page.Canvas.SetTransparency(0.8f);
    
                    //Translate the coordinate system by specified coordinates
                    page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2);
    
                    //Rotate the coordinate system 45 degrees counterclockwise
                    page.Canvas.RotateTransform(-45);
    
                    //Draw watermark text on the page
                    page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0);
                }
    
                //Save the changes to another file
                pdf.SaveToFile("TextWatermark.pdf");
            }
        }
    }
Imports Spire.Pdf
    Imports Spire.Pdf.Graphics
    Imports System.Drawing
    
    Namespace AddTextWatermarkToPdf
        Class Program
            Shared  Sub Main(ByVal args() As String)
                'Create a PdfDocument object
                Dim pdf As PdfDocument =  New PdfDocument()
    
                'Load a sample PDF document
                pdf.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
    
                'Create a PdfTrueTypeFont object
                Dim font As PdfTrueTypeFont =  New PdfTrueTypeFont(New Font("Arial",50f),True)
    
                'Set the watermark text
                Dim text As String =  "CONFIDENTIAL"
    
                'Measure the text size
                Dim textSize As SizeF =  font.MeasureString(text)
    
                'Calculate the values of two offset variables,
                'which will be used to calculate the translation amount of the coordinate system
                Dim offset1 As single = CType((textSize.Width * System.Math.Sqrt(2) / 4), single)
                Dim offset2 As single = CType((textSize.Height * System.Math.Sqrt(2) / 4), single)
    
                'Traverse all the pages in the document
                Dim page As PdfPageBase
                For Each page In pdf.Pages
                    'Set the page transparency
                    page.Canvas.SetTransparency(0.8f)
    
                    'Translate the coordinate system by specified coordinates
                    page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2)
    
                    'Rotate the coordinate system 45 degrees counterclockwise
                    page.Canvas.RotateTransform(-45)
    
                    'Draw watermark text on the page
                    page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0)
                Next
    
                'Save the changes to another file
                pdf.SaveToFile("TextWatermark.pdf")
            End Sub
        End Class
    End Namespace

C#/VB.NET: Add Text Watermarks to PDF

Ajouter des filigranes de texte multilignes au PDF

Il peut arriver que vous souhaitiez ajouter plusieurs lignes de filigranes de texte à votre document. Pour obtenir l'effet de filigrane en mosaïque, vous pouvez utiliser la classe PdfTilingBrush, qui produit un motif en mosaïque répété pour remplir une zone graphique. Voici les principales étapes pour ajouter des filigranes multilignes à un document PDF.

  • Créez un objet PdfDocument et chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Créez une méthode personnalisée InsertMultiLineTextWatermark(PdfPageBase page, String watermarkText, PdfTrueTypeFont font, int rowNum, int columnNum) pour ajouter des filigranes de texte multiligne à une page PDF. Les paramètres rowNum et columnNum spécifient le numéro de ligne et de colonne des filigranes en mosaïque.
  • Parcourez toutes les pages du document et appelez la méthode personnalisée InsertMultiLineTextWatermark() pour appliquer des filigranes à chaque page.
  • Enregistrez le document dans un autre fichier à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using System;
    using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace AddMultiLineTextWatermark
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument instance
                PdfDocument pdf = new PdfDocument();
    
                //Load a sample PDF document
                pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
    
                //Create a PdfTrueTypeFont object
                PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 20f), true);
    
                //Traverse all the pages
                for (int i = 0; i < pdf.Pages.Count; i++)
                {
                    //Call InsertMultiLineTextWatermark() method to add text watermarks to the specified page
                    InsertMultiLineTextWatermark(pdf.Pages[i], "E-ICEBLUE CO LTD", font, 3, 3);
                }
    
                //Save the document to another file
                pdf.SaveToFile("MultiLineTextWatermark.pdf");
            }
    
            //Create a custom method to insert multi-line text watermarks to a page
            static void InsertMultiLineTextWatermark(PdfPageBase page, String watermarkText, PdfTrueTypeFont font, int rowNum, int columnNum)
            {
                //Measure the text size
                SizeF textSize = font.MeasureString(watermarkText);
    
                //Calculate the values of two offset variables, which will be used to calculate the translation amount of coordinate system
                float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4);
                float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4);
    
                //Create a tile brush
                PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.ActualSize.Width / columnNum, page.ActualSize.Height / rowNum));
                brush.Graphics.SetTransparency(0.3f);
                brush.Graphics.Save();
                brush.Graphics.TranslateTransform(brush.Size.Width / 2 - offset1 - offset2, brush.Size.Height / 2 + offset1 - offset2);
                brush.Graphics.RotateTransform(-45);
    
                //Draw watermark text on the tile brush
                brush.Graphics.DrawString(watermarkText, font, PdfBrushes.Violet, 0, 0);
                brush.Graphics.Restore();
    
                //Draw a rectangle (that covers the whole page) using the tile brush
                page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.ActualSize));
            }
        }
    }
Imports System
    Imports Spire.Pdf
    Imports Spire.Pdf.Graphics
    Imports System.Drawing
    
    Namespace AddMultiLineTextWatermark
        Class Program
            Shared  Sub Main(ByVal args() As String)
                'Create a PdfDocument instance
                Dim pdf As PdfDocument =  New PdfDocument()
    
                'Load a sample PDF document
                pdf.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
    
                'Create a PdfTrueTypeFont object
                Dim font As PdfTrueTypeFont =  New PdfTrueTypeFont(New Font("Arial",20f),True)
    
                'Traverse all the pages
                Dim i As Integer
                For  i = 0 To  pdf.Pages.Count- 1  Step  i + 1
                    'Call InsertMultiLineTextWatermark() method to add text watermarks to the specified page
                    InsertMultiLineTextWatermark(pdf.Pages(i), "E-ICEBLUE CO LTD", font, 3, 3)
                Next
    
                'Save the document to another file
                pdf.SaveToFile("MultiLineTextWatermark.pdf")
            End Sub
    
            'Create a custom method to insert multi-line text watermarks to a page
            Shared  Sub InsertMultiLineTextWatermark(ByVal page As PdfPageBase, ByVal watermarkText As String, ByVal font As PdfTrueTypeFont, ByVal rowNum As Integer, ByVal columnNum As Integer)
                'Measure the text size
                Dim textSize As SizeF =  font.MeasureString(watermarkText)
    
                'Calculate the values of two offset variables, which will be used to calculate the translation amount of coordinate system
                Dim offset1 As single = CType((textSize.Width * System.Math.Sqrt(2) / 4), single)
                Dim offset2 As single = CType((textSize.Height * System.Math.Sqrt(2) / 4), single)
    
                'Create a tile brush
                Dim brush As PdfTilingBrush =  New PdfTilingBrush(New SizeF(page.ActualSize.Width / columnNum,page.ActualSize.Height / rowNum))
                brush.Graphics.SetTransparency(0.3f)
                brush.Graphics.Save()
                brush.Graphics.TranslateTransform(brush.Size.Width / 2 - offset1 - offset2, brush.Size.Height / 2 + offset1 - offset2)
                brush.Graphics.RotateTransform(-45)
    
                'Draw watermark text on the tile brush
                brush.Graphics.DrawString(watermarkText, font, PdfBrushes.Violet, 0, 0)
                brush.Graphics.Restore()
    
                'Draw a rectangle (that covers the whole page) using the tile brush
                page.Canvas.DrawRectangle(brush, New RectangleF(New PointF(0, 0), page.ActualSize))
            End Sub
        End Class
    End Namespace

C#/VB.NET: Add Text Watermarks to 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
Page 1 of 2