通過Intelligent Media Management的文檔格式轉換功能,您可以靈活地處理各種文件類型,將其轉換為適合自身需求的輸出文件類型,並根據需要將轉換後的文檔儲存在指定的OSS路徑中,以便後續的應用和使用。
使用情境
線上預覽最佳化:使用者上傳不同格式的文檔,如PDF、Word、Excel、PPT等至OSS,為了方便使用者直接在網頁端或者移動端應用中預覽這些文檔,無需下載到本地再開啟,可以調用Intelligent Media Management服務提供的文檔轉換介面。文檔會被轉換成圖片以適合線上展示。
跨平台相容性:不同裝置和作業系統對各種檔案格式支援程度不一,通過OSS文檔轉換服務,可以讓所有使用者無論使用何種裝置都能順暢地查看文檔。
計費說明
使用文檔格式轉換服務,會產生以下計費項目:
功能簡介
支援的檔案轉換類型
文檔格式轉換功能支援的轉換類型如下:
輸入文件類型 | 輸出文件類型 | 說明 |
Word、Excel、PPT | 支援以圖片方式產生PDF。 | |
Word、Excel、PPT、PDF | PNG、JPEG | 無 |
Word、Excel、PPT | TXT | 無 |
JPEG | 無 |
支援的輸入檔案類型
檔案類型 | 檔案尾碼 |
Word | doc、docx、wps、wpss、docm、dotm、dot、dotx、html |
PPT | pptx、ppt、pot、potx、pps、ppsx、dps、dpt、pptm、potm、ppsm、dpss |
Excel | xls、xlt、et、ett、xlsx、xltx、csv、xlsb、xlsm、xltm、ets |
相關說明
根據請求中指定的輸出文件類型會有不同的輸出內容。關於輸出內容的樣本資訊,請參見輸出內容樣本。
對於JPEG、PNG格式的輸出文件類型,根據輸入文件類型是否為表格文檔(Excel),輸出內容不同。
當輸入文件類型為表格文檔(Excel)時,按表格中的頁簽產生對應數量的檔案夾後,再按預覽頁面大小產生對應數量的檔案。
當輸入文件類型為非表格文檔,例如文字文檔(Word)、示範文檔(PPT)時,按文檔樣式每頁產生一個檔案。
對於PDF和TXT格式的輸出文件類型,無論輸入文件類型是否為表格文檔(Excel),均直接產生一個檔案。
可以通過
TargetURI指定輸出地址,並支援變數渲染,更多資訊,請參見TargetURI模板。也可以通過TargetURIPrefix指定輸出地址的首碼,預設輸出地址請參見輸出內容樣本。doc或docx格式僅支援轉換為PDF、圖片或txt格式,無法實現doc與docx之間的互轉。
使用說明
文檔格式轉換所需的時間依賴於文檔大小、文檔頁數、文檔字數等因素,典型情況下在秒級可以完成請求,但是大檔案、多頁數、多字數的文檔可能需要幾十秒的時間。為了降低請求的應用等待時間,Intelligent Media Management提供了非同步請求介面CreateOfficeConversionTask - 建立文檔轉換任務用於文檔格式轉換。
任務開始執行後,任務資訊只儲存7天,超過7天則無法再擷取。您可以通過以下幾種方式及時擷取任務資訊:
調用GetTask - 擷取任務資訊或ListTasks - 列出任務介面擷取返回的
TaskId,查看任務資訊。在與Intelligent Media Management相同的地區下開通MNS服務,並配置訂閱關係,及時擷取任務資訊通知,非同步通知訊息格式請參見非同步通知訊息格式。關於MNS SDK的更多資訊,請參見步驟四:接收和刪除訊息。
在與Intelligent Media Management相同的地區下開通RocketMQ服務,並建立RocketMQ 4.0執行個體、Topic、Group,及時擷取任務資訊通知,非同步通知訊息格式請參見非同步通知訊息格式。關於RocketMQ使用的更多資訊,請參見調用HTTP協議的SDK收發普通訊息。
在與Intelligent Media Management相同的地區下開通並接入事件匯流排EventBridge服務,即時擷取任務資訊通知。更多資訊,請參見Intelligent Media ManagementIMM事件。
如在使用文檔轉換功能後出現文檔清晰度降低的情況,您可以嘗試在調用CreateOfficeConversionTask介面時,通過調整ImageDPI參數來控制解析度大小,ImageDPI參數數值越大圖片越清晰。
輸出內容樣本
如下以請求中指定輸出路徑首碼TargetURIPrefix為OSS路徑oss://test-bucket/target/為例說明轉換為不同輸出文件類型時的輸出內容。
當輸入文件類型為表格文檔時,輸出內容樣本如下所示。
oss://test-bucket/target/{sheetname}_{sheetindex}_{sheetsubindex}.{autoext}當輸入文件類型為非表格文檔時,輸出內容樣本如下所示。
oss://test-bucket/target/{index}.{autoext}相關參數說明如下表所示:
輸入檔案為Word、PDF、PPT時,表示頁碼。
輸入檔案為Excel時,表示sheetindex_sheetsubindex。
sheetindex:從1開始。表示第幾個sheet頁。
sheetsubindex:從1開始。一個sheet可能會轉換出多張圖片,表示當前sheet的第幾張圖片。
變數名 | 說明 | 樣本值 |
index | 輸出下標,從1開始。 | 6_12 |
sheetname | 輸入檔案為Excel時,表示Sheet工作表的名稱。 | sheet1 |
autoext | 輸出檔案的尾碼。 | jpg |
非同步通知訊息格式說明
當請求中設定訊息回調參數則可以擷取到文檔轉換的檔案數量TargetFileCount和自訂資訊UserData。
如果需要使用非同步訊息通知,需要在發起請求時設定訊息回調參數
Notification。返回的訊息相關參數說明如下表所示:
{
"ProjectName": "immtest", //ProjectName為專案名稱。
"DatasetName": "", //DatasetName為資料集名稱。
"RequestId": "A1DA7436-768B-061D-833C-****", //RequestId為請求ID。
"StartTime": "2023-01-04T05:03:40.928Z", //StartTime為任務開始時間。
"EndTime": "2023-01-04T05:03:41.444Z", //EndTime為任務結束時間。
"UserData": "test", //UserData為使用者自訂資訊。
"TaskType": "OfficeConversion", //TaskType為任務類型。
"TaskId": "OfficeConversion-ed315cab-7736-4ad8-8c56-****", //TaskId為轉換任務ID。
"Status": "Succeeded", //Status為轉換狀態。
"Code": "", // Code為空白表示處理成功。
"Message": "",// Message為處理失敗說明。
"TargetFileCount": 5 // TargetFileCount為轉換的檔案數量。
}