DOCX ファイルを Markdown に変換することは、軽量でバージョン管理に適したドキュメントを求める開発者にとって頻繁なニーズです。
Aspose.HTML Cloud SDK for PHP は、数回の API 呼び出しだけでこの DOCX から MD への変換を PHP で実行できるようにします。
本ガイドでは、必要なセットアップ手順を説明し、完全なコード例を示し、クリーンな Markdown を得るために出力を微調整する方法を紹介します。
また、クラウドネイティブなシナリオ向けに、REST を使用して cURL で同じ変換を呼び出す方法も確認できます。
PHPでDOCXからMDへの変換手順
- Obtain Access Token - Aspose Cloud のクライアント ID とシークレットを使用して、OAuth エンドポイント経由で一時的なアクセストークンをリクエストします。
- Upload Source DOCX -
UploadFileメソッドを使用してファイルを Aspose storage にアップロードするか、公開アクセス可能な URL を指定します。 - Create Conversion Request -
ConvertDocumentRequestオブジェクトを作成し、formatをmdに設定し、必要に応じて変換オプションを指定します。 - Execute Conversion - HtmlApi クラスの
ConvertDocumentメソッドを呼び出します(API reference)。 - Download Markdown - 応答ストリームから生成された
.mdファイルを取得し、ローカルに保存するか、さらに処理します。
PHPでのDOCXからMDへの変換スクリプト - 完全コード例
以下のスクリプトは、Aspose.HTML Cloud SDK for PHP を使用したフルエンドツーエンド変換を示しています。
<?php
require 'vendor/autoload.php';
use Aspose\HTML\Cloud\Sdk\Api\HtmlApi;
use Aspose\HTML\Cloud\Sdk\Configuration;
use Aspose\HTML\Cloud\Sdk\Model\ConvertDocumentRequest;
// ---------------------------------------------------------------------
// 1. Configure SDK with your client credentials
// ---------------------------------------------------------------------
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
// ---------------------------------------------------------------------
// 2. Initialize HtmlApi
// ---------------------------------------------------------------------
$htmlApi = new HtmlApi($config);
// ---------------------------------------------------------------------
// 3. Prepare conversion request
// ---------------------------------------------------------------------
$inputFile = 'sample.docx'; // Path to your DOCX file
$outputFormat = 'md'; // Target format
$request = new ConvertDocumentRequest($inputFile, $outputFormat);
// ---------------------------------------------------------------------
// 4. Perform conversion
// ---------------------------------------------------------------------
try {
$response = $htmlApi->convertDocument($request);
$markdown = $response->getBody()->getContents();
// -----------------------------------------------------------------
// 5. Save the Markdown output
// -----------------------------------------------------------------
file_put_contents('output.md', $markdown);
echo "Conversion successful. Markdown saved to output.md\n";
} catch (Exception $e) {
echo "Error during conversion: " . $e->getMessage() . "\n";
}
?>
注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
sample.docx、output.md)を更新し、必要なすべての依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメントをご参照いただくか、サポートチームにお問い合わせください。
cURL を使用した REST API によるクラウドベースの DOCX から Markdown への変換
SDK を使用せずに、Aspose.HTML Cloud の REST エンドポイントを直接呼び出すことで、同じ結果を得ることができます。
- 認証してアクセストークンを取得
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- ソースファイルをアップロード (パブリック URL を使用しない場合)
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
--data-binary "@sample.docx"
- 変換を実行する
curl -X POST "https://api.aspose.cloud/v4.0/html/convert/md" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"sample.docx","outputPath":"output.md"}'
- Markdown 出力をダウンロード
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.md" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" -o output.md
リクエスト パラメータの詳細については、公式 API ドキュメントをご覧ください。
PHP でのインストールとセットアップ
- Composer を使用して SDK をインストール
composer require aspose-html-cloud - 手動インストールを希望する場合は、最新リリースをダウンロード: Download package。
- 認証情報を設定 -
Configurationオブジェクトでclient_idとclient_secretを設定します(コード例を参照)。 - インストールを検証 - 簡単な
php -r "echo phpinfo();"スクリプトを実行して、オートローダーが機能することを確認します。 - テスト用に一時ライセンスを適用: temporary license page にアクセスし、手順に従ってください。
PHP と Aspose.HTML を使用した DOCX から MD への変換
Aspose.HTML は、複雑なレイアウト、表、埋め込み画像を含む完全な DOCX 仕様を理解するクラウドベースの変換エンジンを提供します。ドキュメントをサービスに送信することで、処理をスケーラブルなバックエンドにオフロードでき、重厚なローカルライブラリが不要になります。
Aspose.HTML Features
- High‑Fidelity Rendering - Markdownに変換する際、スタイリング、テーブル、画像を保持します。
- Multiple Output Formats - HTML, PDF, PNG, JPEG, および Markdown (MD) をサポートします。
- Cloud‑Native Architecture - 自動的にスケールし、HTTPS経由でファイアウォールの背後でも動作します。
- Extensive API - REST と SDK を通じて変換オプションを細かく制御できます。
最適なMarkdown出力のための変換オプションの構成
ConvertDocumentRequest はMarkdownの結果を細かく調整できるようにします:
| Option | Description |
|---|---|
preserveTableStructure |
テーブルの行と列をそのまま保持します(デフォルト: true)。 |
includeImages |
画像を base64 文字列として埋め込むか、外部ファイルとして保持します。 |
headingLevelOffset |
見出しレベルを調整して、ドキュメントの階層構造に合わせます。 |
removeStyles |
インラインの CSS を除去し、よりクリーンなプレーンテキスト出力にします。 |
convertDocument を呼び出す前に、リクエストモデルを介してこれらのオプションを設定します。
変換パフォーマンスの最適化
- 複数ファイルのバッチ処理 - 複数の DOCX ファイルをアップロードし、単一の API 呼び出しで変換して往復遅延を削減します。
- アクセストークンの再利用 - トークンは 1 時間有効です。各ファイルごとに新しいトークンを要求するのではなく、キャッシュしてください。
- 入力ファイルの圧縮 - ペイロードが小さいほど、アップロードと処理が高速化します。
- 並列リクエスト - 大量のワークロードの場合、サービスのレート制限を守りながら同時変換リクエストを実行します。
DOCX から MD への変換ベストプラクティス
- 入力の検証 - アップロード前に DOCX ファイルが破損していないことを確認します。
- Markdown をサニタイズ - 変換後、リンターを実行してフォーマットの問題を修正します。
- 結果を安全に保存 - 生成された
.mdファイルをバージョン管理リポジトリに保存します。 - API 使用状況の監視 - スロットリングを防ぐため、Aspose Cloud ダッシュボードでリクエスト数と応答時間を追跡します。
結論
Aspose.HTML Cloud SDK for PHP を活用することで、最小限のコードで DOCX ファイルを Markdown に確実に変換できます。この SDK は複雑なレイアウトを処理し、重要な書式を保持し、クリーンな MD 出力のための設定可能なオプションを提供します。本番環境での導入には、Aspose ストアからフルライセンスを購入してください。評価用の一時ライセンスは、一時ライセンスページ から入手可能です。提供されたコードサンプルをワークフローに組み込み、PHP アプリケーションでシームレスな文書変換をお楽しみください。
よくある質問
変換中に大きな DOCX ファイルをどのように処理しますか?
まずファイルを Aspose ストレージにアップロードし、次に変換を開始します。クラウドサービスは大きなファイルを効率的に処理し、API を通じて進行状況を監視できます。
複数のDOCXファイルを1つのリクエストでMarkdownに変換できますか?
はい。バッチ変換エンドポイントを使用するか、SDKでファイルをループ処理し、同じアクセストークンを再利用してパフォーマンスを向上させます。
外部ファイルではなくインラインで画像を保持する必要がある場合はどうすればよいですか?
includeImages オプションを true に設定し、embedImages モードを選択します。SDK は画像を base64 文字列として直接 Markdown に埋め込みます。
SDKはPHP 8.xに対応していますか?
Aspose.HTML Cloud SDK for PHP は PHP 7.4 以降、PHP 8.x を含むバージョンをサポートしています。必要な拡張機能(cURL、JSON)が有効になっていることを確認してください。