2) PHP PDF 읽기/쓰기 샘플
설치 방법은 아래 링크를 참고하세요
쓰기의 좌표에 대한 부분은 본인이 인쇄해서 확인하거나 하는 방법 등이 있습니다.
몇번의 시행 착오를 거처야 할듯 합니다.
fpdf 최신버전으로 테스트 되었습니다.
그리고 설치할때도 언급을 하였지만 pdf는 1.4 까지만 지원합니다.
#!/opt/remi/php74/root/bin/php
<?php
set_time_limit(0);
ini_set("display_errors", 1);
ini_set('memory_limit','2048M');
setlocale(LC_CTYPE, 'ko_KR.utf8');
date_default_timezone_set('Asia/Seoul');
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
$HOST_NAME = ($_ENV['HOSTNAME']) ? $_ENV['HOSTNAME']:php_uname('n');
#
$MODE = $argv[1];
// use \setasign\Fpdi\FpdfTpl;
use setasign\Fpdi\Fpdi;
use setasign\Fpdi\PdfReader;
require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');
$pdf = new Fpdi();
$pdf->AddPage();
#
$pageCount = $pdf->setSourceFile('./test_14.pdf');
$pageId = $pdf->importPage(1); // 없은 페이지 지정하면 오류 발생
$pdf->useTemplate($pageId, 0, 0);
#
$pageWidth = $pdf->GetPageWidth();
$pageHeight = $pdf->GetPageHeight();
echo 'pages: ' . $pageCount . "\n";
echo 'width:' . $pageWidth . ' / height:' . $pageHeight . "\n";
# https://stackoverflow.com/questions/25104651/adding-signature-or-images-into-pdf-using-php-and-fpdf
# [PIXELS] * [MM_IN_INCH] / [DPI]
# MM_IN_INCH = 25.4
#
$MM_IN_INCH = 25.4;
$DPI = 72;
$xPos = 111 * $MM_IN_INCH / $DPI;
$yPos = 222 * $MM_IN_INCH / $DPI;
echo '가로:' . $xPos . ' / 세로:' . $yPos . "\n";
$pdf->SetFont('Arial','B',8);
//$pdf->SetX($xPos);
//$pdf->SetY($yPos);
$pdf->SetXY($xPos, $yPos);
$pdf->Write(0,'XY');
$pdf->Output('F', './test_result.pdf');
fpdf 사용해보신 분이시면 아시겠지만 쓰기 부분을 보면 fpdf 클래스 입니다.
▲ 유튜브 링크는 미리 만들어진 세금계산서 양식에 필요한 데이터를 넣는 예제 입니다.
관련링크
