Algún estado. Las estructuras generan informes en archivos doc. En algún lugar, esto se hace a mano, y en algún lugar automáticamente. Imagine que se le indica que procese una tonelada de dichos documentos. Esto puede ser necesario para aislar cierta información específica o simplemente verificar el contenido. Necesitamos sacar solo texto sin formato sin gráficos e imágenes. Por ejemplo, estos datos son más fáciles de introducir en una red neuronal para su posterior análisis.
Aquí hay algunas opciones para la persona más común:
- Los controladores iteran sobre todos los archivos uno por uno. Después del décimo documento, se te ocurrirá pensar que estás haciendo algo mal.
- Intente encontrar en Internet una biblioteca especial (extensión) para trabajar con archivos doc en un lenguaje de programación que posea. Pase otra hora entendiendo cómo trabajar con esta biblioteca. También debe enfrentar el hecho de que los principios de trabajar con doc y docx son ligeramente diferentes.
- Intente volver a guardar automáticamente todos los documentos en un formato diferente, con el que será más conveniente trabajar.
Justo sobre la última opción y hablaremos.
Y un script vbs se apresura a ayudarnos. Se puede llamar a un script vbs desde la línea de comandos, lo que se puede hacer en cualquier lenguaje de programación.
Crear un archivo converter.vbs
Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit
En la primera línea indicamos en qué formato convertiremos: 2 - a txt, 17 - a pdf.
Todos los formatos se pueden ver
aquí . En la segunda línea, abrimos directamente la palabra. Después de abrir, puede agregar la siguiente línea:
objWord.Visible = TRUE
Esto hará que veamos el proceso de abrir Word. Esto puede ser útil si en algún momento se produce un error, la palabra no se cierra y, sin esta línea, el proceso solo se puede eliminar a través del administrador de tareas, y solo podemos hacer clic en la cruz.
En el símbolo del sistema, el script se ejecutará de la siguiente manera:
converter.vbs ___\_.docx ___\___
Wscript.Arguments.Item (0) es full_path_to_file \ file_name.docx
WScript.Arguments.Item (1) - full_path_to_save_save \ file_name sin extensión
En consecuencia, en la tercera línea de nuestro script, abrimos el archivo, y en la siguiente línea guardamos en el formato especificado. Y al final cerramos la palabra.
Hay otro pequeño truco que necesitas. A veces, debido a diferencias en las versiones de Word o por otras razones, Word puede maldecir, diciendo que el archivo está dañado. Al abrir manualmente el archivo, veremos una advertencia "la tabla está dañada, ¿continúa abriendo el archivo?". Y solo necesita hacer clic en "Sí", pero el script detendrá su trabajo en este punto.
Vbs tiene una construcción de captura muy torpe. Puede solucionar este problema agregando solo dos líneas. En total, un script estable completo es el siguiente:
Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") objWord.Visible = TRUE On Error Resume Next Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit
Como puede ver, la apertura del archivo está duplicada. En el caso de que todo esté en orden con el archivo, el archivo simplemente se abrirá dos veces, y en caso de error, simplemente continuará abriendo el archivo.
Y para cada bombero, un ejemplo de cómo se vería una función en Python
import os
Luego, simplemente aplique esta función a todos los archivos que necesitan ser convertidos.
Resumen
- Esta solución es adecuada para todos los formatos de palabras.
- No pasó más de 10 minutos leyendo este artículo.
- Puede implementar sabiendo cualquier lenguaje de programación.