Girar texto dentro de documentos PDF em Java

PDF é um formato de documento multiplataforma que fornece um layout consistente em diferentes sistemas operacionais. É amplamente utilizado para gerar e compartilhar documentos, como artigos de pesquisa, faturas, etc. Ao gerar arquivos PDF programaticamente, muitas vezes você precisa alterar a posição e a orientação do texto de acordo com o layout do documento. Neste artigo, mostraremos como girar o texto dentro de documentos PDF em Java.

API Java para girar texto em PDF

Para girar o texto dentro de arquivos PDF, usaremos Aspose.PDF for Java. É uma biblioteca poderosa que fornece recursos básicos e avançados de manipulação de PDF. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

Repositório:

    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependência:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Girar texto dentro de PDF em Java

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 Java

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

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

// Inicializar objeto de documento
Document pdfDocument = new Document();

// Obter página específica
Page pdfPage = pdfDocument.getPages().add();

// Criar fragmento de texto
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));

// Definir propriedades de texto
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Criar fragmento de texto girado
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Definir propriedades de texto
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// Criar fragmento de texto girado
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// Definir propriedades de texto
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(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("Rotate_Text_TextFragment.pdf");

Resultado

Rotação de texto PDF usando TextFragment em Java

Rotação de texto PDF usando TextParagraph em Java

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
Page pdfPage = (Page) pdfDocument.getPages().add();

// Criar parágrafo de texto
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

// Criar fragmento de texto
TextFragment textFragment1 = new TextFragment("rotated text");

// Definir propriedades de texto
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Definir rotação
textFragment1.getTextState().setRotation(45);

// Criar fragmento de texto
TextFragment textFragment2 = new TextFragment("main text");

// Definir propriedades de texto
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Criar fragmento de texto
TextFragment textFragment3 = new TextFragment("another rotated text");

// Definir propriedades de texto
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Definir rotação
textFragment3.getTextState().setRotation(-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("Rotate_Text_TextParagraph.pdf");

Resultado

Rotação de texto PDF usando TextParagraph em Java

Obtenha uma licença de API gratuita

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

Conclusão

Neste artigo, você aprendeu como girar texto em PDF programaticamente usando Java. Cobrimos como girar o texto usando as classes TextFragment e TextParagraph. Além disso, você pode explorar mais sobre o Aspose.PDF para Java usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.

Veja também