ONLYOFFICE文档服务器使用介绍

wylc123 1年前 ⋅ 1500 阅读

1.ONLYOFFICE构建页面:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>测试</title>
    <script type="text/javascript" src="http://文档服务器IP:端口/web-apps/apps/api/documents/api.js"></script>
    <style>
        html {
            height: 100%;
            width: 100%;
            padding: 0;
            margin: 0;
        }

        body {
            height: 100%;
            width: 100%;
            padding: 0;
            margin: 0;
        }
    </style>
</head>
<body>
    <div id="placeholder" class="nav" style="width: 100%; height: 100%"></div>
    <script language="javascript" type="text/javascript">
           var docEditor = new DocsAPI.DocEditor("placeholder", config);
    </script>
 </body>
</html>

2.ONLYOFFICE构建参数介绍

可以为ONLYOFFICE Document Server更改的参数可以细分为以下主要部分:

*config-*允许更改使用的平台类型,文档显示大小(宽度和高度)以及打开的文档类型;

· *document-*包含与文档有关的所有参数(标题,URL,文件类型等);

*info-*包含文档的其他参数(文档所有者,文档存储文件夹,上传日期,共享设置);

*permissions*-定义是否可以编辑和下载文档;

· *editorConfig-*定义与编辑器界面有关的参数:打开模式(查看器或编辑器),界面语言,其他按钮等);

*customization* -允许自定义编辑器界面,使其看起来像您的其他产品(如果有),并更改是否存在其他按钮,链接,更改徽标和编辑者所有者详细信息;

*embedded* -仅用于嵌入式文档类型,并允许更改用于控制嵌入式模式的按钮的行为;

· *plugins* - 用于将必要的插件连接到您的Document Server,以便对所有文档编辑器用户可见;

· *events* -是在将某些操作应用于文档时(加载,修改等时)调用的特殊事件的列表;

let config = {
        "document": {
            "documentType": "text",
            "width": "100%", //打开窗口宽度
            "height": "100%", //打开窗口高度
            "fileType": "doc",//文档类型
            "key": "618", //定义用于服务识别文档的唯一文档标识符。每次编辑和保存文档时,都必须重新生成密钥。长度限制为128个符号。
            "title": "1.doc", //为查看或编辑的文档定义所需的文件名,该文件名也将在下载文档时用作文件名。长度限制为128个符号。
            "url": "http://www.baidu.com/downLoad/618", //定义存储原始查看或编辑的文档的绝对URL
            "info": {
                "owner": "王重阳",//文件创建者名称
                "sharingSettings": [//文件对应用户的操作权限配置
                    {
                        "permissions": "Full Access", // 完全操作权限-Full Access,只读权限-Read Only 拒绝访问-Deny Access
                        "user": "林朝英" //有次权限的用户
                    },
                    {
                        "permissions": "Read Only",
                        "user": "周伯通"
                    },
                ],
                "uploaded": "2010-07-07 3:46 PM" //文件创建时间
            },
            //文档权限参数
            "permissions": {
                "edit": true, //(文件是否可以编辑,false时文件不可编辑)
                "fillForms": true,//定义是否能在文档中填充表单
                "print": false, //定义文档是否能打印
                "review": false,//第一是否显示审阅文档菜单
                "comment": true,  //定义是否可以注释文档。如果注释权限设置为“ true”,则文档侧栏将包含“注释”菜单选项;只有将mode参数设置为edit时才生效,默认值与edit参数的值一致。
                "copy": true, //是否允许您将内容复制到剪贴板。默认值为true。
                "download": true, //定义是否可以下载文档或仅在线查看或编辑文档。如果下载权限设置为“false”下载为菜单选项将没有。默认值为true。
                "modifyContentControl": true, //定义是否可以更改内容控件设置。仅当mode参数设置为edit时,内容控件修改才可用于文档编辑器。默认值为true。
                "modifyFilter": true, //定义过滤器是否可以全局应用(true)影响所有其他用户,或局部应用(false),即仅适用于当前用户。如果将mode参数设置为edit,则过滤器修改仅对电子表格编辑器可用。默认值为true。
            }
        },
        // type: "embedded",
        //打开文档类型
        // text对应各种文档类型(.doc, .docm, .docx, .dot, .dotm, .dotx, .epub, .fodt, .htm, .html, .mht, .odt, .ott, .pdf, .rtf, .txt, .djvu, .xps)
        //spreadsheet对应表格类型(.csv, .fods, .ods, .ots, .xls, .xlsm, .xlsx, .xlt, .xltm, .xltx)
        //presentation对应PPT类型(.fodp, .odp, .otp, .pot, .potm, .potx, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx)
        "editorConfig": {//编辑配置
            "createUrl": "http://docServer:port/url-to-create-document/", //指定创建文件的页面,添加该配置后文档服务器插件才会显示新建文件按钮
            "mode": "view", //文档操作模式 view 视图模式不可编辑  edit 编辑模式可编辑文档
            "callbackUrl": "http://www.baidu.com/out/docx/save",//保存文件时的回调地址
            "lang": "zh-CN", //语言环境
            "customization": {//定制部分允许自定义编辑器界面,使其看起来像您的其他产品,并更改是否存在其他按钮,链接,更改徽标和编辑者所有者详细信息。
                "help": true, //定义是显示还是隐藏“帮助”菜单按钮。默认值为true。
                "hideRightMenu": false, //定义在第一次加载时是显示还是隐藏右侧菜单。默认值为false。
                "autosave": true,//定义是启用还是禁用“自动保存”菜单选项。请注意,如果您在菜单中更改此选项,它将被保存到浏览器的localStorage中。默认值为true。
                "forcesave": true, //定义保存按钮是否显示默认false
                "chat": true, //定义“聊天”菜单按钮是显示还是隐藏;请注意,如果您隐藏“聊天”按钮,则相应的聊天功能也将被禁用。默认值为true。
                "commentAuthorOnly": false, //定义用户是否只能编辑和删除他的评论。默认值为false。
                "comments": true, //定义是显示还是隐藏“注释”菜单按钮;请注意,如果您隐藏“评论”按钮,则相应的评论功能将仅可用于查看,评论的添加和编辑将不可用。默认值为true。
                "compactHeader": false, //定义是否将菜单栏放在在徽标旁边使界面更加紧凑默认false。
                "compactToolbar": false, //定义显示的顶部工具栏类型是完整(false)还是紧凑true。默认值为false 多余菜单将在右侧折叠点击显示。
                "compatibleFeatures": false, //定义仅与OOXML格式兼容的功能的使用。例如,不要在整个文档上使用注释。默认值为false。
                "macros": true, //定义是否将运行文档宏以及可用的宏设置。默认值为true。
                "macrosMode": "warn", //定义是否将运行文档宏。可以采用以下值: disable -根本不运行;enable -自动运行所有宏;warn -警告宏并请求允许运行。默认值为original。
                "plugins": true, //定义是否将启动插件并可用。默认值为true。
                "showReviewChanges": false, //定义在加载编辑器时是否自动显示或隐藏审阅更改面板。默认值为false。
                "spellcheck": true, //定义在加载编辑器时是否自动打开或关闭拼写检查器。拼写检查器仅适用于文档编辑器和演示文稿编辑器。默认值为true。
                "toolbarNoTabs": false, //定义是突出显示顶部工具栏选项卡样式。默认值为false。
                "unit": "cm", //定义在标尺和对话框中使用的度量单位。可以采用以下值:cm -厘米,pt-点,inch -英寸。默认值为厘米(cm)。
                "zoom": 100, //定义以百分比为单位的文档显示缩放值。可以取大于0的值。对于文本文档和演示文稿,可以将此参数设置为-1(使文档适合页面选项)或-2(使文档页面宽度适合编辑器页面)。默认值为100。
                "customer": { //关于 文档编辑器的显示信息
                    "address": "My City, 123a-45", //有权访问编辑或编辑作者的公司或个人的邮政地址,
                    "info": "Some additional information", //有关您希望其他人认识的公司或个人的一些其他信息,
                    "logo": "https://example.com/logo-big.png", //图片徽标的路径(此文件没有特别建议,但是如果使用透明背景的.png格式会更好)。图片必须具有以下尺寸:432x70,
                    "mail": "john@example.com", //有权访问编辑者或编辑者的公司或个人的电子邮件地址
                    "name": "欧阳锋", //该公司或个人的谁可以访问编辑或编辑作者,名称
                    "www": "example.com" //以上公司或个人的家庭网站地址,
                },
                "feedback": { //反馈配置信息
                    "url": "https://example.com", //单击“反馈和支持”菜单按钮时将打开的网站地址的绝对URL ,
                    "visible": true //显示或隐藏“反馈和支持”菜单按钮,
                },
                "goback": { //定义“打开文件位置”菜单按钮和右上角按钮的设置。该对象具有以下参数:
                    "blank": true, //在新的浏览器选项卡/窗口(如果值设置为true)或当前选项卡(如果值设置为false)中打开网站。默认值为true,
                    "requestClose": false, //定义如果单击“打开文件位置”按钮,则调用events.onRequestClose事件,而不是打开浏览器选项卡或窗口。默认值为false,
                    "text": "Open file location", //将在“打开文件位置”菜单按钮和右上角按钮(即,而不是“转到文档”)上显示的文本,
                    "url": "https://example.com" //单击“打开文件位置”菜单按钮时将打开的网站地址的绝对URL ,
                },
                "logo": {
                    "image": "https://example.com/logo.png", //图像文件的路径,用于在普通工作模式下显示(即,在所有编辑器的查看和编辑模式下)。图片必须具有以下尺寸:172x40,
                    "imageEmbedded": "https://example.com/logo_em.png", //用于以嵌入式模式显示的图像文件的路径(请参阅config部分以了解如何定义嵌入式文档类型)。图片必须具有以下尺寸:248x40,
                    "url": "https://www.baidu.com" //某人单击徽标图像时将使用的绝对URL(可用于转到您的网站等)。保留为空字符串或null以使徽标不可单击,
                },
            },
            "user": { //用户信息
                "id": "78e1e841",//用户ID
                "name": "洪七公" //用户全名称
            },
            "embedded": { //Embedded部分仅适用于嵌入式文档类型(请参阅config部分以了解如何定义嵌入式文档类型)。它允许更改设置,这些设置定义嵌入式模式下按钮的行为。
                "embedUrl": "https://example.com/embedded?doc=exampledocument1.docx", //定义文档的绝对URL,以作为嵌入到网页中的文档的源文件
                "fullscreenUrl": "https://example.com/embedded?doc=exampledocument1.docx#fullscreen", //定义将以全屏模式打开的文档的绝对URL。
                "saveUrl": "https://example.com/download?doc=exampledocument1.docx", //定义允许将文档保存到用户个人计算机上的绝对URL。
                "shareUrl": "https://example.com/view?doc=exampledocument1.docx", //定义允许其他用户共享此文档的绝对URL。
                "toolbarDocked": "top" //定义嵌入式查看器工具栏的位置,可以为top或bottom。
            }
        },

        "events": { //事件配置
        // onAppReady,//-将应用程序加载到浏览器时调用的函数。
        // onCollaborativeChanges //-当文档由其他用户在严格共同编辑模式下共同编辑时调用的函数。
        // onDocumentReady,//-将应用程序加载到浏览器时调用的函数。
        // onDocumentStateChange,//-修改文档时调用的函数。这就是所谓的使用参数:{真正的“数据”}在当前用户编辑文档以及与参数:{“数据”:假}在当前用户的更改发送到文档编辑服务。
        // onDownloadAs,//-调用downloadAs方法时,使用指向已编辑文件的绝对URL调用的函数。在data参数中发送要下载的文档的绝对URL 。
        // onError,//-发生错误或其他特定事件时调用的函数。错误消息在data参数中发送。
        // onInfo,//-应用程序打开文件时调用的函数。该模式在data.mode参数中发送。可以查看或编辑。
        // onMetaChange,//-通过meta命令更改文档的元信息时调用的函数。文档名称通过data.title参数发送。
        // onOutdatedVersion,//-使用旧的document.key值打开文档进行编辑时,显示错误后调用的函数,该值用于编辑先前的文档版本并已成功保存。调用此事件时,必须使用新的document.key重新初始化编辑器。
        // onReady,//-将应用程序加载到浏览器时调用的函数。自从5.0版本不推荐使用,请使用onAppReady代替
        // onRequestClose,//-结束编辑器的工作并且必须关闭编辑器时调用的函数。
        // onRequestCompareFile,//-用户尝试通过单击“存储中的文档”按钮来选择要比较的文档时调用的函数。要选择要比较的文档,必须调用setRevisedFile方法。如果未声明该方法,则不会显示“来自存储的文档”按钮。
        // onRequestCreateNew,//-用户尝试通过单击“新建”按钮来创建文档时调用的函数。使用此方法代替createUrl字段。如果未声明该方法且未指定createUrl,则将不会显示“创建新”按钮。
        // onRequestEditRights,//-用户尝试通过单击“编辑文档”按钮尝试将文档从视图切换到编辑模式时调用的函数。调用该函数时,必须在编辑模式下再次初始化编辑器。如果未声明该方法,则不会显示“编辑”按钮。
        // onRequestHistory,//-用户尝试通过单击“版本历史记录”按钮显示文档版本历史记录时调用的函数。要显示文档版本历史,您必须调用refreshHistory方法。如果未声明该方法和onRequestHistoryData方法,则不会显示“版本历史记录”按钮。
        // onRequestHistoryClose,//-当用户尝试通过单击“关闭历史记录”按钮来查看文档版本历史记录时,试图调用该文档时调用的函数。调用该函数时,必须在编辑模式下再次初始化编辑器。如果未声明该方法,则不会显示“关闭历史记录”按钮。
        // onRequestHistoryData,//-用户尝试单击文档版本历史记录中的特定文档版本时调用的函数。
        // onRequestInsertImage,//-用户尝试通过单击“保存图像”按钮插入图像时调用的函数。图像插入的类型在参数data.c中指定。
        // onRequestRename,//-用户尝试通过单击“重命名...”按钮重命名文件时调用的函数。
        // onRequestRestore,//-用户单击版本历史记录中的“还原”按钮来还原文件版本时调用的函数。
        // onRequestSaveAs,//-用户尝试通过单击“另存为...”按钮保存文件时调用的函数。文档的标题和要下载的文档的绝对URL在data参数中发送。如果未声明该方法,则不会显示“另存为...”按钮。
        // onRequestSharingSettings,//-用户单击“更改访问权限”按钮来管理文档访问权限时调用的函数。必须调用setSharingSettings方法来更新有关允许与其他用户共享文档的设置的信息。如果未声明该方法,则不会显示“更改访问权限”按钮。
        // onRequestUsers,//-评论者可以选择要在评论中提及的其他用户时调用的函数。要设置用户列表,必须调用setUsers方法。
        // onWarning,//-发生警告时调用的函数。警告消息在data参数中发送。
        "onDocumentStateChange" : onDocumentStateChange, //文档改变后的回调
        "onDocumentReady" : onDocumentReady, //文档初始化准备好后的回调
            },
    };

3.ONLYOFFICE Docs转换服务介绍

1. 请求换换的服务通过HTTP POST请求使用 URL: http://文档服务器IP:端口/ConvertService.ashx
2.简单请求参数说明
//#简单请求参数示例:
{
    "async": false, //是否异步请求
    "filetype": "docx", //文档格式 [必填项]
    "key": "Khirz6zTPdfd7", //[必填项]
    "outputtype": "pdf", //需要转换的格式 [必填项]
     "url": "https://example.com/url-to-example-document.docx" //或者需要转换的文档的URL
}

//#请求参数示例
{
    "filetype": "xlsx",
    "key": "Khirz6zTPdfd7",
    "outputtype": "pdf",
    "region": "en-US",
    "spreadsheetLayout": {
        "ignorePrintArea": true,
        "orientation": "portrait",
        "fitToWidth": 0,
        "fitToHeight": 0,
        "scale": 100,
        "headings": false,
        "gridLines": false,
        "pageSize": {
            "width": "210mm",
            "height": "297mm"
        },
        "margins": {
            "left": "17.8mm",
            "right": "17.8mm",
            "top": "19.1mm",
            "bottom": "19.1mm"
        }
    },
    "title": "Example Document Title.pdf",
    "url": "https://example.com/url-to-example-spreadsheet.xlsx"
}

3.请求详细参数说明

参数 描述 类型 是否必填
async 定义转换请求类型:是否异步。true 是 false 否 boolean 可选
codePage 定义从csvtxt格式转换时的文件编码主要支持的值:
932-日文(Shift-JIS)
950-中国传统(Big5)
1250-中欧(WINDOWN)
1251-西里尔文(Windows)
65001 -Unicode(UTF-8)
integer 可选
delimiter 定义用于从csv格式转换时分隔值的定界符支持的值:
0-无分隔符
1-TAB 标签
2-分号
3-冒号
4-逗号
5-空格
integer 可选
filetype* 定义要转换的文档文件的类型 string required
key 定义用于明确标识文档文件的文档标识符 string required
outputtype* 定义结果转换后的文档类型 string required
password 定义文档文件的密码(如果使用密码保护) string 可选
region Spreadsheet格式转换pdf时,定义货币,日期和时间的默认显示格式。使用四个字母(en-USfr-FR等)的语言代码设置。默认值为en-US string 可选
spreadsheetLayout 定义用于将电子表格转换为pdf的设置 object 可选
spreadsheetLayout.fitToHeight 设置转换区域的高度,以页数为单位。默认值为0 integer 可选
spreadsheetLayout.fitToWidth 设置转换区域的宽度,以页数为单位。默认值为0 integer 可选
spreadsheetLayout.gridLines 是否允许将网格线包含到输出PDF文件中。默认值为false boolean 可选
spreadsheetLayout.headings 是否允许将标题包含在输出的PDF文件中。默认值为false boolean 可选
spreadsheetLayout.ignorePrintArea 确定是否忽略为电子表格文件选择的打印区域。默认值为true boolean 可选
spreadsheetLayout.margins 设置输出PDF文件的页边距 object 可选
spreadsheetLayout.margins.bottom 设置输出PDF文件的底边距。默认值为19.1mm string 可选
spreadsheetLayout.margins.left 设置输出PDF文件的左边距。默认值为17.8mm string 可选
spreadsheetLayout.margins.right 设置输出PDF文件的右边距。默认值为17.8mm string 可选
spreadsheetLayout.margins.top 设置输出PDF文件的上边距。默认值为19.1mm string 可选
spreadsheetLayout.orientation 设置输出PDF文件的方向。可能是风景肖像。默认值为portrait string 可选
spreadsheetLayout.pageSize 设置输出PDF文件的页面大小 object 可选
spreadsheetLayout.pageSize.height 设置输出PDF文件的页面高度。默认值为297mm. string 可选
spreadsheetLayout.pageSize.width 设置输出PDF文件的页面宽度。默认值为210mm string 可选
spreadsheetLayout.scale 允许设置输出PDF文件的比例。默认值为100 integer 可选
thumbnail 指定的图像格式(当定义用于缩略图的设置BMPGIFJPGPNG)作为输出类型. object 可选
thumbnail.aspect 定义模式以使图像适合指定的高度和宽度。支持的值:. integer 可选
thumbnail.first 0-拉伸文件以适合高度和宽度,
1-保留图片的外观,
2-在这种情况下,不使用宽度和高度设置。取而代之的是,将页面的度量标准尺寸转换为96dpi的像素。例如,A4(210x297mm)页面将变成一张794x1123pix尺寸的图片。定义是只为首页还是为所有文档页面生成缩略图。如果为false,则将创建包含所有页面缩略图的zip存档。
默认值为true,
boolean 可选
thumbnail.height 默认值为2定义缩略图高度(以像素为单位)。默认值为100。. integer 可选
thumbnail.width 定义缩略图的宽度(以像素为单位)。默认值为100 integer 可选
title 定义转换后的文件名。 string 可选
token 定义以令牌形式添加到Document Server配置的加密签名。 string 配置后必填
url 定义要转换的文档的绝对URL。 string 可选

4.响应结果说明:

//正常响应结果
{
    "endConvert":true,//转换是否完成
    "fileUrl":“ https://documentserver/ResourceService.ashx?filename=output.doc”,//转换后的文件地址
    "percent":100//转换完成百分比 仅参数设置为异步时
 }
//异常响应结果
{
    “error”:- 3
 }

5.错误码说明:

错误代码 描述
-1 未知错误。
-2 转换超时错误。
-3 转换错误。
-4 下载要转换的文档文件时出错。
-5 密码错误。
-6 访问转换结果数据库时出错。
-7 输入错误。
-8 令牌无效。
文档转换表格:
  • 文档类型转换表格:

  • 表格类型转换表格:

  • 演示文稿PPT转换表格:


相关文章推荐

全部评论: 0

    我有话说: