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

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

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

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

PHP

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

Q&A

解決済

1回答

1086閲覧

TCPDFで画像が埋め込まれない

TakuHosoya

総合スコア33

PDF

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

PHP

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

0グッド

0クリップ

投稿2023/09/22 06:17

TCPDFとFPDIを利用して、既存のPDF(テンプレート)に画像を埋め込みたいのですが、上手く行かず、エラーも出ず、困っています。

どなたか解決策がお分かりの方、よろしくお願いします。

実現したいこと

PDFに画像を埋め込んで出力したい

前提

TCPDFとFPDIを利用

発生している問題・エラーメッセージ

エラーメッセージなどは表示されず、画像が表示されていない状態です。
文字の描画は正常に動作しています。

該当のソースコード

(抜粋)

test.php

1require_once('lib/TCPDF/tcpdf.php'); 2require_once('lib/TCPDF/FPDI/src/autoload.php'); 3$output_file_name = 'test.pdf'; 4 5$pdf = new \setasign\Fpdi\Tcpdf\Fpdi('L', 'mm', 'A4',true,'UTF-8',false,false); 6$pdf->setPrintHeader( false ); 7$pdf->setPrintFooter( false ); 8$pdf->SetFont('kozgopromedium','B',10); 9$pdf->SetTextColor(0, 0, 0); 10$pdf->SetDrawColor(0, 0, 0); 11$pdf->SetLineWidth(0.8); 12 13$pdf->setSourceFile('pdf/template.pdf'); 14 15$pdf->AddPage(); 16$tpl = $pdf->importPage(1); 17$pdf->useTemplate($tpl); 18 19$pdf->Text(10, 10, 'hoge',false,false,true,0,0,'L');//テキストは正常に表示される 20$pdf->Image('img/yajirushi.png', 100, 100, 0,0,'PNG');//画像が表示されない 21 22$pdf->Output();

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

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

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

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

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

FKM

2023/10/10 01:34

php_gdがインストールされているか確認してみてください。
TakuHosoya

2023/10/12 04:18

phpinfo()で確認すると、GD Supportがenableとなっているため、問題なく使用可能な状態かと思われます。
FKM

2023/10/12 04:43

outputに引数を入れるとどうでしょうか。何も引数を入れていない場合、文字列に対してechoで吐いているだけの可能性があります。 このページのOutput https://comcent.co.jp/blog/archives/581/
TakuHosoya

2023/10/12 04:55

画像のパスをフルパスでしていしなければならないということが原因だった様です。 コメント頂いたおかげで、改めて様々な情報を調べ、解決にたどり着くことができました。 ありがとうございました。
guest

回答1

0

自己解決

フルパスでないと表示されない、という情報を発見し、フルパスにしたところ、正常に表示されました。
(参考)https://qiita.com/megponfire/items/4ac6f4c835738e88be94

$pdf->Image('img/yajirushi.png', 100, 100, 0,0,'PNG')

$pdf->Image(__DIR__.'/img/yajirushi.png', 100, 100, 0,0,'PNG')

投稿2023/10/12 04:54

TakuHosoya

総合スコア33

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.40%

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

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

質問する

関連した質問