Linux

使用命令行從模板創建 pdf 的最簡單方法(沒有 pdflatex)?

  • February 9, 2021

十年來,我一直以這種方式為我和我的妻子創造賬單:

  1. 使用 LyX 或手動創建 TeX 模板
  2. 在此源佔位符文本中使用
  3. 然後:
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/

https://troff.org/

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 這樣的模板工具可以簡化任務:

http://mustache.github.io/mustache.1.html

引用自:https://unix.stackexchange.com/questions/109602