テンプレートベースの DOCX ファイルを作成・管理する無料 PHP ライブラリ

業界をリードするオープンソース PHP ライブラリで、テンプレートから Microsoft Word(DOCX)文書を作成、読み取り、変更、操作できます。テーブルを追加し、テキストや画像を挿入し、無料の PHP API でフォーマットを適用します

MDword とは何ですか?

Microsoft Word ドキュメントの作成や管理を目指す PHP 開発者にとって、MDword は軽量かつ効率的な PHP DOCX REST API の代替として際立っています。オープンソースの PHP DOCX API として、MDword はテンプレートベースの DOCX ファイルを作成し、コンテンツを変更し、リッチなドキュメント機能を構築できるようにします—Microsoft Office や重い依存関係に頼ることなく。この無料のワードプロセッシングライブラリは、テーブルの挿入・管理、フォーマットされたテキストの追加、画像の取り扱い、複数の Word ファイルの統合をサポートします。そのミニマリストで高性能なアプローチは、PHP アプリ内でテンプレート、ユーザーデータ、またはデータベースコンテンツからリアルタイムにドキュメントを生成するのに最適です。

シンプルさとパフォーマンスを重視して設計された MDword は、自動化されたドキュメントワークフローを構築するための多用途な PHP ワードプロセッシングライブラリです。開発者は PHP 経由で簡単に DOCX にテーブルを追加し、段落を操作し、LibreOffice や COM などの外部ツールを使用せずに Word ドキュメントを変換できます。請求書、契約書、レポートの作成など、何を生成する場合でも、MDword はネイティブ PHP で堅牢な DOCX の取り扱いを提供します。ほとんどの環境で即座に互換性があり、ライセンス費用もかからないため、開発を軽量かつコスト効果的に保ちつつ、動的なウェブアプリケーションで Word ドキュメントを管理する優れた選択肢です。

Previous Next

MDword の使い方

プロジェクトに MDword を導入する推奨方法は Composer を使用することです。スムーズなインストールのために以下のコマンドをご利用ください。

Composer で MDword をインストール

composer require mkdreams/mdword  

GitHub で MDword をインストール

git clone https://github.com/mkdreams/MDword.git 

PHP を使用したテンプレートベースの Word ドキュメント生成

MDword の根幹は、開発者がゼロから新しい Word ドキュメントを作成できることです。開発者は新しいドキュメントオブジェクトを初期化し、そこにコンテンツを追加し始めます。ライブラリがサポートしていれば基本的なドキュメントプロパティを設定できます(高度なプロパティ操作は異なる場合があります)。MDword はユーザーがプレースホルダー付きの Word テンプレートを作成し、実際のデータに動的に置き換えることを可能にします。テキスト、テーブル、画像、チャート、その他の Word 要素をサポートしています。以下の例は、開発者が PHP アプリケーション内で基本的な Word ドキュメントを生成する方法を示しています。

PHP ライブラリでテンプレートベースの Word(.docx)ドキュメントを作成する方法は?

require_once 'vendor/autoload.php';

use MDword\WordProcessor;

// Load a template
$template = new WordProcessor();
$template->load('template.docx');

// Replace placeholders
$template->setValue('{{NAME}}', 'John Doe');
$template->setValue('{{DATE}}', date('Y-m-d'));

// Save the modified document
$template->save('output.docx');

PHP での Word テキスト追加とフォーマット

テキストを Word ドキュメントに追加しフォーマットすることは基本的な要件であり、MDword は PHP アプリケーション内でテキストを挿入し、さまざまなフォーマットオプションを適用する機能を提供します。開発者は段落やテキストランを追加し、太字、斜体、下線、フォントサイズ、フォントファミリー、色などのスタイルを適用できます。これにより、生成されたドキュメントにリッチテキストコンテンツを含めることができます。以下の PHP コードは、開発者が Word ドキュメントにテキストを挿入し、PHP ライブラリを介してフォーマットを適用する方法を示しています。

PHP ライブラリで Word ドキュメントにテキストを挿入し、フォーマットを適用する方法は?

require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\TextRun;
use Mkdreams\MDword\Elements\Paragraph;

$mdword = new MDword();
$section = $mdword->createSection(); // Sections are often containers for content

// Add a simple paragraph
$paragraph1 = new Paragraph();
$paragraph1->addText('This is a simple paragraph.');
$section->addElement($paragraph1);

// Add a paragraph with formatted text
$paragraph2 = new Paragraph();
$textRun1 = new TextRun();
$textRun1->setText('This text is ');
$paragraph2->addElement($textRun1);

$textRun2 = new TextRun();
$textRun2->setText('bold and red.');
$textRun2->setFontStyle(['bold' => true, 'color' => 'FF0000']); // Color as hex
$paragraph2->addElement($textRun2);
$section->addElement($paragraph2);

// Add text with specific font and size
$paragraph3 = new Paragraph();
$textRun3 = new TextRun();
$textRun3->setText('This is Arial, size 16.');
$textRun3->setFontStyle(['name' => 'Arial', 'size' => 16]);
$paragraph3->addElement($textRun3);
$section->addElement($paragraph3);

$mdword->save('FormattedTextDocument.docx');
echo "Formatted document created.";

PHP で Word ファイルにテーブルを追加・管理

テーブルは構造化データを提示する上で不可欠です。オープンソースの MDword ライブラリは、テーブルの作成、行やセルの追加、コンテンツの配置といった仕組みを提供します。開発者はテーブル構造を定義し、セルの内容(テキストや場合によっては他の要素)を設定し、数行のコードで境界線やセルのシェーディングに基本的なスタイルを適用できることがあります。以下は、PHP ライブラリを使用して Word .docx ドキュメント内でテーブルを作成・管理する方法を示すシンプルな例です。

PHP ライブラリで Word DOCX ドキュメント内にテーブルを作成・管理する方法は?

require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\Table;
use Mkdreams\MDword\Elements\Row;
use Mkdreams\MDword\Elements\Cell;
use Mkdreams\MDword\Elements\TextRun;

$mdword = new MDword();
$section = $mdword->createSection();

// Create a table
$table = new Table();
// Potentially add table-level styling, e.g., borders
// $table->setStyle(['borderSize' => 6, 'borderColor' => '000000']);

// Add a header row
$headerRow = new Row();
$cellH1 = new Cell();
$cellH1->addTextRun(new TextRun('Header 1', ['bold' => true]));
$headerRow->addCell($cellH1);

$cellH2 = new Cell();
$cellH2->addTextRun(new TextRun('Header 2', ['bold' => true]));
$headerRow->addCell($cellH2);
$table->addRow($headerRow);

// Add a data row
$dataRow1 = new Row();
$cellR1C1 = new Cell();
$cellR1C1->addTextRun(new TextRun('Data A1'));
$dataRow1->addCell($cellR1C1);

$cellR1C2 = new Cell();
$cellR1C2->addTextRun(new TextRun('Data B1'));
$dataRow1->addCell($cellR1C2);
$table->addRow($dataRow1);

$section->addElement($table);
$mdword->save('DocumentWithTable.docx');
echo "Document with table created.";

 日本