PHPWord

 
 

Microsoft® Word ドキュメント用のオープン ソース PHP ライブラリ

PHP API を使用して、MS Word DOC、DOCX、ODT、RTF、HTML ファイルを読み取り、書き込み、処理し、PDF 形式に変換します。

PHPワードとは?

PHPWord は、さまざまなドキュメント ファイル形式と対話できる PHP アプリケーションの開発を支援するクラスで構成されるオープン ソース ライブラリです。 PHPWord は LGPL バージョン 3 の下でライセンスされており、ドキュメントの設定、スタイル、テンプレート、およびその他のさまざまな要素を操作できます。

Previous Next

PHPWord 入門

PHPWord を使用して Word 文書を作成するには、オペレーティング システムに次のリソースがインストールされている必要があります。

  • PHP バージョン 5.3.3+
  • 作曲
  • XML パーサー拡張機能 (この拡張機能はデフォルトで有効になっています)
  • Zend Escaper Component Install it using composer require zendframework/zend-escaper
  • Zend Escaper コンポーネント composer require zendframework/zend-escaper を使用してインストールします

PHPWord を使用して Word 文書を作成する

PHPWord を使用すると、開発者は新しい Word ドキュメント (DOCX) をゼロから作成できます。新しい段落、タイトル、テキスト、画像、ハイパーリンク、グラフなどを追加できます。 Word ドキュメントの作成は簡単です。PhpWord() メソッドを使用して新しいドキュメントを作成する必要があります。

PHP で Word を作成する

  1. PhpWord を使用して Word 文書を作成する
  2. ドキュメントにセクションを追加
  3. セクションにテキストを追加
  4. ドキュメントを保存

Word 文書の作成 - PHP

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Text element to the Section
$section->addText(
  'File Format Developer Guide - '
  . 'Learn about computer files that you come across in '
  . 'your daily work at: www.fileformat.com'
);
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('HelloWorld.docx');
  

ドキュメント設定を簡単に構成

ドキュメントの各種設定を行うことができます。ドキュメントのデフォルトの倍率は 100% ですが、他の値に変更できます。両面ドキュメントの場合。雑誌の場合、ページの余白をミラーリングして見開きページを設定できます。文法またはスペルミスの自動チェックオプションのステータスを微調整できます。

ドキュメントのリビジョンを追跡する機能も利用できます。 PHPWord は、ラテン語、東アジア言語、複雑な (双方向) 言語で動作するように構成できます。ドキュメントまたはその一部をパスワードで保護できます。

PHPWord でドキュメント用に構成できる機能は他にもたくさんあります。その中には、ドキュメント情報、測定単位、ハイフネーション、ドキュメントを開くたびにドキュメント フィールドを自動的に再計算する機能などがあります。

DOCX プロパティの設定 - PHP

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Set document properties
$properties = $phpWord->getDocInfo();
$properties->setCreator('Ali Ahmed');
$properties->setCompany('File Format');
$properties->setTitle('PHPWord');
$properties->setDescription('File Format Developer Guide');
$properties->setCategory('My category');
$properties->setLastModifiedBy('My name');
$properties->setCreated(mktime(0, 0, 0, 3, 12, 2019));
$properties->setModified(mktime(0, 0, 0, 3, 14, 2019));
$properties->setSubject('PHPWord');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('DocumentProperties.docx');
  

ドキュメント要素を整理するコンテナ

PHPWord には、ドキュメントのさまざまな要素 (テーブル、テキストなど) を保持するコンテナーと呼ばれるオブジェクトがあります。 3 つのプライマリ コンテナがあります。セクション、ヘッダー、およびフッター。また、コンテナーとして機能できる要素が 3 つあります。テクスチャ、表のセル、および脚注。

ドキュメントのすべての可視要素は、セクション内に配置する必要があります。ページ番号、行番号の割り当て、段組みへのレイアウトの変更、ヘッダー/フッターの作成ができます。

ヘッダー コンテナを追加

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Header
$header = $section->addHeader();
$header->addImage('word-processing-image.png');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('Container.docx');

PHPWord API を介して Word 文書を保護する

機密情報を含む重要なドキュメントを保護または保護することは常に賢明です。オープンソースの PHPWord ライブラリを使用すると、ソフトウェア開発者は、PHP アプリケーション内で一意のパスワードを提供することにより、Word ドキュメントを保護できます。保護はセーフガードとして機能し、Word 文書への不正アクセスや変更を防ぎます。

 日本