Rotar texto dentro de documentos PDF en Java

PDF es un formato de documento multiplataforma que proporciona un diseño uniforme en diferentes sistemas operativos. Es ampliamente utilizado para generar y compartir documentos, como artículos de investigación, facturas, etc. Al generar archivos PDF mediante programación, a menudo es necesario cambiar la posición y la orientación del texto de acuerdo con el diseño del documento. En este artículo, le mostraremos cómo rotar texto dentro de documentos PDF en Java.

API de Java para rotar texto en PDF

Para rotar texto dentro de archivos PDF, usaremos Aspose.PDF for Java. Es una poderosa biblioteca que proporciona funciones básicas y avanzadas de manipulación de PDF. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

Repositorio:

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

Dependencia:

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

Rotar texto dentro de PDF en Java

Hay varias formas de rotar un texto dentro de un documento PDF. Puede rotar un fragmento de texto o el párrafo completo. Veamos cómo funciona cada una de estas rotaciones de texto.

Rotación de texto PDF usando TextFragment en Java

Los siguientes son los pasos para rotar un fragmento de texto en un documento PDF usando Java.

El siguiente ejemplo de código muestra cómo rotar texto en un documento PDF en Java.

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

// Obtener página particular
Page pdfPage = pdfDocument.getPages().add();

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

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

// Crear fragmento de texto rotado
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Establecer propiedades de texto
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

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

// Establecer propiedades de texto
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);

// Crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Agregue el fragmento de texto a la página PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);

// Guardar documento
pdfDocument.save("Rotate_Text_TextFragment.pdf");

Producción

Rotación de texto PDF usando TextFragment en Java

Rotación de texto PDF usando TextParagraph en Java

También puede aplicar rotación al texto mientras crea un nuevo párrafo. Esto se puede lograr usando la clase TextParagraph. Los siguientes son los pasos para aplicar la rotación de texto usando la clase TextParagraph.

El siguiente ejemplo de código muestra cómo rotar texto dentro de un párrafo en PDF mediante programación.

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

// Obtener página particular
Page pdfPage = (Page) pdfDocument.getPages().add();

// Crear párrafo de texto
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

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

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

// Establecer rotación
textFragment1.getTextState().setRotation(45);

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

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

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

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

// Establecer rotación
textFragment3.getTextState().setRotation(-45);

// Añadir los fragmentos de texto al párrafo.
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);

// Crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Agregar el párrafo de texto a la página PDF
textBuilder.appendParagraph(paragraph);

// Guardar documento
pdfDocument.save("Rotate_Text_TextParagraph.pdf");

Producción

Rotación de texto PDF usando TextParagraph en Java

Obtenga una licencia de API gratuita

Puede probar Aspose.PDF for Java de forma gratuita obteniendo una licencia temporal.

Conclusión

En este artículo, aprendió cómo rotar texto en PDF mediante programación usando Java. Hemos cubierto cómo rotar texto usando las clases TextFragment y TextParagraph. Además, puede explorar más sobre Aspose.PDF for Java usando la documentación. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.

Ver también