Escribiendo ficheros docx de Word con Python. Capítulo V – Y más texto

En este nuevo capítulo vamos a hablar sobre como configurar un poco el formato de nuestro texto en nuestro documento. Los bloques fundamentales de código son los párrafos, los cuales acumulan texto de izquierda a derecha y cuando se llega a un tope siguen acumulando texto de izquierda a derecha en la siguiente línea. Este tope depende del contenedor donde se encuentre el párrafo. El contenedor más natural y el que hemos estado usando hasta ahora principalmente es la página pero también podemos tener texto en columnas si decidimos dividir la página en más de una columna, podemos tener texto en la celda de una tabla, etc.

Vamos a empezar, seguimos el ritual de lo habitual, e importamos algunas bibliotecas:

Creamos una nueva instancia de Document:

A este documento vacio le vamos a añadir un párrafo vacio:

Veamos las cosas disponibles que tenemos en el párrafo:

El resultado de lo anterior mostrará:

Trabajando con run‘s

Como véis, tenemos un método que se llama add_run y una property que se llama runs. El primero sirve para añadir pequeñas porciones de texto mientras que el segundo nos devuelve una lista con los diferentes run‘s que tiene el párrafo:

Lo anterior nos mostrará una lista vacía. De momento, no tenemos ningún run por lo que vamos a añadir uno.

Lo anterior mostrará algo parecido a:

Vemos que ahora tenemos un run dentro del párrafo. Vamos a añadir un segundo run:

Lo anterior mostrará:

Añadimos un tercero, un cuarto y un quinto:

Podemos acceder a todo el texto contenido en el párrafo usando text:

Y lo anterior mostrará:

Accedemos al primer run:

Y vemos todo lo que nos ofrece:

Lo anterior mostrará en pantalla:

Podemos ver que dentro de un run podemos añadir texto (add_text) pero también podemos añadir imágenes (add_picture), tabulaciones (add_tab). Vemos que podemos acceder al texto usando text. Podemos limpiar el contenido usando clear. Podemos hacer que el texto se vea en negrita (bold), en cursiva (italic),… Vamos a toquetear algunas de estas cosas usando un nuevo run.

Vemos que no hay texto, de momento.

Vamos a descargar unas cuantas imágenes para añadirlas en un run:

A r6 le vamos a añadir texto e imágenes:

[Inciso: estamos usando Cm. Su uso parece obvio pero dejamos el entrar más en detalle para más adelante].

Si guardamos el documento y lo abrimos en un procesador de texto:

Deberíamos ver algo parecido a:

Pero teníamos más runs y hemos visto que teníamos cosas como bold o italic. Vamos a hacer uso de ellas.

r2 lo vamos a dejar en negrita y r4 en cursiva:

Si volvemos a guardar el documento y lo abrimos nuevamente con un procesador de textos:

Deberíamos ver algo parecido a:

Vamos a añadir un nuevo párrafo:

Vamos a acceder ahora al objeto ParagraphFormat y ver lo que podemos hacer con ello:

Lo anterior mostrará en pantalla:

Veamos lo que nos ofrece:

Lo anterior mostrará:

Vemos muchas cositas. Si usáis procesadores de textos muchas os sonarán. Vamos a ver algunas de ellas pero antes vamos a guardar el documento para ver el estado actual del segundo párrafo antes de que empecemos a toquetear.

Lo dicho, vamos a empezar a toquetear:

[Inciso: estamos usando WD_PARAGRAPH_ALIGNMENT. Su uso parece obvio pero entraremos más en detalle más adelante].

Lo que hemos hecho ahora es indicar que el texto del párrafo está justificado, es decir, que ocupa todo el ancho disponible del contenedor que estemos usando. Por otro lado hemos dicho que la primera línea tenga una indentación de 2 centímetros. Si guardamos y visualizamos:

Deberíamos ver un documento parecido al siguiente:

Seguimos con un tercer párrafo con el que vamos a ver el objeto Font. Podremos acceder al mismo desde un run. Veamos un ejemplo:

[Inciso: como anteriormente, más adelante daremos más detalles de RGBColor y de Pt. De todas formas, su uso parece muy intuitivo].

En el anterior código hemos metido palabras a las cuales les hemos modificado el tipo de fuente, tamaño y color. Vamos a guardar el documento y a visualizarlo:

El resultado será algo parecido a:

Volvemos al objeto Font y lo vamos a inspeccionar un poco para ver de qué más cosas dispone:

Lo anterior mostrará:

Podemos crear subíndices y superíndices (subscript, superscript, respectivamente), poner todo el run en mayúsculas (all_caps),…

Para ir terminando, vamos a crear un cuarto párrafo para ver una cosa en la que profundizaremos en el siguiente capítulo del tutorial:

Veis que he introducido una nueva keyword, style. De momento dejamos el misterio aquí y seguiremos en el próximo capítulo. Vamos a guardar el documento y a ver cómo queda este último párrafo:

El resultado es:

Resumen

Hemos visto que podemos bajar muchos niveles para ir haciendo cosas más detalladas. Si nos quedamos con el párrafo para muchos casos será más que suficiente pero si necesitamos formatear nuestro texto un poco más vemos que tenemos opciones y lo podríamos hacer incluso letra a letra.

Seguid atentos puesto que seguiremos desvelando cosas sobre los estilos y sobre esas nombres raros que hemos visto como Cm, WD_PARAGRAPH_ALIGNMENT,…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

eighty six + = ninety four