Kako umetnuti prilagođene brojeve stranica od druge stranice koristeći novi ONLYOFFICE API metod

19 February 2025By Natalija Blagojevic

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.

How to insert custom page numbers from the second page using the new ONLYOFFICE API method

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.