【发布时间】:2017-02-13 05:21:00
【问题描述】:
我想知道如何将包含一些 Mathjax 的 HTML 文件转换为 pdf(以便打印)。我试图让它像这样工作:
VIEWS.PY 从 easy_pdf.views 导入 PDFTemplateView
类 HelloPDFView(PDFTemplateView): template_name = "mytemplate.html"
def get_context_data(self, **kwargs):
context = super(HelloPDFView, self).get_context_data(
pagesize="A4",
title="Hi Pierre!",
**kwargs
)
context.update({'variable':12})
return context
我的模板.HTML
{% extends "easy_pdf/base.html" %}
{% block extra_style %}
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
});
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
{% endblock %}
{% block content %}
<div id="content">
<h1>Hi there!{{variable}}</h1>
{% autoescape on %}
$$ \frac{a}{b} x=2 $$
{% endautoescape %}
</div>
{% endblock %}
URLS.PY
urlpatterns = patterns('',
('^monpremierpdf.pdf$', HelloPDFView.as_view()),
)
但这并没有给我预期的结果。而且我仍然可以在我的 pdf 中看到“$$”,但里面没有任何乳胶。
如果有人可以向我解释最简单的方法,那对我正在从事的项目非常有帮助......
谢谢!
【问题讨论】:
-
上次我检查,reportlab 没有执行 JavaScript,所以 MathJax 永远不会运行。如果您可以在将数学片段或完整的 html 传递给 reportlabs 之前截获它,您也许可以使用 mathjax-node 做一些事情。
-
未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。
标签: django pdf pdf-generation mathjax reportlab