说明

onlyoffice提供文档构建服务(document server),通过文档构建服务可以对文档进行二次修改,也可以动态创建文档,文档构建服务支持,文档构建服务支持以下编程语言进行构建

  • .NET
  • node.js
  • php
  • ruby

并且在onlyoffice的插件开发中,也可以使用node.js的api,这个在插件篇也会提到

安装

document server需要单独安装,可以从这里下载最新的安装包,目前支持以下平台

以CentoOS为例,下载后执行以下命令就可以完成安装

sudo rpm -ivh onlyoffice-documentbuilder.x86_64.rpm
# documentbuilder -v
v6.4.1.49
sdk version:  6.4.1 (build:49)

使用

一个简单的例子

builder.CreateFile("docx");
var oParagraph;
oParagraph = Api.CreateParagraph();
oParagraph.SetJc("center");
oParagraph.AddText("Test Text");
oDocument.Push(oParagraph);
builder.SaveFile("pdf", "test.pdf");
builder.CloseFile();

保存为build.js,执行以下命令生成文档

documentbuilder build.js

执行完成后会在当前文件夹生成一个test.pdf的文件,如果需要生成docx文件,只需修改下保存文件类型即可

builder.SaveFile("docx", "doc.docx");

概念解释

  • builder:负责文件的打开,保存,关闭等工作,系统变量,无需定义
  • document:文档,表示当前打开的文档,当前只能打开一个文档
  • section:文档区段,可以定义页眉页脚
  • paragraph:段落,一个段落可以是一行文字,一张图片,甚至一整个文档
  • run:一小段文本(不知道为啥叫做这个名字)
  • drawing:绘画对象,可以是图片也可以是形状等
  • element:只要是文档的对象都可以称作element,有点像文档对象的父类

用图表示,大概是以下关系

  • Document

– Section

– Paragraph

– Text run

– Image

– Chart

– Shape

– Table

– Table row

– Table cell

– Paragraph

一个稍微复杂的例子

Trackback

no comment untill now

Add your comment now