ONLYOFFICE 文档 9.3 开发者版:PDF API、Office JavaScript API 新方法及更多功能

ONLYOFFICE 文档 9.3 为开发者带来了一系列更新。此版本显著增强了 API 功能,为编辑器的集成与扩展提供了更强的控制力与灵活性。我们来看看主要的更新内容。

关于 ONLYOFFICE

ONLYOFFICE 是一个国际开源项目,专注于高级和安全的文档处理和协作。全球超过 1500 万用户,是在线办公领域的创新者。

ONLYOFFICE 文档是一套功能全面的在线办公套件,它集成了文本文档、电子表格、演示文稿、可填写表单以及PDF 编辑器,并确保与微软 Office 格式高度兼容 。并提供数百种格式化和样式工具,以及多种协作功能。

该套件支持在 Windows、Linux 和 macOS 桌面上运行,同时也提供适用于 Android 和 iOS 的移动应用,用户可通过网页浏览器、桌面客户端或移动应用随时随地访问和编辑文件 。

全新 PDF API 简介

9.3 版本的重要新增功能之一是全新的 PDF API。这套工具集允许您通过编程方式创建和操作 PDF 文档。现在,您可以从头构建复杂的 PDF 文件,添加文本、图像、表格和形状等多种元素。

该 API 提供了对文档结构与内容的精细控制。您可以管理页面、处理富文本格式,并精确插入绘图及其他对象。这为自动化文档生成以及在应用中创建自定义的 PDF 解决方案开辟了更多可能。

查看创建新 PDF 文件的代码示例:

复制代码
// create a PDF file with ONLYOFFICE Document Builder
builder.CreateFile("pdf")

// create a new 'oDocument' variable and get the created PDF document
const oDocument = Api.GetDocument()

// create a new paragraph for the PDF content
const oParagraph = Api.CreateParagraph()

// set the paragraph justification to center the text
oParagraph.SetJc("center")

// add a text containing a single 'Center' word to the paragraph
oParagraph.AddText("Center")

// push the paragraph to the document
oDocument.Push(oParagraph)

// save the resulting PDF document as a file in the .pdf format with the 'example.pdf' name and close it
builder.SaveFile("pdf", "example.pdf")
builder.CloseFile()

Office JavaScript API 重要更新

Office JavaScript API 迎来了重要升级,在各个模块中新增了大量方法,以增强文档自动化与交互能力。

表单增强功能

我们新增了一系列用于处理表单的方法。现在,您可以通过编程方式管理表单字段,包括按钮、复选框、组合框和文本字段。这为动态创建和交互式表单提供了支持,使构建复杂的数据输入解决方案变得更加便捷。

绘图与注释功能扩展

绘图及注释相关的 API 得到了显著加强。新增的方法支持对形状、几何图形及其视觉属性(如填充和描边)进行更精细的控制。具体包括用于管理以下内容的新方法:

  • Annotations (caret, circle, highlight, ink, etc.)
  • Geometries 和 paths
  • Fills (gradients, colors) 和 strokes

以下为 ApiStroke/GetFill 方法(电子表格 API)的代码示例:

复制代码
// Creates a shape with a colored border and retrieves its fill properties.
let worksheet = Api.GetActiveSheet();
let fill = Api.CreateSolidFill(Api.CreateRGBColor(255, 200, 100));
let stroke = Api.CreateStroke(2 * 36000, Api.CreateSolidFill(Api.CreateRGBColor(0, 0, 255)));
let shape = worksheet.AddShape("rect", 60 * 36000, 40 * 36000, fill, stroke, 3, 0, 2, 2);
let strokeObj = shape.GetLine();
if (strokeObj) {
    let strokeFill = strokeObj.GetFill();
    if (strokeFill) {
        worksheet.GetRange("A1").SetValue("Stroke fill type: " + strokeFill.GetType());
    }
}

高级图表与表格方法

现在,对图表和表格的操作更加灵活。新增的 ApiChartApiTable 方法提供了对图表与表格创建及修改的更强大的程序化控制,使您能够构建内容更动态、数据更丰富的文档。

其他值得关注的 JavaScript API 新增功能

  • 筛选与验证: 新增了 AutofilterFilterValidation 相关方法,便于更好地管理电子表格中的数据。
  • **脚注与尾注:**支持通过编程方式在文档中添加和管理脚注及尾注。
  • **超链接与切换效果:**增强了对超链接以及演示文稿幻灯片切换效果的控制能力。

可查看新增方法的完整列表

插件与宏 API 改进

在 9.3 版本中,插件和宏的 API 也迎来了重要更新。这些增强功能旨在为开发者提供更多扩展 ONLYOFFICE 编辑器功能的选项。现在,您可以创建功能更强大、集成度更高的插件,利用宏自动执行复杂的工作流程,并提供可根据特定用户需求定制的自定义功能。

例如,新增的 IsFormSigned 方法可用于检查指定表单是否已完成数字签名:

复制代码
window.Asc.plugin.executeMethod ("IsFormSigned", [], function(isSigned) {    
console.log ("Form is signed: " + isSigned);
});

PDF 编辑器中新引入的宏 API 允许您添加、删除和编辑页面、表单、注释、自选图形、表格、图像和图表。例如,以下是 PDF API 的 window.Asc.plugin.executeMethod 中的 SetMacros 方法:

复制代码
window.Asc.plugin.executeMethod ("SetMacros", [JSON.stringify (Content)], function () {    
window.Asc.plugin.executeCommand ("close", "");
});

查看插件和宏 API 的完整变更日志

相关链接

API 文档

下载开发者版本

PDF API

Office API 更新日志

ONLYOFFICE 文档 9.3 的新增功能

相关推荐
ElasticPDF-新国产PDF编辑器2 小时前
【最新·免费PDF编辑器·不限终端·最高性价比SDK】直接编辑 PDF 原有图片!裁剪、替换、旋转与图层管理
pdf
gb42152874 小时前
python中pypdf库和langchain-unstructured库在解析pdf文件的时候的区别?
python·langchain·pdf
ElasticPDF-新国产PDF编辑器5 小时前
【最新·免费PDF编辑器·不限终端·最高性价比SDK】高亮、评论、图章、手绘与签名,一套完成 PDF 批注
pdf·编辑器
SunnyDays10117 小时前
Java 如何为 PDF 添加、修改和删除书签
java·pdf
Elastic 中国社区官方博客9 小时前
一个字段,覆盖所有模态:Elasticsearch 的 semantic 字段如何自动索引和搜索图像、音频、视频和 PDF
大数据·数据库·elasticsearch·ai·云原生·pdf·全文检索
zyplayer-doc11 小时前
核心制度不该被随手修改:用zyplayer-doc锁定文档和全部子文档
大数据·数据库·人工智能·笔记·pdf·ocr
2601_965912831 天前
PDF添加页码功能横向评测:7款免费方案实测数据对比
pdf
AmyLin_20011 天前
PDF 色彩保真工程实践【5】核心实现(下):拼装 Image XObject、页面资源与内容流
c++·pdf·sdk·颜色空间·印刷·icc·cmyk
Jazz_z1 天前
如何用Python将彩色PDF一键转为黑白(灰度)
java·python·pdf
SamChan901 天前
PDF拆分+翻译+合并:一条流水线处理大文档的Python方案
java·python·ai·pdf·自动化