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

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

ただいまの
回答率

90.50%

  • PHP

    20359questions

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

  • JavaScript

    16436questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • MySQL

    5856questions

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

  • PDF

    251questions

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

Web上で動的にPDFを生成するシステムの作り方

解決済

回答 5

投稿

  • 評価
  • クリップ 0
  • VIEW 657

takuya108817

score 2

ご覧いただきありがとうございます。たまに質問させてもらっております。

 背景

知人から「Web上で選択した複数の製品画像を、結合してPDFの図面として出力できないか?」と相談を受けました。しかしネットで調べてもPDF結合・出力の技術やコードの情報が出てきません。PHPやJavaScriptを使用するのかなと思うのですが。。

 概要

例えばWeb上でプルダウンなどで4個ほどの製品を選択して、「出力」ボタンを押すと、それらに対応した画像、名称、仕様などが、あらかじめ用意した箇所に挿入され、それをPDFなどで出力できるシステムの開発を考えております。

製品の画像がそれぞれ違い、4つの製品を組み立てた完成図を出力したいとのこと。

また用意しておく画像や製品情報を、WordPressのような管理画面で管理できるのがベストです。
・ログインすれば登録製品の編集・削除ができる
・出力自体はWeb上で誰でも利用できる形

 懸念点

HTML/CSS、WordPress、PHPを多少と、Swiftの知見があるのですが、PDFの作成・出力の技術がイメージできずです。

 知りたいこと

①どのような技術が必要なのでしょうか?(言語、DB、WordPressで管理可能か等)
②費用と工数的にどのくらいかかるものなのか?
③個人で請け負うには規模が大きいレベルでしょうか?
④またセキュリティ的にVPNなどの技術が必要でしょうか?(できれば避けたく)

知見のある方、もしよければご教授いただけますと幸いにございます。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 5

+2

①どのような技術が必要なのでしょうか?(言語、DB、WordPressで管理可能か等)

PHP + TCPDFとかライブラリを使用する。

②費用と工数的にどのくらいかかるものなのか?

質問の内容からは算出不能。

③個人で請け負うには規模が大きいレベルでしょうか?

個人でも、相応の時間があれば可能。

④またセキュリティ的にVPNなどの技術が必要でしょうか?(できれば避けたく)

WordPressおよび本件とは無関係な事柄と思います。そうせざるを得ないこともあるかもしれませんが、質問文の内容からは判断できません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+1

先の回答にもありますが、PHP + TCPDFが良いと思います。

https://tcpdf.org/examples/

製品や画像がデータ化されているなら動的出力も可能と思います。自分はTCPDFを用いて、Smarty + CSSと組み合わせて、社ロゴと印影画像 + Table表組みで請求明細を出力したことがあります。ExcelやWordに引けを取らない出来栄えでした。

WordPressにそのようなプラグインがあるかは、すみません、わかりません。

内容にもよりますが、単に並べるだけ、というわけではないでしょうから、顧客に満足してもらう出来栄えまでに、慣れていても2日は掛かると思います。

なので、全然個人で請け負えるのではと思います。

VPNは関係ないと思います。

参考になれば幸いです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/04 00:24

    素早い回答、多彩なライブラリの提案、皆様ありがとうございました。
    一通り見て見ましたが、やはりPHP + TCPDFが良さそうなので、詳細や具体例を挙げていただいたSaintKnowledge様をベストアンサーとさせて頂きました。

    改めてエンジニアの知識共有や助け合いの素晴らしさを実感しました。自分もよりIT界に貢献できるエンジニアになっていきたいと思います。ありがとうございました!

    キャンセル

+1

  • 使いやすいツールとして「wkhtmltopdf」というツールがあります。このツールで、HTMLとして作成したものを(もちろん画像をいれてCSSによるスタイル調整もできます。)PDFとして作成し、ダウンロードさせることも可能です。

  •  まずは、サーバー側に上記をインストールする必要があります。その上で、phpからこのツールを利用するには、このようなライブラリがあるようです: https://github.com/mikehaertl/phpwkhtmltopdf

  •  ミドルウェアのセットアップに慣れていれば時間はそんなに必要ありませんが(自分なら、一通り実装に5時間ほど?)その辺りで詰まるとかなり時間を要するかもしれませんね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

クライアントサイドでPDF作成するjavascriptライブラリーが有ります。
pdfmake

どんな感じかは以下でお試し。
playground
図の上に文字を埋め込むとか・・・出来るのかなぁ?

日本語を扱ったりするためのノウハウは以下を見るといいです。
http://kougeisya.biz/programming/385/
https://www.tam-tam.co.jp/tipsnote/javascript/post11710.html

あと、html2canvasなるライブラリーが有ります。
canvasに文字や画像を貼り付けてhtml2canvasで画像にして、画像としてPDF作成する手も有ります…が、文字情報は失われるので使い勝手は良くないと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

 頂いた情報まとめ

●PHP + TCPDF https://tcpdf.org/examples/
製品や画像がデータ化されているなら動的出力も可能と思われ。
例)TCPDF +Smarty + CSSと組み合わせて、社ロゴと印影画像 + Table表組みで請求明細を出力など。

参考: https://qiita.com/emegane/items/486975a79ebb267c2b8e
GitHub: https://github.com/tecnickcom/tcpdf
Smartyとは: https://web-camp.io/magazine/archives/4940

●pdfmake(JavaScript) http://pdfmake.org/#/gettingstarted
クライアントサイドでPDF作成するjavascriptライブラリー
http://pdfmake.org/playground.html
http://kougeisya.biz/programming/385/
https://www.tam-tam.co.jp/tipsnote/javascript/post11710.html

●wkhtmltopdf https://wkhtmltopdf.org/
HTMLとして作成したものをPDFとして作成し、ダウンロードさせることも可能。
①サーバー側に上記をインストールする必要があります。
②phpからこのツールを利用するためにphpwkhtmltopdfを使用
https://github.com/mikehaertl/phpwkhtmltopdf
※ミドルウェアのセットアップに最低5h~
これも良さそうですね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/04 00:43

    > TCPDF +Smarty + CSSと組み合わせ
    とありますが、PDF出力のためにSmartyを利用というのはなくはないが、メリットもないと思います。

    キャンセル

  • 2018/07/04 00:46

    早速反応ありがとうございます。
    Smarty使わず、PHPとTCPDFだけで完結できそうな感じですか?

    キャンセル

  • 2018/07/04 00:51 編集

    SmartyとはHTMLをテンプレート化するものであってPDFに無関係です。回答者はシステム全体の構成要件としてあげたのかもしれませんが、PDF出力機能にSmartyを使っているとは考えにくいです。

    HTML→PDFに変換するならTCPDFより、mPDFの方がより使いやすいと言われています。

    キャンセル

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    20359questions

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

  • JavaScript

    16436questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • MySQL

    5856questions

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

  • PDF

    251questions

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