>백엔드 개발 >PHP 튜토리얼 >Phpmaster | Zend-PDF로 송장 생성

Phpmaster | Zend-PDF로 송장 생성

Lisa Kudrow
Lisa Kudrow원래의
2025-03-02 08:40:10304검색

이 기사에서는 zend_pdf를 사용하여 PDF 송장을 동적으로 생성하는 방법을 보여줍니다. 주요 이점으로는 새로운 PDF 생성 또는 기존 PDF 수정, 정적 (회사 정보, 로고) 및 동적 (고객, 트랜잭션 세부 사항) 데이터를 사용한 송장에 이상적입니다. 텍스트 포지셔닝에는 약간의 조정이 필요할 수 있지만 zend_pdf는 글꼴, 색상 및 컨텐츠 추가를 처리합니다. 생성 된 송장은 파일에 저장하거나 다운로드를 위해 브라우저로 직접 전송 될 수 있습니다. 기본 PDF 생성 외에도 ZEND_PDF는 이미지 포함, 글꼴 스타일, 링크 삽입 및 오류 처리와 같은 기능을 제공합니다. 그러나 테이블과 같은 복잡한 요소는 수동 셀 배치 계산이 필요합니다.

시작하기 : 템플릿 기반 접근 방식

PDF를 처음부터 생성 할 수는 있지만 사전 디자인 된 템플릿 (예 : Word 또는 LibreOffice에서 PDF로 내보내기)을 사용하는 것이 더 효율적입니다. 이 접근법은 코딩 및 생성 시간을 최소화합니다. 템플릿에는 정적 요소 (회사 세부 사항, 로고 등)가 포함되어 있으며 동적 데이터는 프로그래밍 방식으로 추가됩니다. 아래는 예제 템플릿입니다 (나만의 교체)

Zend Framework 설정 :

Zend Framework를 처음 사용하는 경우 https://www.php.cn/link/997440836d4c2346926d8aCa03690f78 . (참고 : 이전 예제는 수동 자동 로더를 사용했습니다. 작곡가는 권장되는 최신 접근법입니다). PDF 템플릿로드 :

Zend_pdf는 를 사용하여 기존 PDF를로드합니다. 결과 객체는 배열 (예 : )을 통해 개별 페이지에 대한 액세스를 제공합니다.

글꼴과 색상 : phpmaster | Generating Invoices with Zend-Pdf 텍스트를 추가하기 전에 글꼴을 정의하십시오. zend_pdf는 를 통해 14 개의 표준 글꼴 (예 : ) 또는 사용자 정의 트루 타입 글꼴을 지원합니다. 글꼴과 크기를

색상은 객체 (그레이 스케일, rgb, cmyk 또는 html 표기법)를 사용하여 지정됩니다. 채우기 색상을

내용 추가 : 텍스트를 추가합니다. 좌표 ($ x, $ y)는 점 (72 포인트 = 1 인치), 왼쪽 원점에 있습니다. 정확한 포지셔닝은 실험이 필요할 수 있습니다

예제 데이터 (데이터베이스 검색으로 대체) :

텍스트 배치 예제 (필요에 따라 좌표 조정) :

$customerName = "Angelina Jolie";
$invoiceId = "DF-00025786423";
$items = array(
    array("Golden Globe Polish", 1, 25.50, 25.50),
    array("Trophy Shelf", 2, 180.00, 360.00),
    array("DIY Tattoo Kit", 1, 149.99, 149.99)
);
$subtotal = 535.49;
$discount = 10;
$amountDue = 481.94;
송장을 렌더링 :

를 사용하여 PDF를 저장하거나 다운로드를 위해 브라우저로 직접 보내십시오.

$page->drawText($customerName, 110, 641);
$page->drawText($invoiceId, 420, 642);
// ... other text additions ...
결론 :

이 안내서는 송장 생성을위한 Zend_PDF에 대한 기본적인 이해를 제공합니다. 보다 고급 기능을 위해 도서관의 광범위한 기능을 탐색하십시오. 템플릿과 일치하도록 좌표를 조정해야합니다. 전체 코드 예제는 GitHub에서 사용할 수 있습니다 (사용 가능한 경우 제공 할 링크)

위 내용은 Phpmaster | Zend-PDF로 송장 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.