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#.
- Primeiro, crie um novo documento usando a classe Document.
- Em seguida, adicione uma página ao documento e obtenha sua referência usando o método Document.Pages.Add().
- Depois disso, crie um novo fragmento de texto usando a classe TextFragment.
- Defina a posição e a fonte do fragmento de texto.
- Defina o ângulo de rotação usando a propriedade TextFragment.TextState.Rotation.
- Crie um novo objeto TextBuilder e inicialize-o com o objeto Page.
- Use o método TextBuilder.AppendText(TextFragment) para adicionar texto à página.
- Finalmente, salve o documento PDF usando o método Document.Save(string).
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 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.
- Primeiro, crie um novo documento usando a classe Document.
- Em seguida, adicione uma página ao documento e obtenha sua referência usando o método Document.Pages.Add().
- Depois disso, crie um novo objeto TextParagraph.
- Crie um novo fragmento de texto usando a classe TextFragment e defina o texto e a fonte.
- Defina o ângulo de rotação usando a propriedade TextFragment.TextState.Rotation.
- Adicione texto ao parágrafo usando o método TextParagraph.AppendLine(TextFragment).
- Crie um novo objeto TextBuilder e inicialize-o com o objeto Page.
- Use o método TextBuilder.AppendParagraph(TextParagraph) para adicionar parágrafo à página.
- Finalmente, salve o documento PDF usando o método Document.Save(string).
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
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.