PDF è diventato un formato di documento dominante nel mondo digitale. Il suo supporto multipiattaforma lo ha reso un formato ampiamente adottato per la generazione e la condivisione di documenti, come articoli di ricerca, fatture, ecc. Durante la generazione di un PDF in modo programmatico, spesso è necessario modificare la posizione e l’orientamento del testo in base al layout di il documento. In questo articolo, dimostreremo come ruotare il testo all’interno di documenti PDF a livello di codice in C# .NET.
API C# .NET per ruotare il testo in PDF
Aspose.PDF for .NET è una libreria di classi C# che fornisce funzionalità di manipolazione PDF di base e avanzate per le applicazioni .NET. Utilizzando l’API, puoi generare documenti PDF con layout semplici o complessi senza problemi. Useremo questa API per ruotare il testo all’interno di documenti PDF. Puoi scaricare la DLL dell’API o installarla utilizzando NuGet.
PM> Install-Package Aspose.PDF
Ruota il testo all’interno del PDF in C#
Esistono diversi modi per ruotare un testo all’interno di un documento PDF. Puoi ruotare un frammento di testo o l’intero paragrafo. Vediamo come funziona ciascuna di queste rotazioni di testo.
Rotazione del testo PDF utilizzando TextFragment in C#
Di seguito sono riportati i passaggi per ruotare un frammento di testo in un documento PDF utilizzando C#.
- Innanzitutto, crea un nuovo documento utilizzando la classe Document.
- Quindi, aggiungi una pagina al documento e ottieni il suo riferimento usando il metodo Document.Pages.Add().
- Successivamente, crea un nuovo frammento di testo usando la classe TextFragment.
- Imposta la posizione e il carattere del frammento di testo.
- Impostare l’angolo di rotazione utilizzando la proprietà TextFragment.TextState.Rotation.
- Crea un nuovo oggetto TextBuilder e inizializzalo con l’oggetto Pagina.
- Utilizzare il metodo TextBuilder.AppendText(TextFragment) per aggiungere testo alla pagina.
- Infine, salva il documento PDF utilizzando il metodo Document.Save(string).
L’esempio di codice seguente mostra come ruotare il testo in un documento PDF in C#.
// Inizializza oggetto documento
Document pdfDocument = new Document();
// Ottieni una pagina particolare
var pdfPage = pdfDocument.Pages.Add();
// Crea frammento di testo
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
// Imposta le proprietà del testo
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Crea frammento di testo ruotato
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
// Imposta le proprietà del testo
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// Crea frammento di testo ruotato
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
// Imposta le proprietà del testo
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// creare oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Aggiungi il frammento di testo alla pagina PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// Salva documento
pdfDocument.Save("Rotation_TextFragment.pdf");
Produzione
Rotazione del testo PDF utilizzando TextParagraph in C#
Puoi anche applicare la rotazione al testo durante la creazione di un nuovo paragrafo. Questo può essere ottenuto usando la classe TextParagraph. Di seguito sono riportati i passaggi per applicare la rotazione del testo utilizzando la classe TextParagraph.
- Innanzitutto, crea un nuovo documento utilizzando la classe Document.
- Quindi, aggiungi una pagina al documento e ottieni il suo riferimento usando il metodo Document.Pages.Add().
- Successivamente, crea un nuovo oggetto TextParagraph.
- Crea un nuovo frammento di testo usando la classe TextFragment e imposta il testo e il carattere.
- Impostare l’angolo di rotazione utilizzando la proprietà TextFragment.TextState.Rotation.
- Aggiungi testo al paragrafo usando il metodo TextParagraph.AppendLine(TextFragment).
- Crea un nuovo oggetto TextBuilder e inizializzalo con l’oggetto Page.
- Usa il metodo TextBuilder.AppendParagraph(TextParagraph) per aggiungere un paragrafo alla pagina.
- Infine, salva il documento PDF utilizzando il metodo Document.Save(string).
L’esempio di codice seguente mostra come ruotare il testo all’interno di un paragrafo in PDF a livello di codice.
// Inizializza oggetto documento
Document pdfDocument = new Document();
// Ottieni una pagina particolare
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// Crea frammento di testo
TextFragment textFragment1 = new TextFragment("rotated text");
// Imposta le proprietà del testo
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Imposta la rotazione
textFragment1.TextState.Rotation = 45;
// Crea frammento di testo
TextFragment textFragment2 = new TextFragment("main text");
// Imposta le proprietà del testo
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Crea frammento di testo
TextFragment textFragment3 = new TextFragment("another rotated text");
// Imposta le proprietà del testo
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Imposta la rotazione
textFragment3.TextState.Rotation = -45;
// Aggiungi i frammenti di testo al paragrafo
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// Crea oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Aggiungi il paragrafo di testo alla pagina PDF
textBuilder.AppendParagraph(paragraph);
// Salva documento
pdfDocument.Save("Rotation_TextParagraph.pdf");
Produzione
Ottieni una licenza API gratuita
Puoi provare Aspose.PDF per .NET gratuitamente ottenendo una licenza temporanea.
Conclusione
L’automazione PDF è ampiamente adottata per creare e manipolare documenti PDF dall’interno delle applicazioni Web o desktop. In questo articolo, hai imparato a ruotare il testo in PDF a livello di codice usando C#. Abbiamo spiegato in modo esplicito come ruotare il testo usando le classi TextFragment e TextParagraph. Inoltre, puoi esplorare altre funzionalità utilizzando la documentazione di Aspose.PDF per .NET. In caso di domande o domande, puoi contattarci tramite il nostro forum.