PHPでフォーマットPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)
以前、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);
リファレンス
SetFont
http://tcpdf.penlabo.net/method/s/SetFont.html
SetTextColor
http://tcpdf.penlabo.net/method/s/SetTextColor.html
SetXY
関連記事
-
-
PHPにてHTML / 画像ファイルをPDFファイル化する方法(mPDF)
PHPにてHTML / 画像ファイルをPDFファイル化したい。検索してみるもサー ...
-
-
HTML / CSSで作成したコンテンツをPDFファイルで出力する方法(TCPDF)
HTML / CSSで作成したコンテンツをPDFファイルで出力させたい。以前mp ...
-
-
FPDIで「This PDF document probably uses~~」エラーの対処方法
FPIDであるPDFを読み込ませようとすると「This PDF document ...
-
-
PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)
請求書や領収書のテンプレートがあり、そちらに対して動的に文字・数値を追記し出力さ ...
-
-
PHPでパスワード付きのZIP / PDFファイルを作成する方法
PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何 ...