Golang의 PDF 생성(PDF)

Golang Ui Pdf Saengseong Pdf



휴대용 문서 형식(Portable Document Format, 줄여서 PDF)은 문서에 사용되는 매우 대중적이고 다양한 파일 형식입니다. PDF는 거의 모든 플랫폼과 시스템에서 지원되므로 문서 공유에 탁월한 선택입니다.

개발자의 경우 입력 데이터를 기반으로 PDF 문서를 프로그래밍 방식으로 생성해야 하는 경우를 접할 수 있습니다. 예를 들어 데이터베이스의 구매 정보를 기반으로 PDF 송장을 생성하는 웹 앱이 있을 수 있습니다.

다행히 Go 생태계는 방대하며 처음부터 구축하지 않고도 PDF 생성을 쉽게 수행할 수 있는 도구와 기능이 있습니다.







이 튜토리얼에서는 입력 데이터를 기반으로 PDF 문서를 생성하는 강력한 기능을 제공하는 'fpdf' 패키지를 사용하는 방법을 배웁니다.



환경설정

계속하기 전에 다음 도구가 설치되어 있는지 확인하십시오.



  1. 시스템에 최신 Go 컴파일러가 설치되어 있는지 확인하세요.
  2. 코드 편집기

Gofpdf 설치

프로젝트 설정이 완료되면 'go get' 명령을 사용하여 'fpdf' 패키지를 설치합니다.





$ 가다 github 받기 . ~와 함께 / 가다 - PDF / fpdf

일단 설치되면 PDF 생성을 위해 패키지에서 제공하는 기능을 계속 진행할 수 있습니다.

기본 PDF 문서 만들기

이 패키지를 사용하여 기본 입력 텍스트가 있는 기본 PDF를 생성하는 방법을 보여주는 다음 예제 코드를 고려하십시오.

패키지 기본

수입 (
'github.com/go-pdf/fpdf'
)

기능 기본 () {
PDF := fpdf . 새로운 ( '피' , 'mm' , 'A4' , '' )
PDF . 페이지 추가 ()
PDF . 글꼴 설정 ( '아리알' , '비' , 16 )
PDF . ( 40 , 10 , '엉덩이가 아프다...' )
PDF . 출력파일및닫기 ( '로렘.pdf' )
}

주어진 예에서는 필요한 패키지를 가져오는 것부터 시작합니다. 우리의 경우에는 'fpdf' 패키지만 필요합니다.

다음으로 fpdf.New() 함수를 사용하여 새 PDF 문서를 만들고 페이지 방향, 측정 단위, 크기와 같은 PDF 속성을 지정합니다.

다음으로 AddPage() 함수를 사용하여 새 페이지를 추가합니다.

그런 다음 SetFont() 함수를 사용하여 문서의 글꼴과 크기를 설정합니다. 또한 텍스트를 표시하기 위해 Cell() 함수를 사용하여 셀이라고도 하는 직사각형 영역을 추가합니다.

마지막으로 PDF를 생성하고 OutputFileAndClose() 메서드를 사용하여 저장합니다.

이미지 추가

다음 예제 코드와 같이 이미지에 대한 지원을 추가할 수도 있습니다.

패키지 기본

수입 (
'github.com/go-pdf/fpdf'
)

기능 기본 () {
PDF := fpdf . 새로운 ( '피' , 'mm' , 'A4' , '' )
PDF . 페이지 추가 ()
PDF . 이미지옵션 ( '리눅스 턱시도.png' , 10 , 10 , 40 , 0 , 거짓 , fpdf . 이미지옵션 { 이미지 유형 : 'PNG' , ReadDpi : 진실 }, 0 , '' )
실수 := PDF . 출력파일및닫기 ( '예제.pdf' )
만약에 실수 != {
공황 ( 실수 )
}
}

여기에는 문서에 지정된 이미지가 포함되어야 합니다.

머리글과 바닥글이 포함된 다중 페이지 문서

또한 패키지는 다음 예에 표시된 것처럼 머리글 및 바닥글과 같은 기능을 포함하는 여러 페이지를 지원합니다.

패키지 기본

수입 (
'strconv' // strconv 패키지를 가져옵니다.

'github.com/go-pdf/fpdf'
)

기능 머리글 ( PDF * fpdf . Fpdf ) {
PDF . 글꼴 설정 ( '아리알' , '비' , 12 )
PDF . ( 0 , 10 , '페이지 헤더' )
PDF . Ln ( 이십 )
}

기능 보행인 ( PDF * fpdf . Fpdf ) {
PDF . 세트Y ( - 열 다섯 )
PDF . 글꼴 설정 ( '아리알' , '나' , 8 )
PDF . ( 0 , 10 , '페이지' + strconv . 익사 ( PDF . 페이지번호 ()))
}

기능 기본 () {
PDF := fpdf . 새로운 ( '피' , 'mm' , 'A4' , '' )
PDF . SetHeaderFunc ( 기능 () { 머리글 ( PDF ) })
PDF . SetFooterFunc ( 기능 () { 보행인 ( PDF ) })

PDF . 페이지 추가 ()
PDF . 글꼴 설정 ( '아리알' , '' , 12 )
~을 위한 := 0 ; < 40 ; ++ {
PDF . ( 0 , 10 , '줄번호 인쇄' + strconv . 익사 ( ))
PDF . Ln ( 12 )
}

PDF . 출력파일및닫기 ( '다중페이지.pdf' )
}

이 경우 PDF의 해당 섹션에 대한 내용을 설정하기 위해 머리글 및 바닥글 기능을 정의합니다.

그런 다음 SetHeaderFunc 및 SetFooterFunc를 사용하여 문서의 머리글 및 바닥글로 함수를 지정합니다.

마지막으로 루프를 사용하여 여러 페이지로 이어지는 여러 줄의 텍스트 줄을 만듭니다. 결과 PDF는 다음과 같습니다.

거기 있어요!

결론

이 튜토리얼에서 우리는 'fpdf' 패키지를 사용하여 Go에서 PDF를 생성하는 방법에 대해 많은 것을 배웠습니다. 이 패키지에는 PDF를 생성하는 데 필요한 다양한 도구와 기능이 포함되어 있습니다. 자세한 내용은 문서를 확인하세요.