Dominando o ONLYOFFICE versão 8.0: revelando novos métodos de formulário da API Document Builder
Com a revelação de versão 8.0, um conjunto de novos métodos da API DocumentBuilder foi introduzido. Nesta postagem do blog, vamos nos aprofundar em dois desses métodos e demonstrar como incorporá-los em duas novas macros do ONLYOFFICE, simplificando a experiência de trabalhar com modelos de formulário.
Sobre novos métodos
- GetFormsData
A GetFormsData método recupera um array englobando form data para todos os elementos de formulário apresentados no documento.
expression.GetFormsData();
Onde expression é uma variável que representa a classe ApiDocument .
Ao utilizar esse método, você pode recuperar dados direcionados de formulários em um documento, permitindo que você modifique dinamicamente os formulários com base em seus tipos e propriedades.
- SetFormsData
Ao contrário do método anterior, o SetFormsData não retorna nenhum dado. No entanto, nos permite definir o valor dos elementos do formulário.
expression.SetFormsData();
Onde expression é uma variável que representa a classe ApiDocument .
Os parâmetros do método são passados no formato do FormData array onde a chave e o valor do formulário são especificados. Além disso, há uma opção para especificar o tipo de formulário.
Ao empregar esse método, você pode definir facilmente valores padrão para todos os elementos relevantes do formulário, automatizando a edição dinâmica do documento.
Macro para modificar campos de texto: implementação Getformdata
Essa macro bacana fornece a capacidade de modificar todos os campos de texto no documento. Também pode ser personalizado para fazer alterações em outros tipos de formulário.
Primeiro temos como alvo o documento ativo:
const oDocument = Api.GetDocument();
Em seguida, recuperamos um array(aForms) contendo todos os elementos do formulário presentes no documento.
const aForms = oDocument.GetAllForms();
Depois disso, coletamos dados sobre todos os formulários no documento e os armazenamos na variável formsData:
const formsData = oDocument.GetFormsData();
Em seguida, adicionamos um loop que itera por cada elemento de formulário na array:
for (let i = 0; i < aForms.length; i++) {
}
Verificamos se o tipo do formulário atual é “text.”Se true, nas linhas subsequentes fazemos alterações nos elementos do formulário:
if (formsData[i]["type"] == "text") {
//aForms[i].SetBackgroundColor(205, 0, 0); // <---- Sets/Changes the Background Color of all the form elements.
//aForms[i].SetBorderColor(205, 0, 0); //<---- Unccomment if you want to set/change the border color for all the form elements.
//aForms[i].SetPlaceholderText("Placeholder Text"); //<---- Unccomment if you want to set/change the Placeholder Text for all the form elements.
//aForms[i].SetRequired(true); //<---- Unccomment if you want to set/change the 'required' property for all the form elements.
//aForms[i].SetTipText("Tip Text"); //<---- Unccomment if you want to set/change the Tip Text for all the form elements.
}
Aqui, cada linha é comentada com uma descrição da ação que realiza.
Todo o código da macro é o seguinte:
(function() {
const oDocument = Api.GetDocument();
const aForms = oDocument.GetAllForms();
const formsData = oDocument.GetFormsData();
for (let i = 0; i < aForms.length; i++) {
if (formsData[i]["type"] == "text") {
// Uncomment the following lines based on your preferences:
// aForms[i].SetBackgroundColor(205, 0, 0); // Sets/Changes the Background Color of all the form elements.
// aForms[i].SetBorderColor(205, 0, 0); // Uncomment if you want to set/change the border color for all the form elements.
// aForms[i].SetPlaceholderText("Placeholder Text"); // Uncomment if you want to set/change the Placeholder Text for all the form elements.
// aForms[i].SetRequired(true); // Uncomment if you want to set/change the 'required' property for all the form elements.
// aForms[i].SetTipText("Tip Text"); // Uncomment if you want to set/change the Tip Text for all the form elements.
}
}
})();
Macro para definir valores de formulário padrão: implementação SetFormsData
Usando a segunda macro, podemos ajustar de forma fácil e perfeita os valores dos formulários direcionados. A macro é bastante simples e pode ser feita em apenas alguns passos.
Primeiro recuperamos o documento ativo:
const oDocument = Api.GetDocument();
Em seguida, empregamos o método SetFormsData, onde definimos a chave do elemento e o valor padrão desejado dentro dos parâmetros do método:
oDocument.SetFormsData([
{key: "CompanyName", value: "OnlyOffice"}
]);
Todo o código da macro é o seguinte:
The entire macro code is the following:
const oDocument = Api.GetDocument();
oDocument.SetFormsData([
{key: "CompanyName", value: "OnlyOffice"}
]);
Esperamos que os métodos e macros apresentados sejam valiosos para você, simplificando o fluxo de trabalho do documento. As Macros servem como ferramentas poderosas e nossa extensa biblioteca de API oferece uma infinidade de possibilidades para automatizar várias tarefas.
Sinta-se à vontade para se aprofundar em nossa API, criando macros personalizadas que aproveitam os recursos robustos do processamento de documentos. Não hesite em falar conosco, compartilhando suas ideias inovadoras. Congratulamo-nos com discussões abertas e colaboração. Boa sorte em seus empreendimentos exploratórios!