Intelligent Media Management (IMM) のドキュメント形式変換機能を使用すると、さまざまなドキュメントタイプを処理できます。ドキュメントを目的の出力形式に変換し、変換されたドキュメントを指定された Object Storage Service (OSS) パスに保存できます。
シナリオ
オンラインプレビューの最適化: ユーザーは、PDF、Word、Excel、PPT などのさまざまな形式のドキュメントを OSS にアップロードします。ユーザーがドキュメントをダウンロードせずに Web またはモバイルアプリケーションで直接プレビューできるようにするには、IMM サービスが提供するドキュメント変換 API を呼び出します。これにより、ドキュメントがオンライン表示に適したイメージに変換されます。
クロスプラットフォームの互換性: デバイスやオペレーティングシステムが異なれば、サポートされるファイル形式も異なります。ドキュメント変換サービスは、使用するデバイスに関係なく、すべてのユーザーがドキュメントをスムーズに表示できるようにします。
課金
ドキュメント形式変換サービスを使用すると、次の料金が発生します。
機能
サポートされている変換タイプ
次の表に、ドキュメント形式変換でサポートされている変換タイプを示します。
入力ドキュメントタイプ | 出力ドキュメントタイプ | 説明 |
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 ドキュメントなどのスプレッドシートでない場合、ドキュメントのページごとに 1 つのファイルが生成されます。
PDF および TXT 出力形式の場合、入力ドキュメントがスプレッドシートであるかどうかに関係なく、1 つのファイルのみが生成されます。
TargetURIパラメーターを使用して出力パスを指定できます。 このパラメーターは変数レンダリングをサポートしています。 詳細については、「TargetURI テンプレート」をご参照ください。 また、TargetURIPrefixパラメーターを使用して出力パスのプレフィックスを指定することもできます。 デフォルトの出力パスの詳細については、「出力内容の例」をご参照ください。DOC または DOCX ファイルは、PDF、イメージ、または TXT 形式にのみ変換できます。 DOC 形式と DOCX 形式の間の変換はサポートされていません。
使用上の注意
ドキュメント形式の変換に必要な時間は、ドキュメントのサイズ、ページ数、単語数などの要因によって異なります。一般的なケースでは、リクエストは数秒で完了します。ただし、大きなファイルやページ数や単語数が多いファイルの場合、最大で数十秒かかることがあります。アプリケーションの待機時間を短縮するために、IMM はドキュメント形式変換のための非同期 CreateOfficeConversionTask API 操作を提供します。
タスクが開始されると、その情報は 7 日間のみ保存されます。 次のメソッドを使用して、タスク情報を迅速に取得します。
GetTask または ListTasks 操作を呼び出して、返された
TaskIdを取得し、タスク情報を表示します。IMM と同じリージョンで Message Service (MNS) をアクティブ化し、サブスクリプションを設定して、タスク情報通知を迅速に受信します。 非同期通知メッセージ形式については、「非同期通知メッセージ形式」をご参照ください。 MNS SDK (ソフトウェア開発キット) の詳細については、「ステップ 4: メッセージの受信と削除」をご参照ください。
IMM と同じリージョンで RocketMQ をアクティブ化します。 次に、RocketMQ 4.0 インスタンス、トピック、およびグループを作成して、タスク情報通知を迅速に受信します。 非同期通知メッセージ形式については、「非同期通知メッセージ形式」をご参照ください。 RocketMQ の使用方法の詳細については、「HTTP 用 SDK を使用して通常のメッセージを送受信する」をご参照ください。
IMM と同じリージョンで EventBridge をアクティブ化して接続し、タスク情報通知をリアルタイムで受信します。 詳細については、「Intelligent Media Management (IMM) イベント」をご参照ください。
変換後にドキュメントの解像度が低下した場合は、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 から始まります。
sheetsubindex: 現在のシートのイメージのインデックス。 値は 1 から始まります。シートは複数のイメージに変換される場合があります。
変数 | 説明 | 値の例 |
index | 出力インデックス。 値は 1 から始まります。 | 6_12 |
sheetname | 入力ファイルが Excel ファイルの場合、この変数はシートの名前を示します。 | sheet1 |
autoext | 出力ファイルの拡張子。 | jpg |
非同期通知メッセージ形式
リクエストでメッセージコールバックパラメーターを設定すると、非同期通知には変換されたファイルの数 (TargetFileCount) とカスタム情報 (UserData) が含まれます。
非同期メッセージ通知を使用するには、リクエストを開始するときに
Notificationメッセージコールバックパラメーターを設定します。返されたメッセージのパラメーターを次の例に示します。
{
"ProjectName": "immtest", // プロジェクトの名前。
"DatasetName": "", // データセットの名前。
"RequestId": "A1DA7436-768B-061D-833C-****", // リクエスト ID。
"StartTime": "2023-01-04T05:03:40.928Z", // タスクの開始時刻。
"EndTime": "2023-01-04T05:03:41.444Z", // タスクの終了時刻。
"UserData": "test", // カスタム情報。
"TaskType": "OfficeConversion", // タスクタイプ。
"TaskId": "OfficeConversion-ed315cab-7736-4ad8-8c56-****", // 変換タスクの ID。
"Status": "Succeeded", // 変換のステータス。
"Code": "", // 空の値は、タスクが成功したことを示します。
"Message": "",// タスクが失敗した場合のエラーメッセージ。
"TargetFileCount": 5 // 変換されたファイルの数。
}