You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LibreOffice在Alpine系统下Docx转PDF出现乱码问题求助

解决Alpine系统下LibreOffice转换Doc/Docx到PDF的乱码问题
  • 安装缺失的中文字体
    Alpine默认字体库不包含常用中文字体,这是乱码核心原因之一:

    • 安装开源CJK字体包:
      apk add font-noto-cjk
      
    • 安装完成后更新字体缓存:
      fc-cache -fv
      
    • 若需要特定字体,可将字体文件复制到/usr/share/fonts/目录后再执行缓存更新。
  • 配置LibreOffice字体映射
    强制让LibreOffice将文档中的缺失字体替换为已安装的字体:
    创建或编辑/etc/libreoffice/registry/modules/org/openoffice/VCL.xcu,添加以下配置:

    <node oor:name="FontSubstitute">
      <node oor:name="SimSun" oor:op="replace">
        <prop oor:name="Substitute">
          <value>Noto Sans CJK SC</value>
        </prop>
      </node>
      <node oor:name="Microsoft YaHei" oor:op="replace">
        <prop oor:name="Substitute">
          <value>Noto Sans CJK SC</value>
        </prop>
      </node>
    </node>
    

    替换的目标字体根据你实际安装的字体调整。

  • 优化转换命令参数
    转换时指定临时配置目录并添加防干扰参数,避免权限或配置冲突:

    libreoffice --headless --norestore --convert-to pdf --outdir /output/directory /input/file.docx -env:UserInstallation=file:///tmp/libreoffice-instance
    

    -env:UserInstallation参数会创建独立的临时配置环境,避免与系统原有配置冲突。

  • 检查LibreOffice版本与兼容性
    Alpine仓库中的LibreOffice版本可能偏旧,尝试升级到最新稳定版:

    apk update && apk upgrade libreoffice
    

    若升级后问题仍存在,可考虑从官方渠道获取适配Alpine的编译包安装。

  • 验证字体加载状态
    运行以下命令确认LibreOffice已正确加载所需字体:

    libreoffice --headless --show-fonts
    

    如果目标字体未出现在列表中,重新检查字体安装路径和缓存更新步骤。

内容的提问来源于stack exchange,提问作者artur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:48:21