명령 줄에서 OpenOffice를 사용하여 HTML을 RTF로 변환


8

Cygwin에서 HTML 파일을 RTF로 변환하는 bash 스크립트를 작성하려고합니다. OS X에서는 이로 간단 textutils하지만 일반 Linux 또는 Cygwin에는 존재하지 않습니다. 대신 명령 줄에서 OpenOffice를 사용하려고합니다.

OpenOffice가 일반적으로 설치된 프로그램으로 헤드리스로 실행될 수 있다는 것을 읽었 /usr/bin/ooffice지만 Windows의 Cygwin에서는 이것이 작동하지 않습니다. OpenOffice 설치 프로그램은 기본 Cygwin 심볼릭 링크를 빌드하지 않으며 Windows와 동등한 Windows를 설치하지 않을 수도 있습니다 ooffice.

Cygwin의 명령 줄에서 OpenOffice를 사용하여 HTML 파일을 RTF 파일로 변환하려면 어떻게해야합니까?

답변:


4

unoconvOpenOffice / LibreOffice가 지원하는 모든 파일 형식의 변환을 처리 하는 매우 편리한 쉘 스크립트 가 있습니다. 당신은 그것의 사이트에서 그것에 대해 읽을 수 있고 매뉴얼 페이지 를 확인 하십시오 . 많은 배포판에는 cygwin을 포함하여 쉽게 설치할 수있는 패키지가 있습니다.

일단 설치하면 입력 HTML 파일과 출력 RTF 파일을 다음과 같이 지정해야합니다.

unoconv file.html file.rtf

모든 :)

물론 이것은 여러 파일 상황을 처리하기 위해 스크립팅 될 수 있습니다. 을 사용하는 경우 zsh다음과 같이 HTML 파일의 전체 폴더를 변환 할 수 있습니다.

for file in *html; do
    unoconv "$file" "${file/html/rtf}"
done

@Andrew 나는 그것이 당신이 유용하다는 것을 알기를 바랍니다. 그러나 그것은 정확히 새로운 것은 아닙니다. 프로젝트의 자식 저장소 날짜는 2007 년 다시, 그들은에서 마이그레이션 몇 가지를 통해 버전 관리 시스템에서 가져 오기였습니다.
Caleb

흠. 나는 그것을 볼 때 그것을 놓쳤다. LO 3.6.x의 OS X에서 제로 구성 작업을 언급 한 이후 최근에 새로 나온 것으로 가정했습니다. 여하튼, 그것은 굉장하다 :)
Andrew

6

JODConverter 제안합니다 . 변환을 위해 OpenDoc Api를 둘러싼 Java 랩퍼입니다. 다음과 같은 파일을 변환 할 수 있습니다.

java -jar jodconverter-cli-2.2.0.jar foo.html foo.rtf

python 에서도 사용할 수 있습니다 .

다음 과 같이 openoffice SDK DocumentSaver 클래스 를 사용하는 대신

java -classpath .;./bin;\
                $OO/program/classes/jurt.jar;\
                $OO/program/classes/ridl.jar;\
                $OO/program/classes/sandbox.jar;\
                $OO/program/classes/unoil.jar;\
                $OO/program/classes/juh.jar  \
    DocumentSaver uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager  file:///C:/test/foo.html file:///C:/test/foo.rtf

1
나는 이것의 변형을 계속했다. 처음에 나는 파이썬으로 가서 백그라운드 서버로 실행 오픈 오피스를 유지하지만, 그때 Pyth (발견 pypi.python.org/pypi/pyth ) 순수 파이썬 기반의 컨버터를. 최소한이지만 훌륭하게 작동합니다.
Andrew

실제로 오픈 오피스를 설치해야합니까, 아니면 "래퍼"라이브러리에 필요한 모든 것이 포함되어 있습니까? 나는 명백한 언급이 없다. 감사.
humble_coder

1

질문의 첫 부분을 도와 드릴 수 있습니다. Cygwin 명령 행에서 OpenOffice를 실행하는 예는 다음과 같습니다.

/cygdrive/c/Program\ Files/OpenOffice.org\ 3/program/soffice.exe -help

명령 행 인수 목록이 표시됩니다. 파일 형식을 변환하거나 "다른 이름으로 저장"을 수행하는 것을 보지 못했지만 API를 연구하지 않았습니다. 아마도 그 부분을 채울 수 있습니다. OpenOffice.org 3.2 320m12 (Build : 9483)가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.