使用 ONLYOFFICE API 新方法,从第二页开始插入自定义页码!

2025年02月20日作者:Selie

ONLYOFFICE 宏是一种功能强大的工具,可以让用户扩展编辑器的功能并对其进行定制,以满足特定需求。随着 8.3 版本的发布,我们推出了一系列新的 API 方法,能够帮您简化工作流程。 在本文中,我们将使用其中一种方法创建一个宏,从第二页开始,在整个文档中插入自定义页码。

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

关于设置起始页码的方法

设置起始页码的方法是 ApiSection 类的一部分。 通过这个新方法,您可以定义文档中特定章节的起始页码。 下面是其实现的示例:

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();

在稍后部分,我们将使用此方法设置文档第二页的起始页码。

创建宏

检索文档和节

宏首先通过 Api.GetDocument() 访问活动文档。然后使用 doc.GetSections()[0] 获取第一节,这代表了文档的第一页:

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");
  • SetTitlePage(true) 将第一页标记为标题页。
  • RemoveHeader(“title”) RemoveFooter(“title”) 确保标题页上不会显示页眉或页脚。

配置后续页面

// Subsequent Pages Configuration
let finalSection = doc.GetFinalSection();
finalSection.SetStartPageNumber(0); // Sets start page number. Default is 0 => 1st numbered page is 1
  • finalSection 变量代表将应用页眉、页脚和页码编号的节。
  • SetStartPageNumber(0) 确保从第二页开始正确编号,使第一个编号页面为“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
  • GetHeader(“default”, true) 获取该节的页眉。
  • 使用 GetElement(0) 访问页眉的第一个元素。
  • AddPageNumber() 插入动态页码。
  • SetJc() 方法定义页眉文本的对齐方式,可将其定位到左侧、居中或右侧。

配置页脚

// 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) 获取该节的页脚。
  • 使用 GetElement(0) 访问页脚的第一个元素。
  • AddPageNumber() 在页脚中插入动态页码。
  • SetJc() 方法控制页脚文本的对齐方式,与页眉类似。

注意: 默认情况下,页脚配置已注释。 您只需注释或取消注释相关部分,就可以在页眉、页脚或两者之间切换插入编号。

下面是完整的宏代码:

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

现在让我们在 Youtube 看看宏的运行效果:

我们希望这个宏能帮助您简化工作中的重复任务。ONLYOFFICE 宏旨在简化您的工作并提高效率。我们鼓励您探索我们广泛的 API 库并创建适合您需求的自定义宏。如果您有任何想法或建议,请随时联系我们。我们始终欢迎新想法和合作!祝您探索愉快!

创建免费的 ONLYOFFICE 账户

在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。