Использование TeX может дать вам хорошие результаты. Я сам хотел бы избежать LaTeX, но это потому, что это действительно сложный пакет макросов, и я никогда не понимал его, когда пытался его использовать; к тому же, по крайней мере, учитывая мои вкусы, это казалось очень многословным способом разметки моего текста по сравнению с тем, что я привык использовать в простом TeX.
Настоящий трюк будет заключаться в том, чтобы избежать всех специальных символов, которые могут включать ваши данные, чтобы исходный файл TeX не создавал ошибку, потому что вы, скажем, используете амперсанд где-то, а TeX его интерпретирует. как неуместная команда. Наверное, мне понадобится полчаса, чтобы сесть с TeXBook, чтобы функция цитирования работала идеально.
Но если ваши данные - просто обычные строки, тогда мы можем попробовать напечатать таблицу без нее. Вот пример:
#!/usr/bin/env python
import os
# Create a 2x3 PDF table of items, using TeX.
format = r"# \hfil & \hfil #"
data = [['Hydrogen', 1],
['Silicon', 14],
['Mercury', 80]]
table_data = r'\cr '.join('&'.join(str(i) for i in row) for row in data)
f = open('table.tex', 'w')
f.write(r"\halign{" + format + r"\cr " + table_data + r"\cr}\end")
f.close()
os.system("tex table.tex")
os.system("dvipdf table.dvi")
Большая проблема, как вы можете видеть из PDF этих продуктов (если вы запустите его и посмотрите), состоит в том, что таблица не имеет границ, и, если вы посмотрите на TeXBook, вы обнаружите, что их производство - хотя это всегда возможно - не самая естественная или очевидная операция.
Если подумать, возможно, LaTeX будет иметь какое-то применение, если бы у него были макросы для облегчения создания таблиц с границами. : -)
Кстати, вы только что посмотрели, можно ли сделать WebKit или любой другой бэкэнд браузера для создания PDF-файлов непосредственно из HTML, из командной строки? Они производят PDF-файлы для печати; должен быть способ воспользоваться этим, чтобы превратить ваш HTML в PDF напрямую.