How to Wrap Cell’s Content in PDF | PHP FPDF Tutorial #7

PHP FPDF 튜토리얼 시리즈의 7 번째 장에 오신 것을 환영합니다 이 장에서는 PDF 셀에서 넘치는 텍스트를 처리하는 방법을 설명하려고합니다

우리는 활용할 것이고 GetStringWidth, 이 자습서의 SetFontSize 및 MultiCell 메서드 이번에는 두 가지 텍스트 래핑 방법을 설명하려고합니다 글꼴 축소 및 다중 셀 글꼴 축소는 셀에 맞을 때까지 글꼴 크기를 줄임으로써 텍스트가 넘치도록 처리합니다 이것은 가장 간단한 메소드입니다이 메소드는 모든 행의 높이를 동일하게 유지합니다

하지만 단점은 셀보다 약간 긴 텍스트에만 국한된다는 것입니다 텍스트가 너무 작아서 읽을 수 없게됩니다 글꼴 축소에 비해 다중 셀은 가독성을 잃지 않으면 서 텍스트를 길게 만듭니다 그러나 더 복잡하고 더 많은 계산이 필요합니다 여기에 두 가지 방법으로 테스트 할 데이터 시리즈를 준비했습니다

먼저 기본 글꼴 크기를 정의해야합니다 임시 글꼴 크기를 만드십시오 이제 GetStringWidth 메서드를 사용하여 문자열 너비를 가져옵니다 여기에 설명서가 있습니다 우리가 계속하기 전에, 루프의 각 단계에서 변경된 애니메이션 예제를 보여 드리겠습니다

루프, 셀에 맞을 때까지 크기를 줄여 글꼴을 축소하십시오 이제 같은 방법으로 두 번째 데이터 세트를 적용하면, 우리는 이와 같이 읽을 수없는 것을 얻을 것입니다 이제 두 번째 방법으로 넘어 갑시다 먼저 래핑 된 셀 너비와 기본 셀 높이를 정의합니다 다음으로, 텍스트가 넘칠지 확인해야합니다

텍스트가 오버플로 된 경우 셀의 모든 텍스트를 포함하는 데 필요한 선의 수를 계산합니다 이것은 복잡한 부분입니다, 나는 의견을 입력하는대로 설명 할 것입니다 나중에, 나는 그것이 어떻게 작동하는지 간단히 설명 할 것이다 몇 줄이 필요한지 계산하려면 우리는 얼마나 많은 인물이 세포에 들어갈 수 있는지 세고, 각 루프에 하나의 문자를 추가합니다 오류 마진에 의해 상쇄 된 셀만큼 거의 폭이 될 때까지 계속 반복합니다

오류 마진을 시험해보아야합니다 그 문자열을 배열에 저장하십시오 다음으로 시작 문자를 이전 문자열의 길이만큼 오프셋합니다 그런 다음 텍스트 끝까지 해당 단계를 반복하십시오 마지막으로 배열의 요소 수를 계산합니다

이것이 우리가 텍스트를 포함 할 필요가있는 라인의 수입니다 이 애니메이션 예제에서는 3 개의 요소가 있으므로 3 개의 요소가 필요합니다 모든 셀의 셀 높이에 라인 수를 곱하고, 행의 모든 ​​셀은 동일한 높이를 갖게됩니다 래핑 된 텍스트를 쓰려면 일반 셀 대신 MultiCell을 사용하십시오 MultiCell은 내용으로 높이를 조정하는 셀입니다

하지만 단점은 항상 줄의 끝으로 처리되므로 셀 옆에 셀이 기록되지 않습니다 이를 해결하기 위해 다음 셀의 위치를 ​​수동으로 설정해야합니다 이전 x 및 y 위치를 저장합니다 멀티 셀을 기록한 후, 이전 위치를 사용하여 위치를 설정하고 x는 MultiCell 너비로 오프셋됩니다 그 트릭을해야합니다

이것으로이 장의 튜토리얼을 마칩니다 이 튜토리얼이 도움이된다면이 비디오를 좋아하십시오 튜토리얼 업데이트를 위해 내 채널을 구독하십시오 질문이 있거나 소스 코드가 필요한 경우, 코멘트 섹션에서 무엇이든 물어보십시오 다음에 보자