Trabajar con texto resaltado en Python Módulo .docx

requisitos previos: docx

Los documentos de Word contienen texto con formato envuelto en tres niveles de objeto. Los objetos de ejecución de nivel más bajo, los objetos de párrafo de nivel medio y los objetos de documento de nivel más alto. Por lo tanto, no podemos trabajar con estos documentos usando editores de texto normales. Pero podemos manipular estos documentos de Word en python usando el módulo python-docx. El comando Pip para instalar este módulo es:

pip install python-docx

El módulo Python docx permite a los usuarios manipular documentos ya sea manipulando el existente o creando un nuevo documento vacío y manipulándolo. Es una herramienta poderosa ya que te ayuda a manipular el documento en gran medida. También puede agregar texto resaltado en su documento de Word.

Para agregar el texto resaltado, primero debe crear un objeto de párrafo y luego debe usar el método add_run() para agregar contenido. Puede usar directamente el método add_paragraph() para agregar un párrafo, pero si desea agregar el texto resaltado, debe usar add_run() ya que todo el formato a nivel de bloque se realiza mediante el método add_paragraph() mientras que todo el formato a nivel de carácter se hace usando add_run().

Agregar texto resaltado

El texto se resalta asignando un miembro de WD_COLOR_INDEX a Font.highlight_color. Para usar WD_COLOR_INDEX, primero debemos importarlo usando la siguiente declaración de importación.

from docx.enum.text import WD_COLOR_INDEX

Sintaxis: párrafo.add_run().font.highlight_color = Colour_Name

Parámetro: Colour_Name: Es el nombre del color asignado para resaltar el texto. Es el miembro de WD_COLOR_INDEX.

Nota: si no asignamos el color, el color predeterminado es NINGUNO .

Ejemplo 1: Resaltar el párrafo completo usando el módulo python-docx.

Python3

# Import docx NOT python-docx
import docx
from docx.enum.text import WD_COLOR_INDEX
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document 
doc.add_heading('GeeksForGeeks', 0)
  
# Creating paragraph with some content and Highlighting it.
highlight_para = doc.add_paragraph(
       ).add_run(
           '''GeeksforGeeks is a Computer Science portal for geeks. It contains well written, well thought and well-explained computer science and programming articles, quizzes etc.'''
                 ).font.highlight_color = WD_COLOR_INDEX.YELLOW
  
# Now save the document to a location 
doc.save('gfg.docx')

Producción:

Ejemplo 2: Resaltar la palabra o frase específica en un párrafo usando el módulo python-docx.

Python3

# Import docx NOT python-docx
import docx
from docx.enum.text import WD_COLOR_INDEX
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document 
doc.add_heading('GeeksForGeeks', 0)
  
# Creating paragraph with some content
para = doc.add_paragraph('''GeeksforGeeks is a Computer Science portal for geeks.''')
  
# Adding more content to paragraph and highlighting them
para.add_run(''' It contains well written, well thought and well-explained '''
            ).font.highlight_color = WD_COLOR_INDEX.YELLOW
  
# Adding more content to paragraph
para.add_run('''computer science and programming articles, quizzes etc.''')
  
# Now save the document to a location 
doc.save('gfg.docx')

Producción:

Estilos

Hay varias opciones de color para resaltar el texto. Puede elegir cualquier color que sea miembro de WD_COLOR_INDEX. La lista de colores es la siguiente:

SR. No.

Nombre del color en WD_COLOR_INDEX

Color Descripción

1.

AUTO

Predeterminado o Sin color

2.

NEGRO

De color negro

3.

AZUL

Color azul

4.

VERDE BRILLANTE

Color verde

5.

AZUL OSCURO

Color azul oscuro

6.

ROJO OSCURO

Color rojo oscuro

7.

AMARILLO OSCURO

color amarillo oscuro

8.

GRIS_25

Color gris claro

9.

GRIS_50

color gris oscuro

10

VERDE

Color verde oscuro

11

ROSADO

Color Magenta

12

ROJO

Color rojo

13

VERDE

Color cian oscuro

14

TURQUESA

Color cian

15.

VIOLETA

Color magenta oscuro

dieciséis.

BLANCO

Color blanco

17

AMARILLO

Color amarillo

Ejemplo 3: Adición de texto resaltado con estilo en el documento de Word.

Python3

# Import docx NOT python-docx
import docx
from docx.enum.text import WD_COLOR_INDEX
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document 
doc.add_heading('GeeksForGeeks', 0)
  
# Adding Auto Styled Highlighted paragraph
doc.add_heading('AUTO Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.AUTO
  
# Adding Black Styled Highlighted paragraph
doc.add_heading('BLACK Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.BLACK
  
# Adding Blue Styled Highlighted paragraph
doc.add_heading('BLUE Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.BLUE
  
# Adding Bright Green Styled Highlighted paragraph
doc.add_heading('BRIGHT_GREEN Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.BRIGHT_GREEN
  
# Adding Dark Blue Styled Highlighted paragraph
doc.add_heading('DARK_BLUE Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.DARK_BLUE
  
# Adding Dark Red Styled Highlighted paragraph
doc.add_heading('DARK_RED Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.DARK_RED
  
# Adding Dark Yellow Styled Highlighted paragraph
doc.add_heading('DARK_YELLOW Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.DARK_YELLOW
  
# Adding GRAY25 Styled Highlighted paragraph
doc.add_heading('GRAY_25 Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.GRAY_25
  
# Adding GRAY50 Styled Highlighted paragraph
doc.add_heading('GRAY_50 Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.GRAY_50
  
# Adding GREEN Styled Highlighted paragraph
doc.add_heading('GREEN Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.GREEN
  
# Adding Pink Styled Highlighted paragraph
doc.add_heading('PINK Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.PINK
  
# Adding Red Styled Highlighted paragraph
doc.add_heading('RED Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.RED
  
# Adding Teal Styled Highlighted paragraph
doc.add_heading('TEAL Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.TEAL
  
# Adding Turquoise Styled Highlighted paragraph
doc.add_heading('TURQUOISE Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.TURQUOISE
  
# Adding Violet Styled Highlighted paragraph
doc.add_heading('VIOLET Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.VIOLET
  
# Adding White Styled Highlighted paragraph
doc.add_heading('WHITE Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.WHITE
  
# Adding Yellow Styled Highlighted paragraph
doc.add_heading('YELLOW Style:', 3)
doc.add_paragraph().add_run('GeeksforGeeks is a Computer Science portal for geeks.'
                  ).font.highlight_color = WD_COLOR_INDEX.YELLOW
  
# Now save the document to a location 
doc.save('gfg.docx')

Producción:

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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