勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)

   2026/07/18  PHP

以前、PHPのTCPDF&FPDIを用いてテンプレートPDFに対し、動的に文字や数値を追記し出力する方法をメモしたが、さらにリンク付きの文字を追記したいケースがあった。また、該当文字は罫線を引いたり文字色を変えたり等の装飾を行い、リンク付きと分かりやすくしたい。以下に対応方法をメモ。

 

事前準備

TCPDF、FPDIの設置やテンプレートPDFの用意に関しては過去記事を参考。

 

やりたいこと

  • リンク付き文字を記述
  • リンク付き文字は罫線あり、文字色を青色に変更
  • リンク付き文字の記述位置を指定

 

実装方法

ソースコード

<?php
include('./tcpdf/tcpdf.php');
include('./fpdi/autoload.php');

do{

    //TCPDFオブジェクト作成
    $pdf = new setasign\Fpdi\Tcpdf\Fpdi();

    //余白無し
    $pdf->SetMargins(0, 0, 0);

    //自動で改ページさせない
    $pdf->SetAutoPageBreak(false, 0);

    //ヘッダーフッター無し
    $pdf->setPrintHeader( false );
    $pdf->setPrintFooter( false );

    //PDF読み込み
    $pdf->setSourceFile('./test.pdf');

    //新ページを作成
    $pdf->AddPage();

    //読み込んだPDFの1ページ目を取得
    $tpl = $pdf->importPage(1);
    $pdf->useTemplate($tpl, null, null, null, null, true);

    //フォント、罫線、フォントサイズ指定
    $pdf->SetFont('arialunicid0', 'U', 12);

    //文字色指定
    $pdf->SetTextColor(0, 0, 255);

    //XY座標を指定
    $pdf->SetXY(140, 85);

    //リンク用URL
    $url = 'https://taitan916.info/blog/';

    //リンク用文言
    $name = '勉強したことのメモ';

    //リンク付き文字を記述
    $pdf->Write( 8, $name, $url, false, 'L', true );

    $pdf->Output("output.pdf", "I");

}while(0);

出力例

こちらがテンプレート用PDFこちらがリンク付き文字を追記したPDFになる。

追記後のPDFは会社名の上にリンク付き文字が確認できる筈。

 

リファレンス

SetFont

http://tcpdf.penlabo.net/method/s/SetFont.html

SetTextColor

http://tcpdf.penlabo.net/method/s/SetTextColor.html

SetXY

http://tcpdf.penlabo.net/method/s/SetXY.html

 - PHP

  関連記事

PDFファイルを直接リンクさせずにPHP経由で表示もしくはダウンロードさせる方法
PDFファイルを直接リンクさせずにPHP経由で表示もしくはダウンロードさせる方法

セキュリティ等の問題によりaタグで直接リンクさせたくない、もしくはドキュメントル ...

PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)
PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)

請求書や領収書のテンプレートがあり、そちらに対して動的に文字・数値を追記し出力さ ...

TCPDF「Could not include font definition」エラーの対処方法
TCPDF「Could not include font definition」エラーの対処方法

TCPDFでフォントを「arialunicid0」に指定したところ「TCPDF ...

FPDIで「This PDF document probably uses~~」エラーの対処方法
FPDIで「This PDF document probably uses~~」エラーの対処方法

FPIDであるPDFを読み込ませようとすると「This PDF document ...

TCPDF&FPDIでテンプレートPDFを使用し、複数ページのPDFを作成する方法
TCPDF&FPDIでテンプレートPDFを使用し、複数ページのPDFを作成する方法

TCPDF&FPDIを用いて請求書PDFを発行するシステムがあった。請求 ...