Mustache テンプレート言語に基づく、Laravel 10.x の Docx テンプレート操作クラス。このクラスはまだ開発中ですが、現時点では概念実証のようなものです。状況はすぐに変化し、物事が壊れる可能性があります。
このパッケージは、mustache 構文を含む docx ファイルをテンプレートとして使用し、豊富なスタイルのドキュメントを任意のデータ ソースからの情報とマージするのに役立ちます。テキストと画像を置き換えることができ、基本的な HTML スタイル (太字、斜体、下線) をサポートします。
composer require wrklst/ docxmustache
構成と使用法については、以下の依存関係とサンプルフォルダーを確認してください。
現在の HTML 変換は基本的なもので、太字、斜体、下線付きのテキストの単一の実行のみをサポートしており、これらの組み合わせはサポートしていません。 HTML 以外のすべての値をhtmlspecialchars($value, ENT_COMPAT, 'UTF-8');
接頭辞*[[DONOTESCAPE]]*
を付けると、openXML に変換される前に HTML がエスケープされないことがクラスに認識されます。
画像は、サポートされている形式の画像を含む到達可能な URL である必要があります。 URL 値は、画像の代替テキストの説明フィールドに配置する必要があります。画像は、プレースホルダー画像の制約に従ってリサンプリングされます。 Image 値は、 [IMG-REPLACE]http://placehold.it/350x150[/IMG-REPLACE]
のような擬似タグを使用してフォーマットする必要があります。
このクラスの使用方法の基本を理解するには、サンプル フォルダー内のサンプルもチェックしてください。
PDF に変換するには、 libreoffice-common
(変換に使用) がサーバーにインストールされている必要があります。 ubuntu/debian ベースのサーバーでsudo apt install libreoffice-common
を使用します。 docx ドキュメントを PDF に変換するときに Arial フォントのサポートが必要な場合は、ttf-mscorefonts もインストールしますsudo apt-get install ttf-mscorefonts-installer
このパッケージは、いくつかの Laravel 固有の関数に依存しています。他のフレームワークに簡単に移植したり、フレームワークに依存しないように移植したりできます。 Laravel の依存関係に加えて、このページでは次のパッケージが使用されます。
Laravel 固有の依存関係 (Laravel 以外の環境に移植される場合にのみ関連):
このパッケージに何か貢献したい場合は、お気軽にプルリクエストと対応する問題を作成してください。喜んでレビューし、議論します。
Word ドキュメントの作成や内容の変更を支援するクラスがいくつかあり、商用ライセンスのあるものと無料のものがあります。私たちの特定の目的のために、多くのライブラリが備えている機能のほとんどは必要ありませんでした。値と画像を置き換え、簡単かつ直接的な方法でデータを横断できるシンプルなソリューションが必要でした。
他のライブラリの多くは、既存のテンプレート構文を使用する代わりに、クローン作成を使用して、カスタム テンプレート構文を使用してブロックを繰り返します。必要なだけ多くの次元で繰り返しコンテンツを実現するために、通常の口ひげ構文も使用します。
openXML Word ドキュメントを操作するためのその他の PHP クラス: