ユーザーが送信したデータを含むMySQLテーブルがあります。
管理者がボタンをクリックして、すべてのユーザーデータを整理されたリッチテキスト形式またはPDFファイル(ページごとに1人のユーザー)にダウンロードできるようにしたいと思います。
どうすればよいですか?
リッチテキスト形式(rtf)とpdfの間では、RTFに傾倒することをお勧めします。
理由:編集可能です。MS Word(または他の多くのエディター)で開くだけで、クライアントはヘッダーやフッターを追加したり、データの一部を強調したり、長いドキュメントに簡単にコピーしたりできます。
私はRTFでクライアント向けに「言葉の多い」レポートを生成しますが、クライアントはそれが素晴らしいと考えています。
PDFは印刷用に設計されています。限目。したがって、PDFドキュメントを再利用することは可能ですが、RTFドキュメントから再利用する方が常に簡単です。
利用可能なPHPライブラリがいくつかあります。または、自分でゼロから生成することもできます。例と例。
ソフトウェアに加えて、SeanBurkeによるガイドをお勧めします。
私はこれが答えられていることを知っていますが、最近この問題に直面しました。いくつかの質問がありますが、サードパーティのライブラリや他のソフトウェアを含まない答えはありません-これが私の解決策です。
MS Word、メモ帳、Macのテキストエディットなどのテキストエディタを使用してテンプレートRTFドキュメントを作成し、PHPのstr_replace()関数を使用して必要なコンテンツをドロップするだけです。
例:
//load the rtf template as a string
$rtf = file_get_contents('mytemplate.rtf');
//replace placeholder text with content from database
$rtf = str_replace('content', 'here is my rtf content!', $rtf);
//and now serve the file as an rtf download:
Header("Content-type: application/rtf");
Header("Content-Disposition: attachment;filename=rtf.rtf");
echo $rtf;
exit();
同じ種類の手法をPDFに使用できるかどうかはわかりませんが、これまでは、特に文書化が不十分なPHP / RTFコンバータークラスを使用しようとしたり、インストールが可能なソリューションを検討したりするときに、多くの問題を回避できました。サーバー上のソフトウェアまたはシェルからコマンドを実行します。
私も以前にPHPRTFLiteを使用しましたが、単純なタスクを実行するには複雑すぎて、あまりにも漠然と文書化されているため、あまり役に立ちません。
PHPExcelライブラリは注目に値し、さまざまな形式もサポートしています
PDFファイルを生成するには、tcpdfを試してみてください。