ONLYOFFICE Docs 9.0 para desenvolvedores: atualizações de API
O último release do ONLYOFFICE Docs está aqui, repleto de atualizações que oferecem mais funcionalidades, melhor personalização e desempenho aprimorado. Se você é um desenvolvedor ou integrador que busca aproveitar as APIs aprimoradas, há muito o que explorar nesta versão. Confira todos os detalhes abaixo.
Visualizador de Diagramas
O recém-introduzido Visualizador de Diagramas está disponível para web, desktop e dispositivos móveis. Permite abrir arquivos de diagrama sem a necessidade de aplicativos de terceiros.
Onde encontrar na API: o tipo de documento do diagrama é adicionado ao parâmetro documentType.
Suporte para novos formatos de arquivo
O ONLYOFFICE continua expandindo sua usabilidade com suporte a outros formatos de arquivo. Na versão 9.0, é possível abrir arquivos Markdown e OpenDocument Graphic para visualização.
Onde encontrar na API: abertura adicionada para os formatos odg e md.
Além disso, com o lançamento do Visualizador de Diagramas, adicionamos a conversão dos formatos vsdm, vsdx, vssm, vssx, vstm e vstx. Veja a API
Opções de personalização expandidas
A personalização atingiu novos patamares na versão 9.0, permitindo que seus usuários finais personalizem sua experiência no ONLYOFFICE exatamente como precisam.
Novos temas de IU
Dois novos temas, Claro Moderno e Escuro Moderno, são apresentados para otimizar a aparência de cada editor.
Onde encontrar na API: Os IDs de tema theme-white e theme-night são adicionados ao parâmetro editorConfig.customization.uiTheme.
const config = {
editorConfig: {
customization: {
...
uiTheme: "theme-white",
...
Seleção de tamanho de fonte para a interface do usuário em chinês simplificado
O novo parâmetro garante o dimensionamento preciso da fonte em layouts em chinês simplificado, oferecendo a flexibilidade de usar estilos chineses ocidentais ou tradicionais.
Onde encontrar na API: Parâmetro editorConfig.customization.forceWesternFontSize, o valor padrão é falso.
const config = {
editorConfig: {
customization: {
....
forceWesternFontSize: false,
...
Ocultando avatares de usuários
O novo parâmetro permite que você alterne os avatares do usuário no cabeçalho do editor, ajudando a criar uma interface limpa e sem distrações.
Onde encontrar na API: Parâmetro editorConfig.customization.layout.header.user, o valor padrão é verdadeiro.
const config = {
editorConfig: {
customization: {
...
layout: {
header: {
editMode: true,
save: true,
user: true,
users: true,
},
Aumento de desempenho com pré-carregamento
A partir da versão 9.0, você pode pré-carregar ativos estáticos (HTML, CSS, JS, fontes) no cache do navegador antes de abrir um arquivo para acelerar o carregamento inicial do editor de documentos. Veja a API
Duas opções estão disponíveis:
1) Usando o ?preload=placeholder parameter
<div id="placeholder"></div>
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js?preload=placeholder"></script>
2) Inserindo manualmente um iframe de pré-carregamento
<iframe src="https://documentserver/web-apps/apps/api/documents/preload.html" style="display:none;"></iframe>
Get the latest version of ONLYOFFICE Docs Developer:
Melhorias de API para plugins e macros
Botões personalizados para Controles de Conteúdo. Utilize a classe Asc.ButtonContentControl para criar botões exclusivos para seus plugins. Defina ações usando o método attachOnClick e adicione seus próprios ícones para aprimorar a funcionalidade. Veja a 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);
Definir o slide ativo pelo seu índice. Vá para qualquer slide facilmente nas apresentações usando o novo método GoToSlide.
expression.GoToSlide(slideNumber);
Elemento da lista de controle de conteúdo. A introdução do ContentControlListElement a enumeração torna o gerenciamento de controles de conteúdo em documentos ainda mais simples.
Cálculos assíncronos. Gerencie qualquer solicitação dentro do corpo de uma custom function criado usando 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);
})();
Novas amostras
Com a atualização mais recente da documentação da API, incluímos ainda mais exemplos prontos para uso para o Document Builder e macros, tornando seu processo de desenvolvimento mais tranquilo e eficiente.
Estrutura
- Gerando relatório de feedback do usuário
- Gerando fatura a partir de dados do pedido
- Gerando contrato de trabalho
- Gerando plano de investimento personalizado
- Gerando relatório de inventário
- Criação de apresentação de análise de mercado de startups
- Criando oferta comercial
- Criação de plano de treinamento de funcionários
- Criação de relatório anual de negócios
Macros
Novos exemplos de macro estão disponíveis para todos os tipos de editores, por exemplo:
- Redimensionando a forma da imagem (PDF Editor)
- Criando lista de controle de conteúdo (Document Editor)
- Tabelas de classificação (Document Editor)
- Removendo planilha duplicada (Spreadsheet Editor)
- Dividindo planilhas de dados (Spreadsheet Editor)
- Ajustando o recuo (Presentation Editor)
- Removendo parágrafos vazios (Presentation Editor)
- Removendo caixas de texto vazias (Presentation Editor)
Veja todas as amostras de macros
Office API
Para o Office JavaScript API, adicionamos muitos métodos novos para a versão 9.0, incluindo aqueles para:
- Controles de Conteúdo
- XML Personalizado
- Formulários
- Propriedades Personalizadas
- Núcleo
- Intervalo
- Desenho
- Apresentação
- Página de Notas
Confira a lista completa de novos métodos
Useful links
O que há de novo no ONLYOFFICE Docs 9.0: blog / webinar
Entrevista sobre o Docs 9.0 com a equipe de desenvolvimento
ONLYOFFICE Docs para desenvolvedores
Registro de alterações da API de documentos
Crie sua conta gratuita no ONLYOFFICE
Visualize, edite e colabore em documentos, planilhas, slides, formulários e arquivos PDF online.