controlar las propiedades de visualización del PDF

Los archivos PDF tienen una característica única: contienen las preferencias de visualización que nos permiten controlar cómo la aplicación de visualización mostrará el documento PDF. Por lo tanto, el diccionario de preferencias de visualización de un documento PDF le permite controlar la forma en que se presentará el documento en la pantalla o en la impresión.

Tenga en cuenta que podemos controlar las propiedades de visualización de los visores de PDF. Esto incluye controlar la visualización del título del documento PDF, ocultar o mostrar la barra de menú, ocultar/mostrar la barra de estado, ocultar/mostrar la interfaz de usuario de la ventana. Controlar cómo configurar el diseño de la página, el modo de página y el diseño de página. La mayoría de las aplicaciones de procesamiento de PDF admiten estas operaciones. Pero, para las operaciones de actualización masiva, una solución programática es una solución eficaz. En este artículo, vamos a analizar los detalles y los pasos sobre cómo controlar las propiedades de visualización de PDF utilizando Python.

SDK de manipulación de PDF

Aspose.PDF Cloud es una API basada en REST que permite a los desarrolladores implementar funciones de creación, manipulación y renderización de PDF en sus aplicaciones. Con menos líneas de código, puede desarrollar impresionantes aplicaciones de procesamiento de PDF. No se requiere la instalación de ningún software específico y puede realizar todas las operaciones de procesamiento de PDF en la nube. Para facilitar aún más el trabajo a nuestros desarrolladores, hemos creado Aspose.PDF Cloud SDK para Python, que es un contenedor de Aspose.PDF Cloud. Por lo tanto, para comenzar a utilizar este SDK, el primer paso es su instalación. El SDK está disponible para su descarga gratuita a través de los repositorios PIP y GitHub. Ahora debemos ejecutar el siguiente comando en la terminal/símbolo del sistema para realizar la instalación.

pip install asposepdfcloud

Cuenta gratuita de Cloud Dashboard

El siguiente paso importante es una suscripción gratuita a nuestros servicios en la nube a través del panel de control de Aspose.Cloud. El propósito de esta suscripción es permitir que solo las personas autorizadas accedan a nuestros servicios de procesamiento de archivos. Si tiene una cuenta de GitHub o Google, simplemente regístrese o haga clic en el botón Crear una nueva cuenta y proporcione la información requerida. Ahora inicie sesión en el panel de control con credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Credenciales del cliente

Imagen 1: Credenciales del cliente en el panel de Aspose.Cloud.

Leer las propiedades de visualización de un PDF con Python

Utilice el fragmento de código que aparece a continuación para leer las preferencias del visor de PDF y mostrarlas en la consola.

  • En primer lugar, cree una instancia de la clase ApiClient y proporcione el ID de cliente y el secreto del cliente como argumentos.
  • En segundo lugar, cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada.
  • Por último, llame al método getdocumentdisplayproperties(…) para recuperar las preferencias del visor de PDF.
def readPDFDisplayProperties():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # Crea una instancia de PdfApi mientras pasas PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'

        # Llamar a la API para leer las propiedades de visualización de PDF usando Python
        response = pdf_api.get_document_display_properties(name = input_file)
        
        # Imprimir respuesta en la consola
        print(response)
        
        # Imprimir mensaje en la consola (opcional)
        print('PDF Display preferences successfully retrieved !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

El documento PDF de muestra utilizado en el ejemplo anterior se puede descargar desde PdfWithEmbeddedFiles.pdf.

Actualizar las propiedades de visualización de PDF con Python

En esta sección, analizaremos los pasos y los detalles relacionados con la configuración de las propiedades de visualización de PDF mediante el SDK de Python. Sin embargo, antes de continuar, primero debemos conocer las propiedades y los valores específicos que se les pueden asignar.

Propiedades admitidas

| Propiedad | Descripción |

| —————– | ———————— |

| HideToolbar | Un indicador que especifica si se deben ocultar las barras de herramientas de la aplicación del visor de PDF cuando el documento está activo |

| HideMenuBar | Un indicador que especifica si se debe ocultar la barra de menú de la aplicación del visor de PDF cuando el documento está activo. |

| HideWindowUI | Un indicador que especifica si se deben ocultar los elementos de la interfaz de usuario en la ventana del documento (como barras de desplazamiento y controles de navegación), dejando solo visible el contenido del documento. |

| FitWindow | Un indicador que especifica si se debe cambiar el tamaño de la ventana del documento para que se ajuste al tamaño de la primera página mostrada. |

| CenterWindow | Una bandera que especifica si se debe posicionar la ventana del documento en el centro de la pantalla. |

| DisplayDocTitle | Un indicador que especifica si la barra de título de la ventana debe mostrar el título del documento. |

| PageMode | El modo de página del documento cuando el documento PDF se abre en un visor de PDF. Valores posibles: UseNone: no se ven ni el esquema del documento (marcadores) ni las imágenes en miniatura. UseOutlines: se ven el esquema del documento (marcadores).UseThumbs: se ven las imágenes en miniatura. FullScreenFull: modo de pantalla completa, sin barra de menú, controles de ventana ni ninguna otra ventana visible. UseOC: se ve el panel de grupo de contenido opcional. UseAttachments: se ven los archivos adjuntos del documento. |

| PageLayout | El diseño de página se utilizará cuando se abra el documento. Valores posibles: SinglePage: muestra una página a la vez. OneColumn: muestra las páginas en una columna. TwoColumnLeft: muestra las páginas en dos columnas, con las páginas impares a la izquierda. TwoColumnRight: muestra las páginas en dos columnas, con las páginas impares a la derecha. |

| NonFullScreenPageMode | El modo de página del documento cuando la aplicación de visualización de PDF sale del modo de pantalla completa. Valores posibles: UseNone: no se ven ni el esquema del documento (marcadores) ni las imágenes en miniatura. UseOutlines: se ven el esquema del documento (marcadores).UseThumbs: se ven las imágenes en miniatura. UseOC: se ve el panel de grupo de contenido opcional. |

  • Crea una instancia de la clase ApiClient mientras proporcionas el ID de cliente y el secreto del cliente como argumentos.
  • Luego, cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada.
  • Ahora cree una instancia de DocumentProperties que defina nuevas propiedades de visualización para la visualización de PDF.
  • Por último, llame a putdocumentdisplayproperties(…) para establecer nuevas propiedades de visualización para el archivo PDF.
def updatePDFDisplayProperties():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # Crea una instancia de PdfApi mientras pasas PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'
        
        # Propiedades de visualización del documento
        newDocumentProperties = asposepdfcloud.DocumentProperties
        {
          "Links": [
            {
               "Href": '/PdfWithEmbeddedFiles.pdf/displayproperties',
                "Rel": 'self',
                "Type": None,
                "Title": None    }
          ],
          "CenterWindow": True,
          "Direction": 'L2R',
          "DisplayDocTitle": True,
          "HideMenuBar": True,
          "HideToolBar": False,
          "HideWindowUI": True,
          "NonFullScreenPageMode": 'UseOutlines',
          "PageLayout":'TwoColumnRight',
          "PageMode": 'UseThumbs'
        }

        # Llamar a la API para actualizar las propiedades de visualización del PDF
        response = pdf_api.put_document_display_properties(name = input_file, display_properties=newDocumentProperties)
        
        # Imprimir respuesta en la consola
        print(response)
        
        # Imprimir mensaje en la consola (opcional)
        print('PDF Display preferences successfully updated !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Preferencias de visualización de PDF actualizadas

Imagen 2: Vista previa de las preferencias de visualización de PDF actualizadas.

Leer las propiedades de visualización de PDF mediante cURL

También se puede acceder a las API REST mediante comandos cURL y, dado que Aspose.PDF Cloud está desarrollado según la arquitectura REST, también podemos acceder a la API mediante el comando cURL. Sin embargo, antes de realizar cualquier operación de manipulación de documentos, necesitamos generar un token web JSON (JWT) basado en las credenciales de cliente individuales especificadas en el panel de control de Aspose.Cloud. Es obligatorio porque nuestras API solo son accesibles para usuarios registrados. Ejecute el siguiente comando para generar el token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez que se genera el token JWT, es posible que necesitemos ejecutar el siguiente comando cURL para leer las propiedades de visualización del PDF.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Actualizar las propiedades de visualización de PDF mediante cURL

El comando cURL también se puede utilizar para actualizar las propiedades de visualización de documentos PDF y el archivo resultante se guarda nuevamente en el almacenamiento en la nube.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Links\": [    {       \"Href\": \"/PdfWithEmbeddedFiles.pdf/displayproperties\",        \"Rel\": \"self\",        \"Type\": null,        \"Title\": null    }  ],  \"CenterWindow\": true,  \"Direction\": \"L2R\",  \"DisplayDocTitle\": true,  \"HideMenuBar\": true,  \"HideToolBar\": false,  \"HideWindowUI\": true,  \"NonFullScreenPageMode\": \"UseOutlines\",  \"PageLayout\": \"TwoColumnRight\",  \"PageMode\": \"UseThumbs\"}"

Conclusión

En este artículo, hemos explorado los detalles y los pasos para leer y controlar las propiedades de visualización de PDF. Estos requisitos se pueden cumplir mediante fragmentos de código de Python, así como mediante los comandos cURL. También recomendamos explorar la Guía para desarrolladores para conocer otras características interesantes que ofrece la API. Además, el código fuente completo de Aspose.PDF Cloud SDK para Python está disponible para su descarga en GitHub. En caso de que tenga algún problema al usar la API o si tiene alguna otra consulta, no dude en ponerse en contacto con nosotros a través del Foro de soporte gratuito del producto.

Artículos relacionados

También recomendamos visitar los siguientes enlaces para conocer más sobre: