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.
- Primero, cree un nuevo documento usando la clase Document.
- Luego, agregue una página al documento y obtenga su referencia usando el método Document.getPages().add().
- Después de eso, crea un nuevo fragmento de texto usando la clase TextFragment.
- Establecer la posición y la fuente del fragmento de texto.
- Establezca el ángulo de rotación usando el método TextFragment.getTextState().setRotation().
- Cree un nuevo objeto TextBuilder e inicialícelo con el objeto Page.
- Use el método TextBuilder.appendText(TextFragment) para agregar texto a la página.
- Finalmente, guarde el documento PDF usando el método Document.save(string).
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 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.
- Primero, cree un nuevo documento usando la clase Document.
- Luego, agregue una página al documento y obtenga su referencia usando el método Document.getPages().add().
- Después de eso, crea un nuevo objeto TextParagraph.
- Cree un nuevo fragmento de texto usando la clase TextFragment y configure el texto y la fuente.
- Establezca el ángulo de rotación usando el método TextFragment.getTextState().setRotation().
- Agrega texto al párrafo usando el método TextParagraph.appendLine(TextFragment).
- Cree un nuevo objeto TextBuilder e inicialícelo con el objeto Page.
- Use el método TextBuilder.appendParagraph(TextParagraph) para agregar un párrafo a la página.
- Finalmente, guarde el documento PDF usando el método Document.save(string).
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
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.