ONLYOFFICE Docs 9.0 para desarrolladores: actualizaciones de la API
La última versión de ONLYOFFICE Docs ya está disponible, repleta de actualizaciones que ofrecen más funcionalidad, mejor personalización y un rendimiento mejorado. Si eres desarrollador o integrador y quieres aprovechar las mejoras en las APIs, hay mucho por descubrir en esta versión. Consulta todos los detalles a continuación.
Visor de diagramas
El nuevo Visor de diagramas está disponible para web, escritorio y web móvil. Permite abrir archivos de diagramas sin necesidad de aplicaciones de terceros.
Dónde encontrar en la API: el tipo de documento “diagram” se ha añadido al parámetro documentType.
Compatibilidad con nuevos formatos de archivo
ONLYOFFICE sigue ampliando su utilidad al ofrecer compatibilidad con más formatos de archivo. En la versión 9.0, es posible abrir archivos Markdown y OpenDocument Graphic (ODG) para visualización.
Dónde encontrar en la API: se ha añadido la apertura de los formatos .odg y .md.
Además, con el lanzamiento del Visor de diagramas, se ha añadido la conversión desde los formatos .vsdm, .vsdx, .vssm, .vssx, .vstm y .vstx. Consulta la API
Opciones de personalización ampliadas
La personalización ha alcanzado un nuevo nivel en la versión 9.0, permitiendo a los usuarios adaptar su experiencia en ONLYOFFICE exactamente como lo necesiten.
Nuevos temas de interfaz
Se presentan dos nuevos temas, Modern claro y Modern oscuro, para optimizar la apariencia de cada editor.
Dónde encontrar en la API: Los IDs de tema theme-white y theme-night se han añadido al parámetro editorConfig.customization.uiTheme.
const config = {
editorConfig: {
customization: {
...
uiTheme: "theme-white",
...
Selección de tamaño de fuente para la interfaz en chino simplificado
El nuevo parámetro garantiza un tamaño de fuente preciso en los diseños en chino simplificado, ofreciendo flexibilidad para usar estilos occidentales o tradicionales chinos.
Dónde encontrar en la API: parámetro editorConfig.customization.forceWesternFontSize, el valor predeterminado es false.
const config = {
editorConfig: {
customization: {
....
forceWesternFontSize: false,
...
Ocultar los avatares de usuario
El nuevo parámetro permite activar o desactivar los avatares de usuario en el encabezado del editor, ayudando a crear una interfaz limpia y sin distracciones.
Dónde encontrar en la API: parámetro editorConfig.customization.layout.header.user, el valor predeterminado es true.
const config = {
editorConfig: {
customization: {
...
layout: {
header: {
editMode: true,
save: true,
user: true,
users: true,
},
Aumento del rendimiento gracias a la precarga
A partir de la versión 9.0, puedes precargar recursos estáticos (HTML, CSS, JS, fuentes) en la caché del navegador antes de abrir un archivo, para acelerar la carga inicial del editor de documentos. Consulta la API
Hay dos opciones disponibles:
1) Usar el parámetro ?preload=placeholder
<div id="placeholder"></div>
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js?preload=placeholder"></script>
2) Insertar manualmente un iframe de precarga
<iframe src="https://documentserver/web-apps/apps/api/documents/preload.html" style="display:none;"></iframe>
Obtén la última versión de ONLYOFFICE Docs Developer:
Mejoras en la API para plugins y macros
Botones personalizados para Controles de contenido. Utiliza la clase Asc.ButtonContentControl para crear botones personalizados en tus plugins. Define acciones con el método attachOnClick y añade tus propios íconos para mejorar la funcionalidad. Consulta la API
(function(window){
window.Asc.plugin.init = function()
{
let button = new Asc.ButtonContentControl();
button.icons = '/resources/check%scale%(default).png';
button.attachOnClick(function(contentControlId){
Asc.plugin.executeMethod("RemoveContentControl", [contentControlId]);
});
button = new Asc.ButtonContentControl();
button.icons = '/resources/close%scale%(default).png';
button.attachOnClick(function(contentControlId){
Asc.plugin.executeMethod("RemoveContentControls", [[{"InternalId": contentControlId}]]);
});
}
})(window);
Establecer la diapositiva activa por índice. Salta fácilmente a cualquier diapositiva dentro de presentaciones usando el nuevo método GoToSlide.
expression.GoToSlide(slideNumber);
Elemento de lista en Control de contenido. La introducción de la enumeración ContentControlListElement facilita aún más la gestión de controles de contenido dentro de los documentos.
Cálculos asíncronos. Administra cualquier solicitud dentro del cuerpo de una función personalizada creada con macros.
(function () {
/**
* World Bank indicator value for a specific year.
* @customfunction
* @param {string} country ISO-3 code, e.g. "TUR"
* @param {string} indicator Indicator code, e.g. "SP.POP.TOTL"
* @param {number} year Four-digit year, e.g. 2024
* @returns {any} Numeric value or #N/A
*
* @example =WB("TUR","SP.POP.TOTL",2024)
*/
async function WB(country, indicator, year) {
// Build URL (World Bank allows CORS)
const url =
`https://api.worldbank.org/v2/country/${country}/indicator/${indicator}` +
`?format=json&per_page=20000`;
try {
const r = await fetch(url);
const [meta, data] = await r.json();
// Find the row for the requested year
const row = data.find((v) => v.date === year.toString());
if (!row || row.value == null) return "#N/A";
return row.value; // resolves the Promise
} catch (e) {
return "#ERROR";
}
}
// Register the function so it becomes a sheet formula
Api.AddCustomFunction(WB);
})();
Nuevos ejemplos
Con la última actualización de la documentación de la API, hemos incluido aún más ejemplos listos para usar en Document Builder y macros, lo que hace que tu proceso de desarrollo sea más fluido y eficiente.
Framework de generación de documentos (Builder)
- Generar informe de retroalimentación de usuarios
- Generar factura a partir de datos de pedido
- Generar contrato de trabajo
- Generar plan de inversión personalizado
- Generar informe de inventario
- Crear presentación de análisis de mercado para startups
- Crear oferta comercial
- Crear plan de formación para empleados
- Creating annual business report
- Crear informe anual de negocios
Macros
Nuevos ejemplos de macros disponibles para todos los tipos de editores. Por ejemplo:
- Redimensionar formulario de imagen (Editor de PDF)
- Crear lista de control de contenido (Editor de documentos)
- Ordenar tablas (Editor de documentos)
- Eliminar hoja duplicada (Editor de hojas de cálculo)
- Dividir hojas de datos (Editor de hojas de cálculo)
- Ajustar sangría (Editor de presentaciones)
- Eliminar párrafos vacíos (Editor de presentaciones)
- Eliminar cuadros de texto vacíos (Editor de presentaciones)
Ver todos los ejemplos de macros
API de Office
Para la API de JavaScript de Office, se han agregado muchos nuevos métodos en la versión 9.0, incluyendo soporte para:
- Controles de contenido
- XML personalizado
- Formularios
- Propiedades personalizadas
- Núcleo
- Rangos
- Dibujo
- Presentaciones
- Página de notas
Crea tu cuenta gratuita de ONLYOFFICE
Visualiza, edita y colabora en documentos, hojas, diapositivas, formularios y archivos PDF en línea.