ComboBox
드롭다운으로 선택지 중 하나를 고르는 필드입니다. 선택지 목록은 PDF의 /Opt 배열로 저장되어 표준 뷰어와 호환됩니다.
1.그리기
그리기 시작 시 options로 선택지 목록을 넘깁니다.
실행 예제: 그린 뒤 입력 모드에서 펼쳐 보세요준비 중…
JSComboBox 그리기
viewer.document.drawing.beginDraw(DRAWING_DRAW_MODE.COMBO_BOX, {
options: ['사과', '바나나', '포도'],
});2.속성
| 속성 | 타입 | 설명 | PDF 대응 |
|---|---|---|---|
value | string | 선택된 값 | /V |
options | string[] | 선택지 목록 | /Opt |
fontName / fontSize | string / number | 표시 글꼴 | /DA Tf |
readOnly | boolean | 읽기 전용 | /Ff ReadOnly |
3.옵션 변경 (코드)
이미 있는 콤보박스의 선택지를 코드로 바꿀 수 있습니다 (예: 서버 데이터로 드롭다운 채우기). options에 대입한 뒤 renderWidget()으로 화면에 반영합니다.
JS선택지 교체
const field = viewer.document.selectedAnnotations[0].field;
field.options = ['서울', '부산', '대구']; // 선택지 교체
field.renderWidget(); // 화면에 반영 (재렌더)• renderWidget()이 필요한 이유
options에 대입만 하면 값은 바뀌지만 화면은 그대로입니다. 실제 <option> 재구성은 위젯 렌더가 하므로 renderWidget()(내부적으로 위젯의 render())을 호출해야 반영됩니다. field.render()는 없습니다.