Poiché i documenti PDF diventano sempre più popolari nel mondo degli affari, garantirne l'autenticità è diventata una preoccupazione fondamentale. Firmare i PDF con una firma basata su certificato può proteggere il contenuto e anche far sapere ad altri chi ha firmato o approvato il documento. In questo articolo imparerai come farlo firmare digitalmente i PDF con una firma invisibile o visibile e come rimuovere le firme digitali dai PDF utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for .NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Aggiungi una firma digitale invisibile al PDF

Di seguito sono riportati i passaggi per aggiungere una firma digitale invisibile al PDF utilizzando Spire.PDF for .NET.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Carica un file di certificato pfx durante l'inizializzazione dell'oggetto PdfCertificate.
  • Crea un oggetto PdfSignature basato sul certificato.
  • Imposta i permessi del documento tramite l'oggetto PdfSignature.
  • Salva il documento in un altro file PDF utilizzando il metodo 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

Aggiungi una firma digitale visibile al PDF

Di seguito sono riportati i passaggi per aggiungere una firma digitale visibile al PDF utilizzando Spire.PDF for .NET.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Carica un file di certificato pfx durante l'inizializzazione dell'oggetto PdfCertificate.
  • Crea un oggetto PdfSignature e specificane la posizione e le dimensioni sul documento.
  • Imposta i dettagli della firma tra cui data, nome, posizione, motivo, immagine della firma scritta a mano e autorizzazioni del documento.
  • Salva il documento in un altro file PDF utilizzando il metodo 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

Rimuovere le firme digitali dai PDF

Di seguito sono riportati i passaggi per rimuovere le firme digitali dal PDF utilizzando Spire.PDF for .NET.

  • Crea un oggetto PdfDocument.
  • Ottieni i widget del modulo dal documento tramite la proprietà PdfDocument.Form.
  • Passa in rassegna i widget e determina se un widget specifico è un PdfSignatureFieldWidget.
  • Rimuovere il widget della firma utilizzando il metodo PdfFieldCollection.RemoveAt().
  • Salva il documento in un altro file PDF utilizzando il metodo 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");
            }
        }
    }

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

Se disponi di più immagini che desideri combinare in un unico file per una distribuzione o un'archiviazione più semplice, convertirle in un unico documento PDF è un'ottima soluzione. Questo processo non solo consente di risparmiare spazio, ma garantisce anche che tutte le immagini siano conservate insieme in un unico file, rendendone conveniente la condivisione o il trasferimento. In questo articolo imparerai come farlo combinare diverse immagini in un unico documento PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for .NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Combina più immagini in un unico PDF in C# e VB.NET

Per convertire tutte le immagini di una cartella in un PDF, iteriamo su ciascuna immagine, aggiungiamo una nuova pagina al PDF con le stesse dimensioni dell'immagine, quindi disegniamo l'immagine sulla nuova pagina. Di seguito sono riportati i passaggi dettagliati.

  • Crea un oggetto PdfDocument.
  • Imposta i margini della pagina su zero utilizzando il metodo PdfDocument.PageSettings.SetMargins().
  • Ottieni la cartella in cui sono archiviate le immagini.
  • Scorri ogni file immagine nella cartella e ottieni la larghezza e l'altezza di un'immagine specifica.
  • Aggiungi una nuova pagina che abbia la stessa larghezza e altezza dell'immagine al documento PDF utilizzando il metodo PdfDocument.Pages.Add().
  • Disegna l'immagine sulla pagina utilizzando il metodo PdfPageBase.Canvas.DrawImage().
  • Salvare il documento utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf
Friday, 20 October 2023 02:52

C#/VB.NET: converti PDF in SVG

SVG (Scalable Vector Graphics) è un formato di file immagine utilizzato per il rendering di immagini bidimensionali sul Web. Rispetto ad altri formati di file immagine, SVG presenta molti vantaggi come il supporto dell'interattività e dell'animazione, consentendo agli utenti di cercare, indicizzare, creare script e comprimere/ingrandire le immagini senza perdere la qualità. Occasionalmente potrebbe essere necessario convertire i file PDF nel formato file SVG e questo articolo dimostrerà come eseguire questa attività utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Converti un file PDF in SVG in C#/VB.NET

Spire.PDF for .NET offre il metodo PdfDocument.SaveToFile(String, FileFormat) per convertire ogni pagina in un file PDF in un singolo file SVG. I passaggi dettagliati sono i seguenti.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Converti il file PDF in SVG utilizzando il metodo 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

Converti le pagine PDF selezionate in SVG in C#/VB.NET

Il metodo PdfDocument.SaveToFile(String, Int32, Int32, FileFormat) consente di convertire le pagine specificate in un file PDF in file SVG. I passaggi dettagliati sono i seguenti.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Converti le pagine PDF selezionate in SVG utilizzando il metodo 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

Converti un file PDF in SVG con larghezza e altezza personalizzate in C#/VB.NET

Il metodo PdfConvertOptions.SetPdfToSvgOptions() offerto da Spire.PDF for .NET consente di specificare la larghezza e l'altezza del file SVG di output. I passaggi dettagliati sono i seguenti.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Imposta le opzioni di conversione PDF utilizzando la proprietà PdfDocument.ConvertOptions.
  • Specificare la larghezza e l'altezza del file SVG di output utilizzando il metodo PdfConvertOptions.SetPdfToSvgOptions().
  • Converti il file PDF in SVG utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf
Friday, 20 October 2023 02:40

C#/VB.NET: converti PDF in linearizzato

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

La linearizzazione PDF, nota anche come "Fast Web View", è un modo per ottimizzare i file PDF. Di solito, gli utenti possono visualizzare un file PDF multipagina online solo quando i loro browser web hanno scaricato tutte le pagine dal server. Tuttavia, se il file PDF è linearizzato, i browser possono visualizzare la prima pagina molto rapidamente anche se il download completo non è stato completato. Questo articolo mostrerà come farlo convertire un PDF in linearizzato in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for .NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

  • Package Manager
PM> Install-Package Spire.PDF

Converti PDF in linearizzato

Di seguito sono riportati i passaggi per convertire un file PDF in linearizzato:

  • Carica un file PDF utilizzando la classe PdfToLinearizedPdfConverter.
  • Convertire il file in linearizzato utilizzando il metodo 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

Apri il file dei risultati in Adobe Acrobat e dai un'occhiata alle proprietà del documento, puoi vedere che il valore di "Fast Web View" è Sì, il che significa che il file è linearizzato.

C#/VB.NET: Convert PDF to Linearized

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

La ricerca di un testo specifico in un documento PDF a volte può essere fastidiosa, soprattutto quando il documento contiene centinaia di pagine. Evidenziare il testo con un colore di sfondo può aiutarti a trovarlo e localizzarlo rapidamente. In questo articolo imparerai come trovare ed evidenziare testo specifico in PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Trova ed evidenzia testo specifico in PDF in C# e VB.NET

Di seguito sono riportati i passaggi per trovare ed evidenziare un testo specifico in un documento PDF:

  • Crea un'istanza PdfDocument.
  • Carica un documento PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Crea un'istanza PdfTextFindOptions.
  • Specificare il parametro di ricerca del testo tramite la proprietà PdfTextFindOptions.Parameter.
  • Scorri le pagine del documento PDF.
  • All'interno del ciclo, crea un'istanza PdfTextFinder e imposta l'opzione di ricerca del testo tramite la proprietà PdfTextFinder.Options.
  • Trova un testo specifico nel documento utilizzando il metodo PdfTextFinder.Find() e salva i risultati in un elenco PdfTextFragment.
  • Passa in rassegna l'elenco e chiama il metodo PdfTextFragment.Highlight() per evidenziare tutte le occorrenze del testo specifico con il colore.
  • Salvare il documento risultante utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf
Wednesday, 30 August 2023 06:49

C#/VB.NET: estrae immagini da PDF

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

Le immagini vengono spesso utilizzate nei documenti PDF per presentare le informazioni in modo facilmente comprensibile. In alcuni casi, potrebbe essere necessario estrarre immagini da documenti PDF. Ad esempio, quando desideri utilizzare un'immagine del grafico da un report PDF in una presentazione o in un altro documento. Questo articolo mostrerà come farlo estrarre immagini da PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Estrai immagini da PDF in C# e VB.NET

Di seguito sono riportati i passaggi principali per estrarre immagini da un documento PDF utilizzando Spire.PDF for .NET:

  • Crea un oggetto PdfDocument.
  • Carica un documento PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Passa in rassegna tutte le pagine del documento.
  • Estrai le immagini da ogni pagina utilizzando il metodo PdfPageBase.ExtractImages() e salvale in un percorso file specificato.
  • 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf
Wednesday, 30 August 2023 06:38

C#/VB.NET: estrae testo da documenti PDF

I documenti PDF hanno un layout fisso e non consentono agli utenti di apportare modifiche al loro interno. Per rendere nuovamente modificabile il contenuto del PDF, puoi farlo convertire PDF in Word o estrarre testo da PDF. In questo articolo imparerai come farlo estrarre il testo da una pagina PDF specifica, come estrarre il testo da una particolare area rettangolare, e come farlo estrarre testo con SimpleTextExtractionStrategy in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Estrai testo da una pagina specificata

Di seguito sono riportati i passaggi per estrarre il testo da una determinata pagina di un documento PDF utilizzando Spire.PDF for .NET.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina specifica tramite la proprietà PdfDocument.Pages[index].
  • Crea un oggetto PdfTextExtractor.
  • Crea un oggetto PdfTextExtractOptions e imposta la proprietà IsExtractAllText su true.
  • Estrai il testo dalla pagina selezionata utilizzando il metodo PdfTextExtractor.ExtractText().
  • Scrivi il testo estratto in un file 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

Estrai testo da un rettangolo

Di seguito sono riportati i passaggi per estrarre il testo da un'area rettangolare di una pagina utilizzando Spire.PDF for .NET.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina specifica tramite la proprietà PdfDocument.Pages[index].
  • Crea un oggetto PdfTextExtractor.
  • Crea un oggetto PdfTextExtractOptions e specifica l'area del rettangolo tramite la sua proprietà ExtractArea.
  • Estrai il testo dal rettangolo utilizzando il metodo PdfTextExtractor.ExtractText().
  • Scrivi il testo estratto in un file 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

Estrai testo utilizzando SimpleTextExtractionStrategy

I metodi precedenti estraggono il testo riga per riga. Quando si estrae il testo utilizzando SimpleTextExtractionStrategy, tiene traccia della posizione Y corrente di ciascuna stringa e inserisce un'interruzione di riga nell'output se la posizione Y è cambiata. Di seguito sono riportati i passaggi dettagliati.

  • Crea un oggetto PdfDocument.
  • Carica un file PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina specifica tramite la proprietà PdfDocument.Pages[index].
  • Crea un oggetto PdfTextExtractor.
  • Crea un oggetto PdfTextExtractOptions e imposta la proprietà IsSimpleExtraction su true.
  • Estrai il testo dalla pagina selezionata utilizzando il metodo PdfTextExtractor.ExtractText().
  • Scrivi il testo estratto in un file 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf

Rispetto ai documenti di solo testo, i documenti contenenti immagini sono senza dubbio più vividi e coinvolgenti per i lettori. Quando generi o modifichi un documento PDF, a volte potrebbe essere necessario inserire immagini per migliorarne l'aspetto e renderlo più accattivante. In questo articolo imparerai come inserire, sostituire o eliminare immagini nei documenti PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Inserisci un'immagine in un documento PDF in C# e VB.NET

I seguenti passaggi mostrano come inserire un'immagine in un documento PDF esistente:

  • Inizializza un'istanza della classe PdfDocument.
  • Carica un documento PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina desiderata nel documento PDF tramite la proprietà PdfDocument.Pages[pageIndex].
  • Carica un'immagine utilizzando il metodo PdfImage.FromFile().
  • Specificare la larghezza e l'altezza dell'area dell'immagine sulla pagina.
  • Specificare le coordinate X e Y per iniziare a disegnare l'immagine.
  • Disegna l'immagine sulla pagina utilizzando il metodo PdfPageBase.Canvas.DrawImage().
  • Salvare il documento risultante utilizzando il metodo 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

Sostituisci un'immagine con un'altra immagine in un documento PDF in C# e VB.NET

I seguenti passaggi dimostrano come sostituire un'immagine con un'altra immagine in un documento PDF:

  • Inizializza un'istanza della classe PdfDocument.
  • Carica un documento PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina desiderata nel documento PDF tramite la proprietà PdfDocument.Pages[pageIndex].
  • Carica un'immagine utilizzando il metodo PdfImage.FromFile().
  • Inizializza un'istanza della classe PdfImageHelper.
  • Ottieni le informazioni sull'immagine dalla pagina utilizzando il metodo PdfImageHelper.GetImagesInfo().
  • Sostituisci un'immagine specifica sulla pagina con l'immagine caricata utilizzando il metodo PdfImageHelper.ReplaceImage().
  • Salvare il documento risultante utilizzando il metodo 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

Elimina un'immagine specifica in un documento PDF in C# e VB.NET

I seguenti passaggi mostrano come eliminare un'immagine da un documento PDF:

  • Inizializza un'istanza della classe PdfDocument.
  • Carica un documento PDF utilizzando il metodo PdfDocument.LoadFromFile().
  • Ottieni la pagina desiderata nel documento PDF tramite la proprietà PdfDocument.Pages[pageIndex].
  • Elimina un'immagine specifica sulla pagina utilizzando il metodo PdfPageBase.DeleteImage().
  • Salvare il documento risultante utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

Una filigrana di immagine è solitamente un logo o un segno che appare sullo sfondo di documenti digitali, indicando il proprietario del copyright del contenuto. La filigrana del documento PDF con un'immagine può impedire il riutilizzo o la modifica dei dati. Questo articolo illustra come aggiungere una filigrana immagine al PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

  • Package Manager
PM> Install-Package Spire.PDF 

Aggiungi una filigrana immagine al PDF

Di seguito sono riportati i passaggi principali per aggiungere una filigrana immagine a un documento PDF.

  • Creare un oggetto PdfDocument e caricare un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Carica un file immagine usando il metodo Image.FromFile().
  • Scorrere le pagine del documento e ottenere la pagina specifica tramite la proprietà PdfDocument.Pages[].
  • Impostare l'immagine come immagine di sfondo/filigrana della pagina corrente tramite la proprietà PdfPageBase.BackgroundImage. Impostare la posizione e le dimensioni dell'immagine tramite la proprietà PdfPageBase.BackgroundRegion.
  • Salvare il documento in un file PDF diverso utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

Per evitare che il tuo documento PDF venga utilizzato in modo non autorizzato, puoi filigranare il documento con testo o un'immagine. In questo articolo imparerai a programmaticamente aggiungere filigrane di testo (filigrane a riga singola e multilinea) a PDF in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

  • Package Manager
PM> Install-Package Spire.PDF 

Aggiungi una filigrana di testo al PDF

Spire.PDF non fornisce un'interfaccia o una classe per gestire le filigrane nei file PDF. Potresti, tuttavia, disegnare testo come "riservato", "uso interno" o "bozza" su ogni pagina per imitare l'effetto filigrana. Di seguito sono riportati i passaggi principali per aggiungere una filigrana di testo a tutte le pagine di un documento PDF.

  • Creare un oggetto PdfDocument e caricare un documento PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Creare un oggetto PdfTrueTypeFont, specificare il testo della filigrana e misurare la dimensione del testo utilizzando il metodo PdfFontBase.MeasureString().
  • Attraversa tutte le pagine del documento.
  • Traduci il sistema di coordinate di una determinata pagina in base alle coordinate specificate utilizzando il metodo PdfPageBase.Canvas.TraslateTransform() e ruota il sistema di coordinate di 45 gradi in senso antiorario utilizzando il metodo PdfPageBase.Canvas.RotateTransform(). Ciò garantisce che la filigrana appaia al centro della pagina con un angolo di 45 gradi.
  • Disegna il testo della filigrana sulla pagina utilizzando il metodo PdfPageBase.Canvas.DrawString().
  • Salvare il documento in un file PDF diverso utilizzando il metodo 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

Aggiungi filigrane di testo multilinea al PDF

Ci sono momenti in cui potresti voler aggiungere più di una riga di filigrane di testo al tuo documento. Per ottenere l'effetto filigrana piastrellato, è possibile utilizzare la classe PdfTilingBrush, che produce un motivo piastrellato che viene ripetuto per riempire un'area grafica. Di seguito sono riportati i passaggi principali per aggiungere filigrane multilinea a un documento PDF.

  • Creare un oggetto PdfDocument e caricare un documento PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
  • Creare un metodo personalizzato InsertMultiLineTextWatermark(PdfPageBase page, String watermarkText, PdfTrueTypeFont font, int rowNum, int columnNum) per aggiungere filigrane di testo su più righe a una pagina PDF. I parametri rowNum e columnNum specificano il numero di riga e di colonna delle filigrane affiancate.
  • Attraversa tutte le pagine del documento e chiama il metodo personalizzato InsertMultiLineTextWatermark() per applicare filigrane a ogni pagina.
  • Salvare il documento in un altro file utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche

Published in pdf
Page 1 of 2