通过脚本(unzip odt;sed xml;zip odt)搜索并替换单词后,我完全能够从编写器 GUI 导出为 pdf。
但是通过命令行导出会导出老的而不是新的词:lowriter --headless --convert-to pdf textfile.odt
我如何通过命令行导出?
如何重现:
- 创建新的 calc 文件
- 写富进入细胞
A1
- 将 calc 文件另存为
/tmp/calc.ods
- 创建新的写入器文件
- 作为链接对象嵌入
/tmp/calc.ods
到编写器文件中:Insert > OLE Object > OLE Object > Create from file > Check Link to file
- 将 writer 文件另存为
/tmp/result.odt
使用以下 shell 脚本替换foo
calc 文件中的内容bar
:
cd /tmp
mkdir bla
cd bla
unzip ../calc.ods # Unpack the calc file to edit
sed -i 's/foo/bar/g' content.xml #Replace foo with bar
zip -r ../calc.ods . # Pack the calc file back
现在将 writer 文件导出为 pdf 并期望看到新值 (bar) result.pdf
:
lowriter --headless --convert-to pdf /tmp/result.odt
为什么导出的 pdf 仍然显示旧值 (foo)?