html2pdf 예제

동적 PDF 파일을 만드는 것은 매우 일반적인 웹 개발 작업입니다. 동일한 페이지의 HTML 및 PDF 버전을 만들어야 하는 경우 html2pdf는 기존 HTML을 사용하여 PDF를 생성하여 해당 프로세스를 크게 단순화할 수 있습니다. 기본 사용법은 매우 간단하지만 라이브러리는 확장 할 수 있으므로 파일에 저장된 인증 또는 HTML을 처리하는 사용자 지정 클래스를 만들 수 있습니다. PDF를 만드는 것이 얼마나 간단한지 놀랄 것입니다. html2pdf에는 구성 정보를 보유하기 위해 여러 전역 변수가 필요합니다. 이들 중 첫 번째는 HTML을 렌더링하는 방법에 대한 다양한 구성 옵션을 포함하는 배열입니다. 내 코드는 다음과 같습니다 이러한 옵션 중 몇 가지는 몇 가지 추가 토론을 할 수 있습니다. cssmedia를 설정하여 사용할 CSS 파일을 html2pdf로 알 수 있습니다. 인쇄 미디어에 대한 특수 CSS 파일을 정의한 경우 cssmedia를 “인쇄”로 설정하면 해당 스타일 시트가 “화면” 스타일 시트 대신 사용됩니다. 내 프로젝트의 경우 HTML 미리 보기에서 동일한 서식을 캡처하여 cssmedia를 “화면”으로 설정했습니다.

다른 요구 사항은 PHP 4.1 이상입니다. html2pdf는 PHP 5와 잘 작동합니다. 사실, 내 프로젝트는 PHP 5.3으로 테스트되었고 아름답게 작동했습니다. PHP에는 GD 및 DOM XML 확장이 있어야 합니다. Zlib 확장또한 적극 권장합니다. 이렇게 하면 html2pdf 스크립트가 페이지 나누기를 삽입합니다. 렌더링 필드 = true를 지정하면 최종 PDF에서 렌더링될 HTML에 추가할 수 있는 여러 개의 특수 필드도 있습니다. 여기에는 현재 페이지 번호, 총 페이지 수, 타임스탬프 등에 대한 필드가 포함됩니다. 이러한 필드에 대한 자세한 내용은 html2pdf 설명서를 참조하십시오.

html2pdf는 연결된 스타일 시트를 구문 분석하고 HTML을 렌더링하여 PDF를 만듭니다. 따라서 일반적으로 fetcher 클래스를 사용하여 변환할 페이지를 검색합니다. 인증 처리와 같은 다양한 시나리오를 처리하기 위해 사용자 지정 페처러 클래스를 작성할 수 있지만 HTML 페이지를 로드하고 PDF를 생성하는 기본 방법을 살펴보겠습니다. 렌더필드가 HTML 양식 필드와 관련이 있는 것처럼 보일 수 있지만 그렇지 않습니다. 렌더필드 설정은 ##PAGE##과 같은 특수 필드가 html2pdf로 해석되는지 여부에 영향을 줍니다. html2pdf는 http://www.tufat.com/s_html2ps_html2pdf.htm 찾을 수 있습니다. 스크립트를 다운로드하고 압축을 풀어야 합니다. 스크립트를 설치하려면 /html2pdf 폴더를 웹 사이트의 폴더어딘가에 복사하기만 하면 됩니다. 샘플 및 데모 폴더를 제거해야 합니다. html2pdf를 사용하는 방법을 보여주기 위해 제공되지만 사이트에 는 라이브로 사용해서는 안됩니다. 이 코드의 처음 두 줄은 html2pdf에 대한 설명서에서 가져온 표준 코드입니다. 기본 파이프라인 클래스의 새 인스턴스를 설정 하 고 변환에 대 한 HTML을 필터링 하는 방법을 알려줍니다.

우리에게 관심을 끄는 대사도 다음 라인입니다. 3번째 줄은 선택 사항입니다. 여기서는 브라우저가 사용자에게 파일을 다운로드하라는 메시지를 표시하도록 스크립트에 파일을 HTTP 첨부 파일로 보내라고 말하고 있습니다. 다운로드한 PDF를 매개 변수로 사용하려는 파일 이름을 전달합니다. 이 줄이 없으면 파일에 config.inc.php에 정의된 기본 파일 이름이 제공됩니다(기본적으로 “이름 없는”). 다음 줄은 PDF의 실제 생성을 수행합니다. 변환할 url과 페이지 크기, 여백 및 배율을 제어하는 이전에 정의된 $media 개체인 프로세스 메서드두 매개 변수를 프로세스 메서드에 전달합니다. spipu/html2pdf의 새 릴리스에 대한 알림을 원하십니까? 미리 정의된 미디어 크기를 사용하고 있습니다(이 경우 “Letter”). 라이브러리에는 “Letter”, “A4” 등과 같이 미리 정의된 일련의 미디어 크기가 포함되어 있습니다.

다음 설정은 가로 방향을 사용할지 여부를 결정합니다. 내 프로젝트의 경우 세로 방향이 필요했기 때문에 이것을 거짓으로 설정했습니다. 페이지 여백은 배열을 사용하여 설정됩니다. 여기에 있는 숫자 값은 밀리미터단위로 설정됩니다. 15 밀리는 약 반 인치, 25 밀리는 약 1 인치입니다. 내 프로젝트의 경우 페이지 나누기를 정의하고 하단 여백을 설정하면 출력이 예기치 않은 위치에 중단되기 때문에 아래쪽 여백을 0으로 남겼습니다.

Spread the love