在使用libreoffice转换WPS文档到pdf时,有些文字间距变大导致原本是一行的文字换成了两行,但是在PDF中是无法修改的。
涉及的代码
libreoffice --headless --convert-to pdf:writer_pdf_Export abc.pptx --outdir out.pdf
os: ubuntu 22.04
分析可能的原因
在libreoffice的图形界面中,直接打开abc.pptx可以看到,显示出来的结果和最终错误的pdf的显示效果是完全 一致的,此时选择导出pdf,会出现错误换行。
如果选中这一行文字,右键->段落,把这个勾掉:
把“在亚洲文字与非亚洲文字之间添加间隙”这个勾掉。
显示效果就和WPS一致了,导出也是正常的。
所以分析主要是由于:libreoffice中,会默认自动在中文和非中文之间增加一个间距,而WPS不会,所以WPS中排版正常的文件,在libreoffice中就会出现错误换行的问题。
希望的结果
由于这个转换是希望做成自动化的服务,所以不可能每次导出都是在图形界面手动操作,所以希望能够让libreoffice默认把这个功能关掉(目前没找到可以关的地方),或者在转换输出的时候禁用这个功能。
示例文件:https://pan.baidu.com/s/19eyO-pQ6F1jL8GCnZJFMcA?pwd=v47y