제품 및 API 안내
생성기에서 디자인하기
템플릿으로 시작
계정의 템플릿에서 새로 만들거나, 기존 템플릿을 생성기에서 여세요. 자산에서 텍스트, 제목, 표, 이미지, 차트를 추가합니다. 캔버스에서 요소를 선택하면 속성 패널에 해당 설정이 표시됩니다.
레이아웃과 사용 가능한 공간
위치, 크기, 정렬은 레이아웃에서, 글자와 안쪽 여백은 스타일에서 설정합니다. 흐름 배치는 문서 순서를 따르며, 절대 배치는 특정 위치가 필요한 요소에 사용합니다. 길이가 늘어나는 보고서에는 흐름 배치를 우선 사용하고, 긴 데이터로 페이지 나누기를 확인하세요.
크기와 바깥쪽·안쪽 여백
너비 100%는 용지 전체가 아니라 포함 영역을 채웁니다. 페이지 여백은 문서에서 쓸 수 있는 영역을 줄이고, 안쪽 여백은 요소 내부 공간을 줄입니다. 열 안의 표와 차트 역시 해당 열 너비의 제한을 받습니다.
API로 같은 작업 수행
편집기는 직접 호출할 수 있는 것과 동일한 엔드포인트로 템플릿 정의를 저장합니다. 현재 정의를 읽고 수정한 후 읽은 버전을 지정하여 다시 저장하세요. 그사이에 다른 사람이 게시한 변경 사항을 실수로 덮어쓰는 일을 방지할 수 있습니다.
cURL
# 1 - 편집기에서 사용하는 정의 다운로드
curl -s https://api.pdfgine.com/api/v1/templates/invoice \
-H "X-PDFgine-Key: $PDFGINE_KEY" > invoice.json
# 2 - invoice.json의 "definition" 객체 편집
# 3 - 같은 버전 번호로 다시 저장
curl -X POST https://api.pdfgine.com/api/v1/templates \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "invoice",
"name": "Invoice",
"saveMode": "manual",
"expectedVersion": 1,
"changeReason": "로고를 오른쪽 여백으로 옮겼습니다.",
"definition": { "page": { "size": "A4", "orientation": "portrait" }, "elements": [] }
}'
이 안전성을 보장하는 것이 expectedVersion입니다. 템플릿 버전이 변경되었으면 쓰기는 409로 거부되고 응답에 현재 버전이 포함됩니다. 다시 읽고 변경 사항을 재적용한 후 저장하세요.
저장 및 출력 확인
변경 사항을 저장한 후 미리 보기와 필요한 PDF 또는 Word 출력을 확인하세요. 캔버스에 맞는 샘플도 실제 데이터가 길면 페이지가 늘어날 수 있습니다. 게시 전에 제목, 표, 차트 레이블, 페이지 나누기를 함께 검토하세요.
표 데이터 빌더 →자주 발생하는 문제
- 편집기에 보이는 것은 초안입니다. 게시하기 전까지 모든 실제 생성은 이전에 게시된 버전을 계속 사용합니다.
- 샘플 데이터는 실제 데이터보다 짧습니다. 캔버스에 맞는 레이아웃도 실제 고객 이름, 주소, 30개 행을 넣으면 두 번째 페이지로 넘칠 수 있습니다.
- 100%는 용지가 아닌 포함 영역입니다. 요소의 너비가 정해지기 전에 바깥 여백과 안쪽 여백이 차지하는 공간이 빠집니다.
- 절대 배치는 다른 콘텐츠를 피해 이동하지 않습니다. 고정 좌표의 요소는 흐름 콘텐츠가 늘어나도 그대로 남으므로 여러 페이지에 걸칠 수 있는 내용에는 flow를 사용하세요.
- 두 사람이 같은 템플릿을 편집하면 병합이 아닌 409가 발생합니다. 쓰기에는 시작 시점의 버전이 포함되며 버전이 바뀌었으면 거부됩니다.