質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

1回答

4353閲覧

CakePHPでExcelテンプレートにDB情報を入れてPDF出力

nh1223

総合スコア33

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2015/06/28 13:17

お世話になります。

表題の通り、CakePHP2.6.4にて、
ボタンを押下するとExcelテンプレートにDB情報を入れて
PDF出力という処理を考えているのですが、これは可能でしょうか?

海外のサイトも含め検索結果を読み漁りましたが、
なかなかこういった処理の例やサンプル、プラグインの情報がなく、
また、私にコーディングスキルも無いため、途方にくれております。

すみませんが、
この処理に関して、可能か不可能か、
また可能であるならば、参考となる書籍やURL、サンプルコードなどを
ご教示頂きたく存じます。

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Cakephpの標準仕様では、そのような事は行えません。

PHPExcel等を利用すれば、Excelを読み込む事は可能ではないかと思いますが、Officeの仕様上取込むファイルのバージョンが固定化されてしまうかもしれません。
また、Excelは読み込めたとしても、ExcelのフォーマットがPDFに移行できるかは不明です。
恐らくですが、ExcelとPDFでは物が異なるので、恐らく出来ないのではないでしょうか?

また、PDF出力に関してもPHPではあまり良い物がないように思えます。
以前、クライアントにPDFファイルでデータをダウンロードできるように依頼を受けましたが、最終的にはファイルではなく印刷ページを表示しブラウザの機能(印刷機能)等でPDF変換する方法を選択しています。

投稿2015/06/28 13:31

編集2015/06/28 13:32
takayukiinaba

総合スコア1158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nh1223

2015/06/28 13:36

ご回答ありがとうございます。 PHPExcelについては私も調べてみたのですが、どうやらxls形式となってしまうようで、断念致しました。 >>ファイルではなく印刷ページを表示しブラウザの機能(印刷機能)等でPDF変換する この方法について、詳しくお聞かせ頂くことは可能でしょうか? すみませんがよろしくお願いいたします。
takayukiinaba

2015/06/28 13:54

単純に、HTMLで作成した印刷ページを表示して、ブラウザの印刷機能でPDFとして保存する方法です。 FirefoxやChromeでは、標準装備されている機能ですよ。
orange0190

2015/06/29 03:35

横から突然のコメント失礼ます。 一応、PHPExcelでPDFを出力することは可能です。 ただ、見た目がかなり残念なものとなってしまいます。 私も、PDFファイルでデータをダウンロードできるようしたことがありましたが、その時はPHP利用でTCPDFというライブラリを用いました。 その他にFPDFといったライブラリをよく聞きます。こちらもPHPです。
takayukiinaba

2015/06/29 04:03

ShunsukeIzuiさんがおっしゃる通り、FPDFもありますね。 ただし以前検証を行った際に、HTML構成での出力が出来ずこちらも残念な結果になったのを記憶しております。
nh1223

2015/07/02 03:36

takayukiinaba様 ご回答ありがとうございます。 HTMLで作成したということは、Excelを使わない、という認識で良いでしょうか? そのような方法があるのですね。勉強になります。 一度試してみます! この方法の注意点などはありますが?
nh1223

2015/07/02 03:38

ShunsukeIzui様 ご回答ありがとうございます。 TCPDFというライブラリについてはどうでしょうか? こちらも、残念なものとなってしまいますか? 現在ダウンロードして使用しようと試行錯誤をしておりますが、なかなか実装に至らずです・・・。
takayukiinaba

2015/07/02 04:12

> HTMLで作成したということは、Excelを使わない、という認識で良いでしょうか? その認識です。 FPDFでHTMLベースの印刷テンプレートを作成しPDFにしようとしたのですが、FPDFがCSSを認識していないみたいで、印刷イメージがぐちゃぐちゃになりました。 なので、単純に印刷専用ページを作成して、各プラウザのPDF変換機能でPDF変換して頂いております。 ただし、ブラウザの仕様上サイズが若干ずれるので注意が必要かもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問