데비안: 헤드리스 모드에서 docx 파일을 pdf로 변환하는 최소 LibreOffice 패키지

데비안: 헤드리스 모드에서 docx 파일을 pdf로 변환하는 최소 LibreOffice 패키지

저는 헤드리스 모드에서 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을 통해 배포하고 설치했습니다.

관련 정보