Last Updated: 08 Oct, 2025

Title - How Do I Convert a PDF to MS Word Documents via PHP APIs?

WebアプリケーションでPDFを扱うことは、あらゆる業界で一般的な要件となっています。請求書、契約書、学術コンテンツの管理など、どのような場合でもPDF文書をMicrosoft Word (DOCX)などの編集可能な形式に変換できることは不可欠です。幸いなことに、強力で無料のPHP APIを活用することで、開発者はこのプロセスを簡単に自動化・効率化できます。

PHPでPDFをWordに変換する理由

PDFファイルはレイアウトとデザインが維持されるため、配布に最適です。しかし、編集は必ずしも簡単ではありません。一方、Word文書は高度な編集機能を備えているため、ユーザーによる操作、更新、共同作業が必要なタスクに最適です。 PHPベースのソリューション により、開発者は以下のことが可能になります。

  • サーバーサイドでのバッチ処理による PDFからWordへの変換 が可能
  • Webアプリへのドキュメント編集ワークフロー の統合
  • レポート生成 とドキュメント処理の自動化
  • エンドユーザーがファイルの編集可能なバージョンをダウンロードできるようにする

最小限の設定でPDFからWordへの変換を実行できる、最も信頼性が高く無料のPHP APIとライブラリをいくつかご紹介します。

PHPWord と PDF パーサー

変換プロセスをより細かく制御するには、Word 文書の作成と操作のためのライブラリである PHPWordPDF 解析ライブラリ を組み合わせることができます。

コード例の説明:

この例では、まず PDFParser ライブラリを使用して PDF を読み取り、各ページからテキストを抽出します。次に、PHPWord を使用して新しい Word 文書を作成し、抽出したテキストを追加します。この方法により、出力を細かく制御でき、必要に応じてテキストの書式設定やその他の要素を追加できます。

require_once 'vendor/autoload.php';

// 新しい PDF パーサーオブジェクトを作成
$parser = new \Smalot\PdfParser\Parser();

// PDF ファイルを解析
$pdf = $parser->parseFile('path/to/your/document.pdf');

// PDF からすべてのページを取得
$pages = $pdf->getPages();

// 新しい PHPWord オブジェクトを作成
$phpWord = new \PhpOffice\PhpWord\PhpWord();

// Word 文書にセクションを追加
$section = $phpWord->addSection();

// PDF の各ページをループ処理
foreach ($pages as $page) {
// ページからテキストを抽出
$text = $page->getText();
// Word 文書にテキストを追加
$section->addText($text);
}

// Word 文書を保存します
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');

echo "PDF コンテンツが抽出され、Word に保存されました!";

Spatie PDF-to-Text + PHPWord (テキストベースの変換)

PDF ファイルが主にプレーンテキストで構成されている場合(複雑な表や画像が含まれていない場合)、オープンソースライブラリ Spatie PDF-to-TextPHPWord を組み合わせることで、軽量な変換パイプラインを実現できます。

仕組み

Adobe Acrobat Pro をご利用の場合、これが最も簡単な方法です。

手順:

  1. まず、PDF からプレーンテキストを抽出する Spatie\PdfToText API を使用します。
  2. PHPWord ライブラリ を使用して、抽出したコンテンツを含む Word 文書を生成します。
  3. 複雑な書式設定のない テキストのみの PDF に最適です。

以下は、PDF ファイルからテキストを抽出し、PHPWord ライブラリを使用して抽出したコンテンツを含む Word 文書を生成する方法を示すコード例です。

PdfReader reader = new PdfReader("form.pdf");
FileOutputStream out = new FileOutputStream("data.fdf");
FdfWriter writer = new FdfWriter();
writer.setField("name", "John Doe");
writer.writeTo(out);
reader.close();
out.close();

PHP経由のGotenberg(オープンソースのDockerマイクロサービス)

Gotenbergは、HTTPリクエストを使用してPHPと統合できるオープンソースのドキュメント変換マイクロサービスです。Dockerベースのツールを好む開発者に最適です。

仕組み

  • GotenbergはバックエンドでLibreOfficeを使用してPDFを変換します。
  • PDFファイルをPOSTリクエストで送信します。
  • サーバーはDOCXドキュメントを返します。
Code Snippet (PHP + Gotenberg)

Aspose.PDF Cloud for PHP (Free Tier)
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://localhost:3000/forms/libreoffice/convert');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

$data = [
    [
        'name'     => 'files',
        'contents' => fopen('input.pdf', 'r'),
        'filename' => 'input.pdf'
    ]
];

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
file_put_contents('output.docx', $response);
curl_close($ch);

echo "Conversion done via Gotenberg!";

Aspose.PDF Cloud for PHP (無料版)

Aspose.PDF Cloud PHP SDK は、ソフトウェア開発者がクラウド API を使用して PDF ファイルを Word 形式に直接変換 できる強力な PHP SDK を提供します。API 呼び出し回数に制限はありますが、無料で開始 できます。以下は、ソフトウェア開発者が PHP コマンドを使用して PDF ファイルを読み込み、Microsoft Word DOCX ドキュメントに変換する方法を示した簡単な例です。

コード例:

use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);

最後に

PHP を使って PDF ファイルを Word 文書に変換するのは、複雑でも高価でもありません。適切な無料ツールとライブラリを使えば、開発者はシームレスで編集可能なドキュメントのエクスポートをユーザーに提供し、ドキュメントの自動化を促進し、全体的な生産性を向上させることができます。軽量な PHP ラッパーを好む場合でも、堅牢なクラウドベースの API を好む場合でも、ニーズに合ったソリューションが見つかります。

FAQ

Q: 有料 API を使わずに PHP で PDF を Word に変換できますか?

A: はい。Spatie、PHPWord、LibreOffice CLI などのオープンソースライブラリを無料で使用できます。

Q: オープンソースの PDF から Word への変換ツールは、画像や書式設定をサポートしていますか?

A: 基本的なツールではサポートされていませんが、LibreOffice または Gotenberg を使用するとレイアウトと画像が保持されます。

Q: PHP Web アプリで PDF から DOCX への変換を自動化できますか?

A: もちろんです。これらのライブラリは、あらゆる PHP ベースのワークフローに統合できます。

関連項目