Einfügen benutzerdefinierter Seitenzahlen ab der zweiten Seite mithilfe der ONLYOFFICE-API-Methode
ONLYOFFICE-Makros sind leistungsstarke Werkzeuge, mit denen Benutzer die Funktionalität der Editoren erweitern und an ihre spezifischen Bedürfnisse anpassen können. Bei ONLYOFFICE sind wir bestrebt, unsere Produkte kontinuierlich mit neuen Funktionen zu verbessern. Mit der Veröffentlichung der Version 8.3 haben wir eine Vielzahl neuer API-Methoden eingeführt, die Ihren Arbeitsablauf optimieren. In diesem Blogbeitrag verwenden wir eine dieser Methoden, um ein Makro zu erstellen, das benutzerdefinierte Seitenzahlen über das gesamte Dokument einfügt, beginnend mit der zweiten Seite.
Über die Methode SetStartPageNumber
Die SetStartPageNumber-Methode ist Teil der ApiSection-Klasse. Diese neue Methode ermöglicht es, die Startseitennummer für einen bestimmten Abschnitt in einem Dokument festzulegen. Unten finden Sie ein Beispiel für ihre Implementierung:
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();
Später in diesem Blogbeitrag werden wir diese Methode verwenden, um die Startseitennummer für die zweite Seite des Dokuments festzulegen.
Erstellen des Makros
Abrufen des Dokuments und der Abschnitte
Das Makro beginnt damit, das aktive Dokument mit Api.GetDocument() zu öffnen.
Es ruft den ersten Abschnitt mit doc.GetSections()[0] ab, welcher die erste Seite darstellt:
let doc = Api.GetDocument();
let firstSection = doc.GetSections()[0];
Konfigurieren der ersten Seite
// First Page Configuration
firstSection.SetTitlePage(true);
// Remove first page header/footer
firstSection.RemoveHeader("title");
firstSection.RemoveFooter("title");
- SetTitlePage(true) markiert die erste Seite als Titelseite.
- RemoveHeader(“title”) und RemoveFooter(“title”) stellen sicher, dass keine Kopf- oder Fußzeilen auf der Titelseite erscheinen.
Einrichten nachfolgender Seiten
// Subsequent Pages Configuration
let finalSection = doc.GetFinalSection();
finalSection.SetStartPageNumber(0); // Sets start page number. Default is 0 => 1st numbered page is 1
- Die Variable finalSection stellt den Abschnitt dar, in dem Kopfzeilen, Fußzeilen und die Seitennummerierung angewendet werden.
- SetStartPageNumber(0) stellt sicher, dass die Nummerierung korrekt ab der zweiten Seite beginnt, sodass die erste nummerierte Seite “1” ist.
Konfigurieren des Headers
// 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) ruft eine Kopfzeile für den Abschnitt ab.
- Das erste Element der Kopfzeile wird mit GetElement(0) aufgerufen.
- AddPageNumber() fügt eine dynamische Seitenzahl ein.
- Die Methode SetJc() legt die Ausrichtung des Kopfzeilentextes fest und positioniert ihn links, zentriert oder rechts.
Konfigurieren der Fußzeile
// 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) ruft eine Fußzeile für den Abschnitt ab.
- Das erste Element der Fußzeile wird mit GetElement(0) aufgerufen.
- AddPageNumber() fügt eine dynamische Seitenzahl in die Fußzeile ein.
- Die Methode SetJc() steuert die Ausrichtung des Fußzeilentextes, ähnlich wie beim Header.
Hinweis! Standardmäßig ist die Fußzeilenkonfiguration auskommentiert. Sie können die Nummerierung entweder in der Kopfzeile, der Fußzeile oder in beiden einfügen, indem Sie einfach die entsprechenden Abschnitte auskommentieren oder einkommentieren.
Das gesamte Makro lautet wie folgt:
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
Lass uns unser Makro ausführen und sehen, wie es funktioniert!
Wir hoffen, dass dieses Makro eine wertvolle Ergänzung für Ihr Toolkit wird und Ihnen hilft, Ihren Arbeitsablauf zu optimieren. Bei ONLYOFFICE sind wir bestrebt, unseren Nutzern vielseitige Funktionen bereitzustellen und die Flexibilität zu bieten, diese an ihre spezifischen Bedürfnisse anzupassen.
Mit der neuesten Version haben wir eine Vielzahl neuer Methoden in unsere API-Bibliothek aufgenommen. Wir laden Sie ein, diese Verbesserungen zu erkunden und Ihre eigenen Makros zu erstellen. Wenn Sie Fragen oder Anregungen haben, können Sie uns gerne kontaktieren. Viel Erfolg bei Ihren Erkundungen!
Erstellen Sie Ihr kostenloses ONLYOFFICE-Konto
Öffnen und bearbeiten Sie gemeinsam Dokumente, Tabellen, Folien, Formulare und PDF-Dateien online.