Aggiungi testo a PDF in C#

Il formato PDF è ampiamente utilizzato per generare vari tipi di documenti come fatture, rapporti finanziari, curricula, ecc. Nel mondo dell’automazione, i documenti PDF vengono generati e manipolati dall’interno delle applicazioni Web o desktop. Pertanto, in alcuni casi, potrebbe essere necessario aggiungere del testo ai file PDF esistenti a livello di codice. In base a ciò, questo articolo mostra come aggiungere testo ai documenti PDF utilizzando C#.

API C# per aggiungere testo a PDF

Per aggiungere testo ai file PDF in modo dinamico, utilizzeremo Aspose.PDF for .NET. È un’API ricca di funzionalità che ti consente di creare e manipolare file PDF dall’interno delle tue applicazioni .NET. Puoi scaricare l’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.PDF

Aggiungi testo a un PDF usando C#

Di seguito sono riportati i passaggi per aggiungere testo a un file PDF utilizzando C#.

L’esempio di codice seguente mostra come aggiungere testo a un file PDF.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Apri documento
Document pdfDocument = new Document("input.pdf");

// Ottieni una pagina particolare
Page pdfPage = (Page)pdfDocument.Pages[1];

// Crea frammento di testo
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Imposta le proprietà del testo
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// Crea oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Aggiungi il frammento di testo alla pagina PDF
textBuilder.AppendText(textFragment);

// Salva il documento PDF risultante.
pdfDocument.Save("output.pdf");

Aggiungi testo a PDF usando TextParagraph

Di seguito sono riportati i passaggi per aggiungere testo a un file PDF utilizzando TextParagraph.

L’esempio di codice seguente mostra come aggiungere testo a un PDF usando la classe TextParagraph.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Carica il file PDF di input
Document doc = new Document("input.pdf");

// Crea un oggetto generatore di testo per la prima pagina del documento
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Crea un frammento di testo con una stringa di esempio
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Carica il carattere TrueType nell'oggetto stream
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Imposta il nome del carattere per la stringa di testo
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Specificare la posizione per Frammento di testo
        textFragment.Position = new Position(10, 10);
        
        // Aggiungi il testo a TextBuilder in modo che possa essere posizionato sul file PDF
        textBuilder.AppendText(textFragment);
    }

    // Salva il documento PDF risultante
    doc.Save("output.pdf");
}

Aggiungi testo trasparente in PDF in C#

Aspose.PDF per .NET consente inoltre di aggiungere testo trasparente a un documento PDF, come illustrato nei passaggi seguenti.

L’esempio di codice seguente mostra come aggiungere testo trasparente a un file PDF.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Crea istanza del documento
Document doc = new Document("input.pdf");

// Crea una raccolta da pagina a pagina di file PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// Crea oggetto grafico
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Crea un'istanza rettangolo con determinate dimensioni
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Crea oggetto colore dal canale colore Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Aggiungi rettangolo alla raccolta di forme dell'oggetto Graph
canvas.Shapes.Add(rect);

// Aggiungi l'oggetto grafico alla raccolta di paragrafi dell'oggetto pagina
page.Paragraphs.Add(canvas);

// Imposta il valore per non modificare la posizione dell'oggetto grafico
canvas.IsChangePosition = false;

// Crea un'istanza TextFragment con un valore di esempio
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// Crea oggetto colore dal canale alfa
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Imposta le informazioni sul colore per l'istanza di testo
text.TextState.ForegroundColor = color;

// Aggiungi testo alla raccolta di paragrafi dell'istanza della pagina
page.Paragraphs.Add(text);

// Salva il file PDF aggiornato
doc.Save("output.pdf");

Ottieni una licenza gratuita

È possibile utilizzare Aspose.PDF per .NET senza limitazioni di valutazione utilizzando una licenza temporanea.

Conclusione

In questo articolo, hai imparato come aggiungere testo ai file PDF esistenti usando C#. Inoltre, hai visto come aggiungere dinamicamente testo trasparente a un PDF. Puoi esplorare di più sull’API C# PDF utilizzando la documentazione. Inoltre, puoi pubblicare le tue domande sul nostro forum.

Guarda anche