web-dev-qa-db-ja.com

PHPを使用してWord文書を生成する

PHPおよびCOMコンポーネントなしでdocおよびdocxファイルを生成する方法を知っていますか?私はPHPWordを試してみましたdocxファイルですが、これらはOpenOfficeで開くことができません。クラッシュするためです。PHPDocxも試しましたが、ファイルはまったく生成されませんでした。

16
EL_W

こちらをご覧ください:

http://www.webcheatsheet.com/php/create_Word_Excel_csv_files_with_php.php

記事から最も一般的な方法を引用するには:

HTTPヘッダーの使用

この方法では、Wordに適したCSSを使用してHTML/PHPページをフォーマットし、ヘッダー情報をPHPスクリプトに追加します。すべてが同じファイル。

その結果、ユーザーはファイルをダウンロードするように求められます。このファイルは100%「元の」Word文書ではありませんが、MS Wordアプリケーションで確実に開きます。この方法は、Unix環境とWindows環境の両方で使用できます。

<?php
  header("Content-type: application/vnd.ms-Word");
  header("Content-Disposition: attachment;Filename=document_name.doc");    
  echo "<html>";
  echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
  echo "<body>";
  echo "<b>My first document</b>";
  echo "</body>";
  echo "</html>";
?>
7
SW4

JSでWord文書を生成する:

タグを値に置き換えるシンプルなオープンソースライブラリを作成しました。

たとえば、Hi {name}data={name:"John"}Hi Johnに置き換えられます。

ここにあります: https://github.com/edi9999/docxtemplater

デモ: https://docxtemplater.com/demo

6
edi9999

OpenTBS は、テンプレートの手法を使用して、純粋なPHPでDocxドキュメントを生成できます。

シンプル。

5
Skrol29

ここで述べたように PHPはスタイルとイメージを失うことなくWordファイルをHTMLに変換します

これまでに見つけた最良の解決策は http://www.phplivedocx.org/ です。 Zendフレームワークで使用します。設定が非常に簡単で、実際のWord形式からの逸脱が最小限に抑えられます。それは非常によく(他のフォーマットの中で)htmlから/へのWordドキュメントを生成して変換します。

0
Yavor