Un enfoque rápido y sencillo para extraer páginas de documentos de Word usando Python SDK.

documento de word dividido

Dividir documento de Word | Extraer páginas de un documento de Word como un archivo independiente

En el ámbito de la gestión de documentos, a menudo surge la necesidad de dividir, separar o extraer secciones específicas de un documento de Word. Ya sea que se trate de extensos artículos de investigación, informes completos o manuscritos extensos, la tarea de dividirlos en partes más manejables puede requerir mucho tiempo y ser un desafío. En este artículo, exploraremos los pasos para lograr este requisito con Python Cloud SDK, lo que le permitirá optimizar sus tareas de gestión de documentos y trabajar de manera más eficiente.

API de procesamiento de textos

Aspose.Words Cloud es nuestra solución dedicada para el procesamiento de MS Word (DOCX, DOC, DOT, RTF, DOCM) u OpenDocument (ODT, OTT).No se necesita ningún software de terceros ni automatización de MS Office para procesar documentos de Word. Simplemente llame a las API REST para cumplir con sus requisitos. Dado que las API están basadas en REST, puede acceder a ellas en cualquier plataforma, incluidas las de escritorio, la web, la aplicación móvil, etc. Ahora, según el alcance de este artículo, vamos a discutir los detalles de cómo dividir páginas en un archivo de Word como un documento de Word individual. La API también proporciona la flexibilidad para personalizar la operación de división, es decir, dividir cada página, impar y par, por la cantidad de páginas, por rango de páginas.

Para facilitar aún más la tarea a nuestros clientes, hemos creado Aspose.Words Cloud SDK para Python, que es un contenedor de Cloud API, para que pueda aprovechar todos los beneficios del procesamiento de documentos de Word dentro de su lenguaje de programación favorito. Por lo tanto, antes de continuar, el primer paso es la instalación del SDK en el sistema local. Está disponible para descargar en PIP y GitHub. Ejecute el siguiente comando en la terminal de línea de comandos para instalar el SDK:

pip install aspose-words-cloud

En caso de que utilice Visual Studio como IDE, puede agregar directamente la referencia del SDK en el proyecto.

Haga clic en la opción Ver ->Otras ventanas ->Entornos de Python, como se muestra a continuación.

Opción de menú Entorno Python.

Imagen 1: Opción de menú Entorno de Python.

Ingrese aspose-word-cloud en el campo Paquetes en la ventana Entornos de Python. Luego haga clic en el enlace Instalar aspose-word-cloud (21.11.0).El número de versión puede cambiar según la versión más reciente o actual. Vea la imagen a continuación.

Paquete de Python aspose-words-cloud

Imagen 2: paquete de Python aspose-words-cloud.

Dividir páginas en un documento de Word con Python

Siga las instrucciones a continuación para dividir todas las páginas de un documento de Word ya disponible en el almacenamiento en la nube.

  • En primer lugar, necesitamos inicializar un objeto de WordsApi mientras pasamos el ID de cliente y el secreto de cliente como argumentos.
  • En segundo lugar, especifique el nombre del archivo Word de entrada, el formato de salida resultante, el nombre del archivo resultante y el parámetro para archivar en formato zip la salida.
  • Cargue el documento de Word de entrada al almacenamiento en la nube utilizando el objeto UploadFileRequest.
  • Ahora cree una instancia de SplitDocumentRequest mientras pasa los detalles definidos en el segundo paso.
  • Por último, llama al método splitdocument(…) de la clase WordsApi para dividir los documentos de Word. Los archivos resultantes se guardan en un almacenamiento en la nube asignado.
try:
        # crear una instancia de WordsApi
        words_api = WordsApi("88d1cda8-b12c-4a80-b1ad-c85ac483c5c5","406b404b2df649611e508bbcfcd2a77f")

        # Nombre del documento de Word de entrada
        inputFileName = 'source.doc'
        # formato de archivo resultante
        resultantFormat = 'DOCX'
        # Nombre del documento resultante después de la operación. Si se omite este parámetro
        # Luego, el archivo resultante se guardará con el nombre del documento de entrada.
        resultantFile = 'Split-File'
        # La bandera que indica si se debe comprimir la salida.
        zipOutput = 'false'

        # Subir documento Word de origen al almacenamiento en la nube
        words_api.upload_file(asposewordscloud.models.requests.UploadFileRequest(open('C:\\Users\\Downloads\\'+inputFileName, 'rb'), "", None))

        # Crear un objeto para dividir el documento
        request = asposewordscloud.models.requests.SplitDocumentRequest(inputFileName, resultantFormat, None, None, None,
                                                                                    None, resultantFile,None, None, zipOutput, None)
        # Iniciar la operación de división de palabras
        result = words_api.split_document(request)
        
        # Imprimir mensaje en la consola (opcional)
        print('Document Split process completed successfully !')    
    except ApiException as e:
        print("Exception while calling WordsApi: {0}".format(e))
Vista previa de la operación de división de documentos

Imagen 3: Vista previa de la operación de división de documento.

Dividir documento según páginas seleccionadas

En esta sección, analizaremos en detalle cómo dividir un documento en función de las páginas seleccionadas y guardar el resultado como un archivo ZIP. El fragmento de código es casi el mismo que el que se compartió anteriormente, excepto que debemos especificar el valor de Página desde, Página hasta y Verdadero para que se archive el resultado.

try:
        # crear una instancia de WordsApi
        words_api = WordsApi("88d1cda8-b12c-4a80-b1ad-c85ac483c5c5","406b404b2df649611e508bbcfcd2a77f")

        # Nombre del documento de Word de entrada
        inputFileName = 'source.doc'
        # formato de archivo resultante
        resultantFormat = 'DOCX'
        # Nombre del documento resultante después de la operación. Si se omite este parámetro
        # Luego, el archivo resultante se guardará con el nombre del documento de entrada.
        resultantFile = 'SplitOutput'
        # La bandera que indica la salida deberá estar en un archivo ZIP.
        zipOutput = 'false'

        # Subir documento Word de origen al almacenamiento en la nube
        words_api.upload_file(asposewordscloud.models.requests.UploadFileRequest(open('C:\\Users\\Downloads\\'+inputFileName, 'rb'), "", None))

        # Crear un objeto para dividir el documento
        request = asposewordscloud.models.requests.SplitDocumentRequest(inputFileName, resultantFormat, None, None, None,
                                                                                    None, resultantFile,pageFrom, pageTo, zipOutput, None)
        # Iniciar la operación de división de palabras
        result = words_api.split_document(request)
        
        # Imprimir mensaje en la consola (opcional)
        print('Document Split process completed successfully !')    
    except ApiException as e:
        print("Exception while calling WordsApi: {0}".format(e))
Salida dividida del documento

Imagen 4: Vista previa de la operación de división de documento para las páginas seleccionadas.

Extraer páginas de un documento de Word mediante comandos cURL

Al igual que otras API REST, también se puede acceder a Aspose.Words Cloud mediante comandos cURL dentro de la terminal de línea de comandos. Sin embargo, antes de continuar, primero debemos generar un token de acceso JWT basado en las credenciales del cliente.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez generado el token, ejecute el siguiente comando para extraer páginas del documento de Word y guardar la salida en el almacenamiento en la nube.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/source.doc/split?format=DOCX&destFileName=Split-File&from=2&to=4&zipOutput=false" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>"

Conclusión

En este artículo, hemos explorado la posibilidad de crear un divisor de documentos que pueda dividir un documento de Word en archivos de páginas individuales mediante el SDK de Python. Además, según sus requisitos, puede utilizar el SDK de Python o extraer páginas de un documento de Word mediante comandos cURL. Tenga en cuenta que creemos en el crecimiento colectivo y la colaboración. Por lo tanto, nuestros SDK se desarrollan según la licencia MIT y su código fuente completo está disponible para descargar en Github. Si lo necesita, puede descargar y modificar el código según sus requisitos. En caso de que tenga algún problema o alguna otra consulta, no dude en ponerse en contacto con nosotros a través del Foro de soporte técnico gratuito.

Artículos relacionados

Te recomendamos visitar los siguientes enlaces para conocer más sobre: