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.
- 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.getPages().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 o método TextFragment.getTextState().setRotation().
- 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 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 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.
- 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.getPages().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 o método TextFragment.getTextState().setRotation().
- 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
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
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.