Kako umetnuti prilagođene brojeve stranica od druge stranice koristeći novi ONLYOFFICE API metod
ONLYOFFICE makroi su moćni alati koji omogućavaju korisnicima da prošire funkcionalnost editora i prilagode ih svojim specifičnim potrebama. U ONLYOFFICE-u, posvećeni smo stalnom unapređenju naših proizvoda kroz nove funkcije. Sa izdanjem verzije 8.3, uveli smo širok spektar novih API metoda kako bismo pojednostavili vaš radni tok. U ovom blog postu koristićemo jednu od tih metoda kako bismo kreirali makro koji ubacuje prilagođene brojeve stranica, počevši od druge stranice dokumenta.
O metodi SetStartPageNumber
SetStartPageNumber methoda je deo ApiSection klase. Ova nova metoda omogućava definisanje početnog broja stranice za određeni odeljak dokumenta. U nastavku je primer njene implementacije:
let doc = Api.GetDocument();
let paragraph = doc.GetElement(0);
paragraph.AddText("This section starts with second page number");
paragraph.AddPageBreak();
paragraph.AddText("Third page");
paragraph.AddPageBreak();
paragraph.AddText("Fourth page");
let section = paragraph.GetSection();
section.SetStartPageNumber(2);
let header = section.GetHeader("default", true);
paragraph = header.GetElement(0);
paragraph.AddText("Page #");
paragraph.AddPageNumber();
let footer = section.GetFooter("default", true);
paragraph = footer.GetElement(0);
paragraph.AddText("Page #");
paragraph.AddPageNumber();
Kasnije u ovom blog postu koristićemo ovu metodu kako bismo postavili početni broj stranice od druge stranice dokumenta.
Kreiranje makroa
Preuzimanje dokumenata i sekcija
Makro započinje pristupanjem aktivnom dokumentu pomoću Api.GetDocument().
Prvi odeljak dokumenta se preuzima pomoću doc.GetSections()[0], koji predstavlja prvu stranicu:
let doc = Api.GetDocument();
let firstSection = doc.GetSections()[0];
Konfiguracija prve stranice
// First Page Configuration
firstSection.SetTitlePage(true);
// Remove first page header/footer
firstSection.RemoveHeader("title");
firstSection.RemoveFooter("title");
- SetTitlePage(true) označava prvu stranicu kao naslovnu stranicu.
- RemoveHeader(“title”) and RemoveFooter(“title”) osiguravaju da zaglavlja i podnožja ne budu prikazana na naslovnoj stranici.
Podešavanje narednih stranica
// Subsequent Pages Configuration
let finalSection = doc.GetFinalSection();
finalSection.SetStartPageNumber(0); // Sets start page number. Default is 0 => 1st numbered page is 1
- finalSection predstavlja odeljak u kome će se primeniti zaglavlja, podnožja i numeracija stranica.
- SetStartPageNumber(0) osigurava da numeracija ispravno počinje od druge stranice, praveći da prva numerisana stranica bude “1”.
Konfiguracija zaglavlja
// Header Configuration
let header = finalSection.GetHeader("default", true);
const headerText = header.GetElement(0);
headerText.AddPageNumber();
// Choose header justification (uncomment one):
//headerText.SetJc("left"); // Left alignment
headerText.SetJc("center"); // Center alignment
//headerText.SetJc("right"); // Right alignment
- GetHeader(“default”, true) preuzima zaglavlje za odeljak.
- Prvom elementu zaglavlja se pristupa pomoću GetElement(0).
- AddPageNumber() ubacuje dinamički broj stranice.
- SetJc() metod definiše poravnanje teksta zaglavlja, pozicionirajući ga levo, centar ili desno.
Konfiguracija podnožja
// Footer Configuration - uncomment for inserting a page number in the footer
let footer = finalSection.GetFooter("default", true);
const footerText = footer.GetElement(0);
footerText.AddPageNumber();
// Choose footer justification (uncomment one):
// footerText.SetJc("left"); // Left alignment
footerText.SetJc("center"); // Center alignment
// footerText.SetJc("right"); // Right alignment
- GetFooter(“default”, true) preuzima podnožje za odeljak.
- Prvom elementu podnožja se pristupa pomoću GetElement(0).
- AddPageNumber() umetne broj stranice u podnožje.
- SetJc() omogućava poravnanje brojeva stranica u podnožju, slično kao za zaglavlje.
Napomena! Podrazumevano, konfiguracija podnožja je iskomentarisana. Možete se prebacivati između umetanja numeracije u zaglavlje, podnožje ili oba jednostavnim komentarisanjem ili odkomentarisanjem odgovarajućih delova koda.
Cela makro naredba je sledeća:
let doc = Api.GetDocument();
let firstSection = doc.GetSections()[0];
// First Page Configuration
firstSection.SetTitlePage(true);
// Remove first page header/footer
firstSection.RemoveHeader("title");
firstSection.RemoveFooter("title");
// Subsequent Pages Configuration
let finalSection = doc.GetFinalSection();
finalSection.SetStartPageNumber(0); // Sets start page number. Default is 0 => 1st numbered page is 1
// Header Configuration
let header = finalSection.GetHeader("default", true);
const headerText = header.GetElement(0);
headerText.AddPageNumber();
// Choose header justification (uncomment one):
//headerText.SetJc("left"); // Left alignment
headerText.SetJc("center"); // Center alignment
//headerText.SetJc("right"); // Right alignment
// Footer Configuration - uncomment for inserting a page number in the footer
// let footer = finalSection.GetFooter("default", true);
// const footerText = footer.GetElement(0);
// footerText.AddPageNumber();
// Choose footer justification (uncomment one):
// footerText.SetJc("left"); // Left alignment
// footerText.SetJc("center"); // Center alignment
// footerText.SetJc("right"); // Right alignment
Pokrenimo naš makro i vidimo kako radi!
Nadamo se da će ovaj makro postati vredan dodatak vašem alatu, pomažući vam da optimizujete svoj radni tok. U ONLYOFFICE-u posvećeni smo pružanju svestranih funkcionalnosti i fleksibilnosti kako biste ih prilagodili svojim specifičnim potrebama.
Sa nedavnim izdanjem, u našu API biblioteku dodali smo mnoštvo novih metoda. Podstičemo vas da istražite ova poboljšanja i kreirate sopstvene makroe. Ako imate bilo kakva pitanja ili sugestije, slobodno nas kontaktirajte. Želimo vam puno uspeha u istraživačkim poduhvatima!
Create your free ONLYOFFICE account
View, edit and collaborate on docs, sheets, slides, forms, and PDF files online.