ONLYOFFICE文檔服務器使用介紹


ONLYOFFICE文檔服務器使用介紹

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,文件類型等);

o *info-*包含文檔的其他參數(文檔所有者,文檔存儲文件夾,上傳日期,共享設置);

o *permissions*-定義是否可以編輯和下載文檔;

· *editorConfig-*定義與編輯器界面有關的參數:打開模式(查看器或編輯器),界面語言,其他按鈕等);

o *customization* -允許自定義編輯器界面,使其看起來像您的其他產品(如果有),並更改是否存在其他按鈕,鏈接,更改徽標和編輯者所有者詳細信息;

o *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轉換表格:
    輸入圖片說明


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM