codecogs是一个latex公式渲染服务,它根据get请求返回一个svg图片。例如:codecogs,这个服务的缺点是比较慢。
本文介绍ubuntu下搭建类似codecogs的公式渲染服务。
一、安装latex
sudo apt-get install latex
sudo apt-get install latex-cjk-chinese
二、latex命令介绍
latex命令用于把tex文件转换成pdf文件或者dvi文件。dvi是一种设备无关的可打印文件格式。
输入dvi按两次tab可以找到dvisvgm,此命令将dvi文件转为svg。
三、编写服务程序
使用flask编写服务,通过命令行的方式调用latex获取svg。在返回时需要注意两点:
设置好content-type,否则客户端不知道你返回的是什么格式的图片
跨域访问并不需要设置,因为加载的是静态资源
使用latex命令时需要注意:
documentclass必须是minimal,这样能够保证生成的文件尽量小。
dvisvgm --no-fonts --no-styles,把dvi转为svg时取消导出字体和格式,而只是简单导出一张图片,否则客户端找不到这些字体和格式。
TODO:
添加缓存功能:可能没有必要
添加统计功能:统计不同网站的请求次数
import os
from flask import Flask, request, Response
app = Flask(__name__)
file_id = 0
lat