NextPDF Connect에서 글꼴과 텍스트 스타일 제어하기
한눈에 보기
섹션 제목: “한눈에 보기”텍스트 블록 사이에서 글꼴을 전환해 여러 스타일이 적용된 문서를 만듭니다. set_font은 활성 서체, 스타일, 크기를 설정합니다. 이 상태는 변경할 때까지 이후의 모든 add_text 호출에 유지됩니다. 필요한 도구는 create_pdf, set_font, add_text, output_pdf이며, 모두 Core에 속합니다. 텍스트 상태 매개변수는 글리프가 렌더링되는 방식을 제어합니다(ISO 32000-2 §9).
composer require nextpdf/server전송 방식을 바인딩합니다. 추가 글꼴 파일 없이 사용할 수 있는 내장 글꼴 패밀리는 세 가지입니다: helvetica, times, courier.
개념 개요
섹션 제목: “개념 개요”set_font은 family, style("", "B", "I", "BI", "U"), size를 받습니다. 설정한 글꼴은 다음 set_font 호출 전까지 이후의 모든 add_text 호출에 적용됩니다. 자동으로 재설정되지 않습니다. add_text가 font_size를 전달하면, 그 값은 해당 단일 호출에서만 활성 크기를 재정의하며, 다음 호출부터는 set_font 크기가 다시 적용됩니다. 텍스트는 콘텐츠 스트림 순서대로 텍스트 표시 연산자에 의해 출력됩니다(ISO 32000-2 §9.4). add_text에는 색상 매개변수가 없습니다. 텍스트 색상은 문서의 그래픽 상태 잉크 색상에서 비롯됩니다.
API 표면
섹션 제목: “API 표면”| 도구 | 역할 | 위험 등급 |
|---|---|---|
create_pdf | 세션 열기 | 안전 |
set_font | 활성 typeface/style/크기 설정 | 주의 |
add_text | 활성 글꼴로 텍스트 쓰기 | 주의 |
output_pdf | PDF 렌더링 후 반환 | 승인 필요 / 검토(base64) |
도구 카탈로그가 공식 카탈로그입니다. 사용할 수 있는 도구는 설치된 등급에 따라 달라집니다.
코드 예제 — 빠른 시작
섹션 제목: “코드 예제 — 빠른 시작”create_pdf(A4 세로) →document_id.set_font(helvetica,B, 24) 후add_text(제목, 가운데 정렬).set_font(helvetica,"", 12) 후add_text(양쪽 정렬 본문).set_font(courier,I, 10) 후add_text(코드 스니펫).output_pdf.
코드 예제 — 프로덕션
섹션 제목: “코드 예제 — 프로덕션”타이포그래피가 중요한 각 블록을 처리하기 전에는 글꼴을 명시적으로 설정합니다. 논리적 구획 전반에 걸쳐 상속된 상태에 절대 의존하지 마십시오. 호출별 font_size 재정의는 유지되지 않으므로 일회성 강조에만 사용하십시오. 구획별로 차례대로 빌드하고, 각 add_text가 position을 반환하는지 확인하십시오.
예외 사례 및 함정
섹션 제목: “예외 사례 및 함정”- 알 수 없는 패밀리.
helvetica/times/courier이외의 값(예:arial)은 거부됩니다. - 빈 패밀리.
family는 비어 있지 않은 문자열이어야 합니다. - 잘못된 스타일. 대문자 코드를 사용하십시오.
"bold"는 거부됩니다. - 양수가 아닌 크기.
size는 양수여야 합니다. - 호출별 크기는 일시적입니다. 이는
set_font상태를 변경하지 않습니다.
내장 글꼴은 용량 증가가 거의 없으며, 출력은 몇 KB 정도입니다. 프로파일은 structural입니다.
보안 참고 사항
섹션 제목: “보안 참고 사항”base64 모드에서는 파일 시스템 부작용이 발생하지 않습니다. 내장 글꼴은 외부 글꼴 파일을 가져오지 않으므로, 이 레시피에는 글꼴 파싱 공격 표면이 없습니다.
적합성
섹션 제목: “적합성”| 진술 | 사양 | 절 | reference_id |
|---|---|---|---|
| 텍스트는 스트림 순서대로 텍스트 연산자에 의해 표시됩니다. | ISO 32000-2 | §9.4 | |
| 텍스트 상태 매개변수는 글리프 렌더링을 제어합니다. | ISO 32000-2 | §9 |
상업적 맥락
섹션 제목: “상업적 맥락”해당 없음 — 모든 도구가 Core입니다.
전송 방식 가용성
섹션 제목: “전송 방식 가용성”| 전송 방식 | 가용 | 참고 |
|---|---|---|
| MCP(stdio) | 예 | 도구별 tools/call. |
| REST | 예 | 도구당 하나의 작업. |
| gRPC | 예 | 도구당 단항(unary) 호출. |
HITL 위험 등급
섹션 제목: “HITL 위험 등급”create_pdf는 안전; set_font/add_text는 주의; output_pdf는 승인 필요이고, base64 모드에서는 검토로 강등됩니다(HITL 위험 등급).
확인 게이트 JSON 엔벨로프
섹션 제목: “확인 게이트 JSON 엔벨로프”Base64 출력:
{ "allowed": true }