Skip to content

바코드

바코드 모듈(BarcodeGenerator, BarcodeRenderer)은 1D 및 2D 바코드를 PDF에 직접 렌더링합니다. 바코드 유형은 BarcodeTypeBarcode2DType 열거형으로 정의됩니다. 모든 메서드는 static을 반환하므로 모든 호출을 체이닝할 수 있습니다.

기본 예제

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Product Barcodes', newLine: true)

    // 1D: EAN-13
    ->write1DBarcode('4006381333931', 'EAN13', 10, 30, 80, 30, 0.4, [
        'border' => false,
        'text'   => true,
        'fgcolor' => [0, 0, 0],
    ])

    // 1D: Code 128
    ->write1DBarcode('TCPDF-NEXT', 'C128', 10, 70, 80, 20, 0.4)

    // 2D: QR Code
    ->write2DBarcode('https://tcpdf-next.dev', 'QRCODE,H', 10, 100, 50, 50, [
        'fgcolor' => [0, 0, 0],
        'bgcolor' => [255, 255, 255],
    ])

    // 2D: DataMatrix
    ->write2DBarcode('Hello DataMatrix', 'DATAMATRIX', 70, 100, 40, 40);

1D 바코드

php
$pdf->write1DBarcode(
    string $code,           // 인코딩할 데이터
    string $type,           // 바코드 유형 문자열
    float  $x,              // X 위치
    float  $y,              // Y 위치
    float  $w,              // 너비
    float  $h,              // 높이
    float  $xres = 0.4,    // 사용자 단위에서 가장 얇은 바의 너비
    array  $style = [],     // 스타일 옵션
);

지원되는 1D 유형 (BarcodeType)

유형 문자열열거형 값설명
C39CODE_39Code 39
C93CODE_93Code 93
C128CODE_128Code 128 (자동 모드)
C128ACODE_128ACode 128 Subset A
C128BCODE_128BCode 128 Subset B
C128CCODE_128CCode 128 Subset C
EAN8EAN_8EAN-8
EAN13EAN_13EAN-13
UPCAUPC_AUPC-A
UPCEUPC_EUPC-E
I25I25Interleaved 2 of 5
S25S25Standard 2 of 5
CODABARCODABARCodabar
CODE11CODE_11Code 11
MSIMSIMSI Plessey
POSTNETPOSTNETPOSTNET (미국 우편)
PLANETPLANETPLANET (미국 우편)
IMBIMBIntelligent Mail Barcode
PHARMAPHARMACODEPharmacode

2D 바코드

php
$pdf->write2DBarcode(
    string $code,           // 인코딩할 데이터
    string $type,           // 바코드 유형 문자열
    float  $x,              // X 위치
    float  $y,              // Y 위치
    float  $w,              // 너비
    float  $h,              // 높이
    array  $style = [],     // 스타일 옵션
);

지원되는 2D 유형 (Barcode2DType)

유형 문자열열거형 값설명
QRCODE,LQR_CODEQR Code — 낮은 오류 정정 (~7%)
QRCODE,MQR_CODEQR Code — 중간 (~15%)
QRCODE,QQR_CODEQR Code — 사분위 (~25%)
QRCODE,HQR_CODEQR Code — 높음 (~30%)
DATAMATRIXDATAMATRIXDataMatrix
PDF417PDF417PDF417

스타일 옵션

$style 배열은 1D 및 2D 메서드 모두에서 바코드 외관을 제어합니다:

유형설명
borderbool바코드 주위에 테두리 그리기
paddingfloat|array테두리 내부의 패딩
fgcolorarray전경(바) 색상으로 [r, g, b] 형식
bgcolorarray배경 색상으로 [r, g, b] 형식
textbool1D 바코드 아래에 사람이 읽을 수 있는 텍스트 표시
stretchbool주어진 너비에 맞게 바코드 늘리기

제품 라벨 예제

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', 'B', 14)
    ->cell(0, 10, 'Widget Pro X1', newLine: true)
    ->setFont('Helvetica', '', 10)
    ->cell(0, 8, 'SKU: WPX1-2026', newLine: true)
    ->write1DBarcode('4006381333931', 'EAN13', 10, 35, 60, 25, 0.4, [
        'text'    => true,
        'fgcolor' => [0, 0, 0],
    ])
    ->write2DBarcode('https://example.com/product/123', 'QRCODE,H', 80, 30, 30, 30, [
        'fgcolor' => [33, 37, 41],
        'bgcolor' => [255, 255, 255],
    ]);

로고 오버레이로 인해 코드가 부분적으로 가려질 수 있는 경우 QR Code 오류 정정 레벨 H(높음)를 사용하십시오.

LGPL-3.0-or-later 라이선스로 배포됩니다.