es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Office.js: Cambiar tamaño de página

¿Cómo cambiamos el tamaño de página de una sección en Office.js? No hay ninguna opción en la API (versión más reciente). He intentado hacerlo a través de OOXML usando varios esquemas diferentes, sin éxito.

He confirmado (editando un archivo Docx manualmente) que necesitas cambiar los atributos w:w y w:h del nodo w:pgSz para cambiar el tamaño de página. Sin embargo, al insertar OOXML, no logro averiguar qué objeto necesito insertar. Por ejemplo, he intentado context.document.body.insertOoxml() así como context.document.sections.getFirst().body.insertOoxml(), ninguno de los cuales cambia el tamaño de página de ninguna manera.

También he intentado usar la función Section.set() sin éxito.

¿Alguien puede compartir cómo lograr esto?

Editar

El problema parece ser que el tamaño de página se almacena en el nodo sectPr, que Office.js nunca carga. He intentado la función load() así como context.loadRecursive(). Puedo cargar la colección de Sections y sus propiedades escalares y de navegación sin problemas, pero las propiedades de la sección nunca se cargan. No estoy seguro de qué más puedo hacer.

El otro método, el de insertar OOXML sin procesar, también falla porque el método insertOoxml() no está disponible con el objeto Section, sino solo con Section.body, lo que afecta el contenido de la sección y no sus propiedades meta.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, en este momento no es posible cambiar el tamaño de página de una sección directamente utilizando las API de Office.js. Aunque es posible cambiar esta propiedad en el subyacente OOXML utilizando insertOoxml(), el problema parece ser que el nodo sectPr, que contiene la propiedad de tamaño de página, no se carga en Office.js y, por lo tanto, no se puede acceder o modificar.

    Hasta que esta capacidad sea agregada a la API de Office.js, la única solución alternativa parece ser cambiar manualmente el tamaño de página en el documento utilizando una versión de escritorio de Word, y luego volver a cargar el documento en Office.js para trabajar con el tamaño actualizado.

Comments are closed.