Herramientas de usuario

Herramientas del sitio


python:word

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
python:word [2022/04/10 18:29] – [Lectura de documentos Word] albertopython:word [2022/06/01 00:22] (actual) – [Word] alberto
Línea 1: Línea 1:
 ====== Word ====== ====== Word ======
-Para trabajar con Wor desde Python usareo el módulo de terceros Python-Docx en su versión 0.8.10: **pip install --user -U python-docx==0.8.10**.\\ +Para trabajar con Word desde Python usaremos el módulo de terceros Python-Docx en su versión 0.8.10: **pip install --user -U python-docx==0.8.10**.\\ 
-Se puede encontrar su doumentación en [[https://python-docx.readthedocs.io/|su página oficial]].\\+Se puede encontrar su documentación en [[https://python-docx.readthedocs.io/|su página oficial]].\\
 \\ \\
 Los documentos Word guardan una gran estructura en comparación con los documentos de texto plano. \\ Los documentos Word guardan una gran estructura en comparación con los documentos de texto plano. \\
Línea 80: Línea 80:
 parrafo2.add_run('Morbi blandit ligula ac ipsum condimentum hendrerit.') parrafo2.add_run('Morbi blandit ligula ac ipsum condimentum hendrerit.')
 doc.save('loremIpsum.docx') doc.save('loremIpsum.docx')
 +</code>
 +
 +Los métodos **add_paragraphs** y **add_run** aceptan como segundo elemento uno de los estilos disponibles.
 +
 +===== Añadiendo encabezados =====
 +Se utiliza la función **add_headings()** en el objeto //Document//. El primer arumento es texto, y el segundo el nivel del encabezado, siendo el mayor 0.\\
 +De cara al Documento, son tratados como párrafos, puesto que terminan en salto de línea.
 +
 +===== Añadiendo líneas y saltos de página =====
 +Para añadir una línea, se utiliza el método de documento, párrafo o run **add_breack()**.\\
 +
 +Para añadir un salto de línea se añade el argumento **docx.enum.text.WD_BREAK.PAGE** al método add_breack().\\
 +
 + ===== Añadiendo imágenes =====
 +Se utiliza el método de documento doc.**add_picture()**, en el que se indican los siguientes argumentos:
 +  - Nombre de la imagen, incluyendo dirección, si no está en el directorio de trabajo.
 +  - **width = docx.shared.Inches(**//número de pulgadas//**)** # Anchura de la imagen en pulgadas.
 +  - **height= docx.shared.Cm(**//número de centímetros//**)**   # Anchura de la imagen en centímetros.
 +
 +Tanto la altura //height//, como la anchura //width//, pueden expresarse en centímetros o pulgadas.
 +===== Creando PDFs a partir de documentos Word =====
 +Para ello necesitamos otro módulo: Pywin32. Es un módulo de terceros que hay que instalar <code python>pip install --user -U pywin32==224</code>
 +
 +Una vez hemos guardado el documento Word, vamos a guardarlo en pdf. Lo primero es conocer el número que indica el formato de guardado PDF en el listado de tipos de archivo a guardar, en el ejemplo de estas notas es el 17.<code python>wdFormatPDF = 17 # Word's numeric code for PDFs.</code>
 +
 +A continuación, obtenemos un objeto que representa la aplicación Word: <code python>wordObj = win32com.client.Dispatch('Word.Application')</code> Y otro a partir de éste, que representa el documento en un formato propio de la biblioteca instalada <code python>docObj = wordObj.Documents.Open(wordFilename)</code>. Entonces ya podemos proceder al guardado en PDF <code python>docObj.SaveAs(pdfFilename, FileFormat=wdFormatPDF)</code> Tras lo cual cerraremos los objetos abiertos anteriormente.\\
 +
 +Puede verse todo el proceso en el siguiente ejemplo.
 +<code python>
 +# ...
 +doc.save(wordFilename)
 +wdFormatPDF = 17 # Word's numeric code for PDFs.
 +wordObj = win32com.client.Dispatch('Word.Application')
 +docObj = wordObj.Documents.Open(wordFilename)
 +docObj.SaveAs(pdfFilename, FileFormat=wdFormatPDF)
 +docObj.Close()
 +wordObj.Quit()
 </code> </code>
python/word.1649608194.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki