Girar texto dentro de documentos PDF em C#

PDF tornou-se um formato de documento dominante no mundo digital. Seu suporte multiplataforma o tornou um formato amplamente adotado para gerar e compartilhar documentos, como artigos de pesquisa, faturas, etc. Ao gerar um PDF programaticamente, muitas vezes você precisa alterar a posição e orientação do texto de acordo com o layout do o documento. Neste artigo, demonstraremos como girar texto dentro de documentos PDF programaticamente em C# .NET.

API C# .NET para girar texto em PDF

Aspose.PDF for .NET é uma biblioteca de classes C# que fornece recursos básicos e avançados de manipulação de PDF para aplicativos .NET. Usando a API, você pode gerar documentos PDF com layouts simples ou complexos sem problemas. Usaremos esta API para girar o texto dentro de documentos PDF. Você pode baixar a DLL da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.PDF

Girar texto dentro de PDF em C#

Existem várias maneiras de girar um texto dentro de um documento PDF. Você pode girar um fragmento de texto ou o parágrafo completo. Vamos ver como funciona cada uma dessas rotações de texto.

Rotação de texto PDF usando TextFragment em C#

A seguir estão as etapas para girar um fragmento de texto em um documento PDF usando C#.

O exemplo de código a seguir mostra como girar o texto em um documento PDF em C#.

// Inicializar objeto de documento
Document pdfDocument = new Document();
            
// Obter página específica
var pdfPage = pdfDocument.Pages.Add();
            
// Criar fragmento de texto
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
            
// Definir propriedades de texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Criar fragmento de texto girado
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
            
// Definir propriedades de texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
            
// Criar fragmento de texto girado
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
            
// Definir propriedades de texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
            
// criar objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Anexar o fragmento de texto à página PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
            
// Salvar documento
pdfDocument.Save("Rotation_TextFragment.pdf");

Resultado

Rotação de texto PDF usando TextFragment em C#

Rotação de texto PDF usando TextParagraph em C#

Você também pode aplicar rotação ao texto ao criar um novo parágrafo. Isso pode ser feito usando a classe TextParagraph. A seguir estão as etapas para aplicar a rotação de texto usando a classe TextParagraph.

O exemplo de código a seguir mostra como girar o texto dentro de um parágrafo em PDF programaticamente.

// Inicializar objeto de documento
Document pdfDocument = new Document();
           
// Obter página específica
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
            
// Criar fragmento de texto
TextFragment textFragment1 = new TextFragment("rotated text");
            
// Definir propriedades de texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Definir rotação
textFragment1.TextState.Rotation = 45;
            
// Criar fragmento de texto
TextFragment textFragment2 = new TextFragment("main text");
            
// Definir propriedades de texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Criar fragmento de texto
TextFragment textFragment3 = new TextFragment("another rotated text");
            
// Definir propriedades de texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Definir rotação
textFragment3.TextState.Rotation = -45;
            
// Anexar os fragmentos de texto ao parágrafo
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
            
// Criar objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Anexar o parágrafo de texto à página PDF
textBuilder.AppendParagraph(paragraph);

// Salvar documento
pdfDocument.Save("Rotation_TextParagraph.pdf");

Resultado

Rotação de texto PDF usando TextParagraph em C#

Obtenha uma licença de API gratuita

Você pode experimentar o Aspose.PDF para .NET gratuitamente obtendo uma licença temporária.

Conclusão

A automação de PDF é amplamente adotada para criar e manipular documentos PDF a partir da web ou de aplicativos de desktop. Neste artigo, você aprendeu como girar texto em PDF programaticamente usando C#. Cobrimos explicitamente como girar o texto usando as classes TextFragment e TextParagraph. Além disso, você pode explorar outros recursos usando a documentação do Aspose.PDF para .NET. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.

Veja também