Ruota il testo all'interno di documenti PDF in C#

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#.

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 TextFragment in C#

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.

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

Rotazione del testo PDF utilizzando TextParagraph in C#

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.

Guarda anche