JavaScript로 Office 제어
Editor SDK(@thinkfree.dev/tfo-sdk)는 호스트 웹 페이지를 iframe에서 실행되는 Thinkfree Office 편집기에 연결합니다. 애플리케이션은
Word, Spreadsheet, Presentation 문서를 읽고 편집하고, 편집기가 제공하는 문서 도구를 자체 AI 에이전트에서 실행하거나,
하위 수준 명령을 보낼 수 있습니다.
구현할 수 있는 기능
- 웹 애플리케이션에 내장된 문서 편집기
- 결정론적인 Word, Spreadsheet, Presentation 자동화
- 문서 API를 검색하고 실행하는 Playground
- 동일한 문서 도구를 사용하는 AI 에이전트
하나의 연동 인터페이스
SDK는 세 가지 모듈을 지원합니다. module 값은 코드에서 쓰는 식별자이고, 제품명은 Word, Spreadsheet, Presentation입니다.
| 제품 | module | 진입점 | 루트 핸들 | 현재 생성된 카탈로그 |
|---|---|---|---|---|
| Word | word | Office.word(iframe) | Word.WordDocument | 14개 타입, 259개 메서드 |
| Spreadsheet | cell | Office.cell(iframe) | Cell.Workbook | 6개 타입, 156개 메서드 |
| Presentation | show | Office.show(iframe) | Show.Document | 10개 타입, 586개 메서드 |
메서드 수는 현재 Playground 아티팩트와 함께 제공되는 API 카탈로그 기준입니다. 영구적인 호환성 약속이 아니라 버전이 붙은 프리뷰 데이터로 취급하십시오.
API 수준 선택
| API | 사용 시점 | 진입점 |
|---|---|---|
| 문서 핸들 | 예측 가능한 애플리케이션 코드를 원할 때 | app.getDocument()와 그것이 반환하는 핸들 |
| 문서 도구 | 자체 에이전트가 편집기 기능을 호출하게 하려 할 때 | app.getTools() |
| 하위 수준 명령 | 문서화된 편집기 명령을 직접 통합할 때 | app.execute(method, params) |
문서 핸들부터 시작하십시오. 하위 수준 명령 이름은 편집기 프로토콜에 더 밀접하게 결합되어 있습니다.
연결하는 두 가지 방법
Office.word(iframe)/Office.cell(iframe)/Office.show(iframe)- 권장. iframe 요소를 넘기면 SDK가iframe.src에서 편집기 origin을 유도하고, 편집기 부팅을 기다리는whenReady()를 제공하며, 같은 iframe에는 같은 앱 핸들을 돌려줍니다(get-or-create).createOffice({ module, frameworkOrigin, iframeEl | targetWindow, timeoutMs })- 저수준. 옵션을 직접 제어해야 하거나 iframe이 아닌targetWindow구성일 때 사용합니다.
두 방법 모두 페이지에 이미 로드된 편집기에 연결합니다. 문서를 만들지 않으며, disconnect()는 연결만 해제합니다.
배포 형태
npm에 공개된 @thinkfree.dev/tfo-sdk를 설치해 사용합니다. 프로덕션에서는 검증한 패키지 버전을 고정하세요.
npm install @thinkfree.dev/tfo-sdk
요구 사항: 브라우저 환경(DOM), ESM(import), 번들된 타입을 쓰는 경우 TypeScript 4.9 이상.
다음 단계
- 빠른 시작 완료
- 모듈 가이드: Word API, Spreadsheet API, Presentation API
- 문서 도구 사용 및 오류 처리
- iframe 프로토콜과 수명 주기 이해
- 정확한 메서드 이름, 매개변수, 반환 타입은 Word, Spreadsheet, Presentation API 레퍼런스에서 확인합니다.
- Editor SDK Playground 열기