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
- Aggiungi testo a un PDF usando C#
- Aggiungi testo a PDF usando TextParagraph
- Inserisci testo trasparente in PDF
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#.
- Carica il file PDF utilizzando la classe Documento.
- Ottieni la pagina desiderata del PDF in un oggetto Pagina.
- Crea un oggetto TextFragment e impostane il testo, la posizione, il carattere, il colore di sfondo, ecc.
- Crea un oggetto TextBuilder e inizializzalo con l’oggetto Pagina.
- Usa il metodo TextBuilder.AppendText(TextFragment) per aggiungere testo alla pagina del PDF.
- Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).
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.
- Carica il file PDF utilizzando la classe Documento.
- Ottieni la pagina del PDF desiderata in un oggetto Pagina o aggiungine uno nuovo.
- Crea un oggetto TextBuilder e inizializzalo con l’oggetto Page.
- Crea un oggetto della classe TextParagraph.
- Specificare la posizione del paragrafo utilizzando la proprietà TextParagraph.Rectangle.
- Imposta le opzioni di formattazione di TextParagraph.
- Crea un oggetto TextFragment e impostane il testo, la posizione, il carattere, il colore di sfondo, ecc.
- Aggiungi TextFragment al paragrafo usando il metodo TextParagraph.AppendLine(TextFragment).
- Aggiungi un paragrafo alla pagina usando il metodo TextBuilder.AppendParagraph(TextParagraph).
- Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).
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.
- Carica il file PDF utilizzando la classe Documento.
- Ottieni la pagina del PDF desiderata in un oggetto Pagina o aggiungine uno nuovo.
- Crea e inizializza un oggetto Graph.
- Crea un oggetto Rettangolo e inizializzalo.
- Impostare la proprietà Rectangle.GraphInfo.FillColor.
- Aggiungi un rettangolo al grafico usando il metodo Graph.Shapes.Add(Rectangle).
- Aggiungi Graph alla raccolta di paragrafi della pagina usando il metodo Page.Paragraphs.Add(Graph).
- Crea un oggetto TextFragment e imposta la sua proprietà TextState.ForegroundColor.
- Aggiungi TextFragment alla pagina usando il metodo Page.Paragraphs.Add(TextFragment).
- Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).
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.