저는 헤드리스 모드에서 LibreOffice(soffice)를 사용하여 docx 파일을 pdf로 변환하는 Debian 10 기본 이미지(고정 종속성)가 있는 Docker 컨테이너를 개발 중입니다.
다음 패키지를 설치했습니다.
libreoffice
default-jre-headless
libreoffice-java-common
그러나 빌드 후 Docker 컨테이너 크기가 1GB를 초과합니다. 이상적으로는 컨테이너가 가능한 한 작았으면 좋겠습니다. 헤드리스 모드에서 soffice를 실행하고 docx 파일을 pdf로 변환하기 위한 최소 패키지 요구 사항을 찾을 수 있는 방법이 있습니까?
답변1
이에 대한 공식적인 지원은 없는 것 같습니다. Docker/Kubernetes를 사용하여 동일한 문제에 직면했으며 다음 방법으로 성공적으로 해결했습니다. 이 경우 LibreOffice v7.5.
- 다음에서 deb 패키지를 다운로드하세요.https://de.libreoffice.org/download/download
- 압축을 풀면 약 40-50개의 deb 파일이 생성됩니다.
- 몇 가지 시행착오를 거쳐 서버 측에서 DOCX를 PDF로 변환하려면 다음 deb 파일 세트가 필요하다는 것을 발견했습니다.
libobasis7.5-en-us_7.5.4.2-2_amd64.deb
libobasis7.5-images_7.5.4.2-2_amd64.deb
libobasis7.5-ooofonts_7.5.4.2-2_amd64.deb
libobasis7.5-writer_7.5.4.2-2_amd64.deb
libreoffice7.5-ure_7.5.4.2-2_amd64.deb
libreoffice7.5-writer_7.5.4.2-2_amd64.deb
libreoffice7.5_7.5.4.2-2_amd64.deb
이러한 deb를 별도의 디렉토리에 배치하고 다음을 사용하여 설치하십시오: dpkg -i *.deb
직접 변환 테스트:
/opt/libreoffice7.5/program/soffice --headless --convert-to pdf ./demo.docx --outdir ./
데몬을 실행합니다:
/opt/libreoffice7.5/program/soffice --headless --accept=socket,host="127.0.0.1,port=8100\;urp;" &
보다 자동화된 방법을 위해 위의 deb 파일 목록을 다시 패키지하고 DOCKERFILE을 통해 배포하고 설치했습니다.