Linux
使用命令行從模板創建 pdf 的最簡單方法(沒有 pdflatex)?
十年來,我一直以這種方式為我和我的妻子創造賬單:
- 使用 LyX 或手動創建 TeX 模板
- 在此源佔位符文本中使用
- 然後:
cat template | sed s/placeholder1/somevalue1/ |sed s/placeholder2/somevalue2 ... > output.tex pdflatex output.tex
可悲的是,在過去的幾年裡,這個過程變得越來越困難,因為 TeX 包變得越來越大(不知道為什麼,但是在 Ubuntu 上安裝完整的 TeX 幾乎是 3 GB),而且我總是在生成過程中遇到很多錯誤.
那麼,既然我可以控制所有涉及的過程,是否有更好(更容易/更便攜)的方法來創建模板,然後用欄位填充它並創建 PDF?
我見過使用 Python 和ReportLab生成的 PDF 文件。在開源版本中,您必須進行一些程式才能獲得輸出,但是有幾個範例,這對於可以處理 TeX 的人來說應該很簡單。
我沒有使用但似乎更簡單的是使用rst2pdf。生成/編輯
.rst
標記格式與使用 LaTeX 大致相同。
有一個很棒的 TeX 替代品,稱為troff,它是一個標準的 unix 工具,並且可以將 GNU 實現(groff)安裝到任何 linux 中(如果尚未安裝)。
它輕巧快速,可以生成html、ps和pdf。
https://www.gnu.org/software/groff/
http://chuzzlewit.co.uk/utp_book-1.1.pdf
通過使用 groff 語法模板文件,您的命令將是:
cat template | sed s/placeholder1/somevalue1/ |sed s/placeholder2/somevalue2 ... | groff -T pdf > output.pdf
哪個更好寫為
sed -e 's/placeholder1/somevalue1/' \ -e 's/placeholder2/somevalue2/' \ -e ... template | groff -T pdf > output.pdf
如果你的 sed 變得太複雜,使用像 mustache 這樣的模板工具可以簡化任務: