我正在尝试使用Django在我的网站上将html转换为pdf。 我尝试使用wkhtmltopdf和pisa(以及一些使用它们的django模块),但我总是遇到与css和静态文件相同的问题。
我的基本布局如下所示:
{% load staticfiles %}
{% load bootstrap3 %}
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- ... -->
{% block css %}
{% bootstrap_css %}
<link rel="stylesheet" type="text/css" href="{% static 'website/css/style.css' %}" />
{% endblock css %}
</head>
<body>
<!-- ... -->
<div class="container" id="main-container">
<div id="page-content">{% block content %}{% endblock content %}</div>
</div>
</body>
</html>
另一种扩展基本布局的布局,包括我的简历:
{% extends "website/base.html" %}
<!-- ... -->
{% block content %}
<!-- ... -->
{% include "website/cv.html" %}
{% endblock content %}
我的简历:
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'website/css/cv.css' %}" />
<div id="cv">
<!-- ... -->
<img src="{% static 'website/img/me.jpg' %}" class="img-rounded">
<!-- ... -->
</div>
我想将简历呈现为pdf,问题是它使用bootstrap_css和静态文件(css文件和图片)并且它们不会被渲染。
我检查了一些类似的主题,但他们把所有的CSS放在html中,这在我的情况下并不是很好。即使我通过将所有css放在我的简历中来尝试此解决方案,{%bootstrap_css%}块也不起作用。
有什么方法可以让它发挥作用吗?我可以使用任何与django或linux一起使用的库/模块。
谢谢
答案 0 :(得分:0)
如果您能找到HTML
和PDF
之间的100%映射,我会感到惊讶!尤其是像引导程序这样花哨的“新东西”。 (在字处理器格式之间进行转换很难!)
但是,如果您有一个仅用于CSS
渲染的特殊内联PDF
脚本,该怎么办?您可以使用mediatype
属性来控制它吗?我想知道......
免责声明:我从未说服Django做我想做的事。 YMMV。