使用reportlab django

时间:2016-10-04 22:08:42

标签: django pdf pdf-generation mathjax reportlab

我想知道如何将包含一些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

MYTEMPLATE.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()),
                      )

但它并没有给我我期待的结果。我仍然可以看到&#34; $$&#34;在我的pdf里面没有任何Latex。

如果有人能够解释我最简单的方法,那对我正在进行的项目来说真的很有帮助......

谢谢!

1 个答案:

答案 0 :(得分:0)

我终于找到了一个解决方案:使用pdfcrowd

1°。在此订阅:pdfcrowd.com 2°。他们为您提供用户名和API密钥(前100个令牌是免费的) 3°。运行:pip install pdfcrowd 4°。

fgets

结果完全符合我的要求......