Xav*_*ero 5 command-line fonts pdf libreoffice
题
有什么方法可以libreoffice通过命令行指定 toCambria用于CalibriPDF 生成中的出现,而无需任何用户交互?
语境
我正在使用这个命令:
libreoffice --headless --invisible --convert-to pdf --outdir images/output/ images/Mockups.pptx
Run Code Online (Sandbox Code Playgroud)
或者这个:
unoconv -f pdf -o images/output/ images/Mockups.pptx
Run Code Online (Sandbox Code Playgroud)
自动转换PPTX到PDF在virtualbox与推出的机器vagrant上运行ubuntu/trusty64。
流浪文件:
config.vm.box = "ubuntu/trusty64"
[...]
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install -y unoconv imagemagick default-jdk ant docbook-xsl fop libxml2-utils xsltproc php5-cli
SHELL
Run Code Online (Sandbox Code Playgroud)
原件pptx由人们使用 Windows 编辑并使用Calibri字体。我不能要求他们使用不同的设置或字体。
由于Calibri字体不在trusty分布中,因此PDF由libreoffice布局完成的转换混乱。
我读过Cambria是公制等效于Calibri.
因此,如上所述,问题是如何libreoffice通过命令行指示某种字体替换。
文件pptx格式只是一个具有不同扩展名的 zip 文件,您可以尝试将其解压缩并进行文本替换:
unzip -d tmp Mockups.pptx
find tmp -type f | xargs sed -i 's/Calibri/Cambria/g'
( cd tmp; zip -r ../Mockups2.pptx . )
rm -Rf tmp
Run Code Online (Sandbox Code Playgroud)