cli-anything-libreoffice은(는) 무엇을 하나요?
문서 편집을 위한 상태 저장형 명령줄 인터페이스로, 실제 ODF 파일(ZIP 압축 XML)을 생성합니다. GUI나 LibreOffice 설치 없이 Writer, Calc, Impress 문서를 만들고 조작해야 하는 AI 에이전트와 고급 사용자를 위해 설계되었습니다.
설치
이 CLI는 cli-anything-libreoffice 패키지의 일부로 설치됩니다:
pip install cli-anything-libreoffice
필수 조건:
- Python 3.10+
- 시스템에 libreoffice가 설치되어 있어야 함
사용법
기본 명령어
# 도움말 표시
cli-anything-libreoffice --help
# 대화형 REPL 모드 시작
cli-anything-libreoffice
# 새 프로젝트 생성
cli-anything-libreoffice project new -o project.json
# JSON 출력으로 실행 (에이전트 소비용)
cli-anything-libreoffice --json project info -p project.json
REPL 모드
인수가 없이 호출되면 CLI는 대화형 REPL 세션을 시작합니다:
cli-anything-libreoffice
# 명령어를 대화형으로 입력 (탭 완성 및 히스토리 지원)
명령어 그룹
Document (문서)
문서 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
new | 새 문서 생성 |
open | 프로젝트 JSON 열기, 또는 기존 Office/ODF 파일 가져오기 |
import | 기존 Office/ODF 파일을 프로젝트 JSON으로 가져오기 |
import-formats | 지원되는 가져오기 형식 목록 표시 |
save | 현재 문서 저장 |
info | 문서 정보 표시 |
profiles | 사용 가능한 페이지 프로필 목록 |
json | 원시 프로젝트 JSON 출력 |
Writer (워드 프로세서)
Writer (워드 프로세서) 명령어입니다.
| 명령어 | 설명 |
|---|---|
add-paragraph | 문서에 문단 추가 |
add-heading | 문서에 제목 추가 |
add-list | 문서에 목록 추가 |
add-table | 문서에 표 추가 |
add-page-break | 페이지 나누기 추가 |
remove | 인덱스로 콘텐츠 항목 제거 |
list | 모든 콘텐츠 항목 목록 표시 |
set-text | 콘텐츠 항목의 텍스트 설정 |
Calc (스프레드시트)
Calc (스프레드시트) 명령어입니다.
| 명령어 | 설명 |
|---|---|
add-sheet | 새 시트 추가 |
remove-sheet | 인덱스로 시트 제거 |
rename-sheet | 시트 이름 변경 |
set-cell | 셀 값 설정 |
get-cell | 셀 값 가져오기 |
list-sheets | 모든 시트 목록 표시 |
Impress (프레젠테이션)
Impress (프레젠테이션) 명령어입니다.
| 명령어 | 설명 |
|---|---|
add-slide | 프레젠테이션에 슬라이드 추가 |
remove-slide | 인덱스로 슬라이드 제거 |
set-content | 슬라이드 제목 및/또는 콘텐츠 업데이트 |
list-slides | 모든 슬라이드 목록 표시 |
add-element | 슬라이드에 요소 추가 |
Style Group (스타일 그룹)
스타일 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
create | 새 스타일 생성 |
modify | 기존 스타일 수정 |
list | 모든 스타일 목록 표시 |
apply | 콘텐츠 항목에 스타일 적용 (Writer만 해당) |
remove | 스타일 제거 |
Export Group (내보내기 그룹)
내보내기/렌더링 명령어입니다.
| 명령어 | 설명 |
|---|---|
presets | 내보내기 프리셋 목록 표시 |
preset-info | 프리셋 세부 정보 표시 |
render | 문서를 파일로 내보내기 |
Session (세션)
세션 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
status | 세션 상태 표시 |
undo | 마지막 작업 취소 |
redo | 취소한 작업 다시 실행 |
history | 실행 취소 기록 표시 |
예제
새 프로젝트 생성
새로운 libreoffice 프로젝트 파일을 생성합니다.
cli-anything-libreoffice project new -o myproject.json
# 또는 프로그래매틱 사용을 위한 JSON 출력
cli-anything-libreoffice --json project new -o myproject.json
대화형 REPL 세션
실행 취소/다시 실행을 지원하는 대화형 세션을 시작합니다.
cli-anything-libreoffice
# 명령어를 대화형으로 입력
# 'help'를 입력하여 사용 가능한 명령어 확인
# 'undo' 및 'redo'로 기록 탐색
프로젝트 내보내기
프로젝트를 최종 출력 형식으로 내보냅니다.
cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite
상태 관리
CLI는 세션 상태를 다음과 같이 유지합니다:
- 실행 취소/다시 실행 (Undo/Redo): 최대 50단계 히스토리
- 프로젝트 지속성: 프로젝트 상태를 JSON으로 저장/불러오기
- 기존 파일 가져오기: ODF/DOCX/XLSX/PPTX 및 관련 형식을 편집 가능한 프로젝트 JSON으로 변환
- 세션 추적: 수정 및 변경 사항 추적
출력 형식
모든 명령어는 이중 출력 모드를 지원합니다:
- 사람이 읽기 쉬운 형식 (기본값): 표, 색상, 서식 있는 텍스트
- 기계가 읽기 쉬운 형식 (
--json플래그): 에이전트 소비를 위한 구조화된 JSON
# 사람 출력
cli-anything-libreoffice project info -p project.json
# 에이전트용 JSON 출력
cli-anything-libreoffice --json project info -p project.json
AI 에이전트용
이 CLI를 프로그래매틱하게 사용할 때:
- 항상
--json플래그를 사용하여 파싱 가능한 출력을 얻으세요 - 반환 코드 확인 - 0은 성공, 0이 아닌 값은 오류
- stderr 파싱 - 실패 시 오류 메시지 확인
- 모든 파일 작업에 절대 경로 사용
- 기존 Office 파일을 먼저 JSON으로 가져오기 -
document import input.docx -o work.json - 내보내기 작업 후 출력 파일 존재 여부 확인
더 많은 정보
- 전체 문서: 패키지 내 README.md 참조
- 테스트 범위: 패키지 내 TEST.md 참조
- 방법론: cli-anything-plugin 내 HARNESS.md 참조
버전
1.0.0