- 締切済み
PHPからPDF書き出し
お世話になります。 PHPのメールフォームで入力・選択した情報(テキストやプルダウンメニューや画像のパス)を基に最終的に印刷用のPDF書き出しを行うことは可能でしょうか? イメージとしては、テンプレートと画像は高解像度のものをサーバーに置いておき、選択された情報を読み込んでサーバー内の高解像度の画像やテンプレートに置換えて書き出しを行うようなものといったとこですが、実現可能でしょうか? ざっくりとしすぎててすみませんが、今の私の中でのイメージはこんな感じとしかいえません。 どなたかご教授をお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- sanzero
- ベストアンサー率56% (58/102)
メールで添付できるかどうかはPDFの容量によりますよね。上限5MBがいいところではと思います。 添付しないんだったらサーバ上にあるPDFのリンクをメールに貼ったらいかがでしょうか。
- superside0
- ベストアンサー率64% (461/711)
テンプレートが HTMLなのか、PDFなのかでアプローチが異なると思いますが、 テンプレート(下書き)となるPDFファイルがあって、それをサーバー上に用意しておいて ユーザーがフォームで入力したデータ(テキストや画像)をその上に重ねたいということなら PHP上から、 TCPDF(またはFPDF) +FPDI ライブラリを 使うのがよいのではないでしょうか? FPDIでサーバー上の既存のPDFファイルを読み込んで それをテンプレートにして、TCPDFでテキストや画像を差し込みする形です。 #TCPDFで、PDFにテキストや画像や罫線を入れる方法は、別途 調べてみて下さい
- sanzero
- ベストアンサー率56% (58/102)
ユーザの処理の流れを書いてみていただけますか? 1.フォームでテキストやプルダウンメニューや画像を選択する 2.送信する 3.メールを受け取る 4.現状は画像リンクが記載されている 4’.PDFを添付する?PDFのリンクを張る? ※私が言っているのは「PDF作成用にHTMLを作る」ということです。 ※どこに画像を配置するとかページタイトルを入れるとかをHTMLとCSSでやって ※それをPDFに変換するということです。
- sanzero
- ベストアンサー率56% (58/102)
印刷用のHTML(PHP)を作成してそのURLに対してPDF書き出しを行うイメージです。 wkhtmltopdfがHTML、CSSをうまく解釈してくれるのでお勧めです。 http://tech.basicinc.jp/Linux/2014/05/04/html_to_pdf_convert/
補足
ありがとうございます。 ですが、私の説明不足ですみません。 求めてるものは、HTML表示をPDFに変換するわけではありません。 例えば、A4サイズ縦長のもので、レイアウトは「写真1点」(上半分)と「2個の画像」(下半分:これはテンプレを仕様)が入るものが、 全部で7ページあるもののPDFを書き出したいのです。 現状だとメールフォームで選択された情報が、以下のとおりメールで送信されます。 ・サイズ:A4サイズ ・1ページ目:http://~~~/A.jpg ・2ページ目:http://~~~/B.jpg ・3ページ目:http://~~~/C.jpg ・4ページ目:http://~~~/D.jpg ・5ページ目:http://~~~/E.jpg ・6ページ目:http://~~~/F.jpg ・7ページ目:http://~~~/G.jpg これを印刷用のテンプレートにあてはめてPDFを書き出し出来ればベストなのですが、 イメージが伝わりますでしょうか? 大変恐縮ですが、よろしくお願いします。
- t_ohta
- ベストアンサー率38% (5241/13712)
PHPでPDFファイルを書き出すことは可能です。 TCPDFなどのライブラリーを使用してPDFを生成します。
補足
解釈の仕方が違ってしまいすみません。 「※私が言っているのは「PDF作成用にHTMLを作る」ということです。 ※どこに画像を配置するとかページタイトルを入れるとかをHTMLとCSSでやって ※それをPDFに変換するということです。」 ↑↑↑上記了解しました。 流れとしては、 1.フォームでテキストやプルダウンメニューや画像を選択する 2.送信する 3.メールを受け取る(現状は画像リンクが記載されている) 4.印刷用のPDFを書き出す(これは3) 印刷用のPDFはデータ量にもよりますが、 メールで受け取るのは厳しいかもしれないので、サーバーに書きだされたものをFTPで受け取る流れでしょうか? よろしくお願いいたします。