PDF to DOCX document conversion in PHP は、読み取り専用PDFから編集可能なWordファイルが必要なときに頻繁に求められる要件です。 GroupDocs.Conversion Cloud SDK for PHP は、このタスクを高精度で処理する堅牢なライブラリを提供します。このチュートリアルでは、ライブラリのセットアップ方法、詳細なコード例の解説、そしてクラウド展開のためにcURLでREST APIを呼び出す方法を紹介します。最後まで読めば、PDFからDOCXへの変換を自分のPHPアプリケーションに統合できるようになります。
はじめに: 前提条件とインストール
このガイドに従うには以下が必要です:
- 開発マシンまたはサーバーに PHP 7.4 以上がインストールされていること。
- 依存関係管理のための Composer。
- GroupDocs Cloud アカウント(クライアント ID とクライアントシークレット)— GroupDocs ポータルで作成できます。
- ソース PDF と生成される DOCX ファイル用の十分なディスク領域。
Composerでライブラリをインストールする:
composer require groupdocs-conversion-cloud
最新のパッケージをダウンロードするか、GitHub でソースを確認してください: ダウンロード URL。インストールが完了したら、すぐにコーディングを開始できます。
PHPでPDFからDOCXへのドキュメント変換 - ステップバイステップで構築
以下は、各重要な操作を示す簡潔なウォークスルーです。完全なソースコードは、DOCXへのドキュメント変換の完全なPHP実装 セクションの後半に掲載されています。
ステップ 1: ソース PDF を読み込む
ConversionApi のインスタンスを作成し、変換したい PDF を指定します。
use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
$config = new Configuration('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET');
$api = new ConversionApi($config);
$sourcePath = 'input.pdf';
ステップ 2: 変換設定の初期化
出力形式と保存先パスを定義します。ConvertOptions クラスを使用すると、大きな PDF のメモリ制限を微調整でき、PHP における PDF から DOCX への変換パフォーマンスが向上します。
use GroupDocs\Conversion\Model\ConvertOptions;
$options = new ConvertOptions();
$options->setFilePath($sourcePath);
$options->setOutputPath('output.docx');
$options->setFormat('docx');
// Optional: $options->setMemoryLimit(1024); // in MB
ステップ 3: 変換の実行
クラウドサービスにリクエストを送信します。この単一の API 呼び出しが重い処理を実行します。
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;
$request = new ConvertDocumentRequest($options);
$api->convertDocument($request);
ステップ 4: 結果の取得
変換された DOCX ファイルは、指定したパスに保存されます。これでユーザーに提供したり、後で処理するために保存したりできます。
echo "Conversion completed. DOCX saved to output.docx";
ステップ 5: リソースのクリーンアップ
ループで多数の変換を実行している場合は、API インスタンスを破棄してください。同じインスタンスを再利用する方が、PHP の PDF から DOCX への変換マイクロサービス にとってより効率的です。
unset($api);
ドキュメントを DOCX に変換する完全な PHP 実装
以下のコードは、すべての手順を1つの実行可能なスクリプトにまとめています。
<?php
require 'vendor/autoload.php';
use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\ConvertOptions;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;
// ==== Configuration ====
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$config = new Configuration($clientId, $clientSecret);
$api = new ConversionApi($config);
// ==== Input / Output ====
$sourcePath = __DIR__ . '/input.pdf';
$outputPath = __DIR__ . '/output.docx';
// ==== Conversion Options ====
$options = new ConvertOptions();
$options->setFilePath($sourcePath);
$options->setOutputPath($outputPath);
$options->setFormat('docx');
// Example of performance tuning
$options->setMemoryLimit(1024); // 1 GB
// ==== Convert ====
$request = new ConvertDocumentRequest($options);
try {
$api->convertDocument($request);
echo "PDF successfully converted to DOCX. File saved at: $outputPath\n";
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . "\n";
}
// ==== Cleanup ====
unset($api);
?>
注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
input.pdf、output.docxなど)を実際のファイル場所に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートフォーラム へお問い合わせください。
cURL を使用した REST API によるドキュメント変換の実行
サービスと直接やり取りしたい場合、以下の cURL コマンドがフルワークフローを示しています。
1. 認証してアクセストークンを取得する
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
2. ソースPDFをアップロード
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/input.pdf"
3. PDF を DOCX に変換するリクエスト
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert?outputFormat=docx&outputPath=/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filePath":"/input.pdf"}'
4. 変換された DOCX をダウンロード
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.docx
これらのコマンドは、シンプルな PHP スクリプトにラップすることも、CI パイプラインで PHP の PDF から DOCX への変換 CLI ツール として使用することもできます。詳細については、API リファレンスをご覧ください。
結論
PHPでPDFからDOCXへの変換を統合することは、GroupDocs.Conversion Cloud SDK for PHP を使用すれば簡単です。ライブラリの設定方法、ステップバイステップの変換実行方法、そして REST 呼び出しで同じ機能を呼び出す方法を学びました。このライブラリはクラウドベースのデプロイとオンプレミスのシナリオの両方をサポートしており、マイクロサービスアーキテクチャや従来のサーバーインストールに柔軟に対応できます。本番環境に移行する前に、製品ページで価格オプションを確認し、一時ライセンスページ から一時ライセンスを取得することを忘れないでください。コーディングを楽しんでください!
FAQ
PHPオンプレミスでPDFからDOCXへのドキュメント変換を実装するにはどうすればよいですか?
ライブラリを自分のサーバーにデプロイし、クライアント ID とシークレットを設定して、ローカルで変換コードを実行します。認証後は外部へのネットワークトラフィックは不要です。
大きなPDFの変換速度を向上させる最善の方法は何ですか?
単一の ConversionApi インスタンスを再利用し、PHP のメモリ制限を増やし、ConvertOptions で適切なオプションを設定してストリーミングを有効にします。これによりオーバーヘッドが削減され、PHP における PDF から DOCX への変換パフォーマンス が向上します。
Docker コンテナ内のマイクロサービスでライブラリを使用できますか?
はい。Dockerfile に Composer のインストール手順を含め、PHP スクリプトをコピーし、変換ロジックを呼び出すエンドポイントを公開します。これにより、ポータブルな PDF to DOCX conversion microservice in PHP が作成されます。
この機能のための Composer パッケージはありますか?
ライブラリは Composer を通じて配布されています。composer require groupdocs-conversion-cloud でインストールし、composer.json で更新を管理してください。
