我正在开发一款django应用。我有一个显示项目日志的页面,每个项目都有一个“打印标签”链接。此时,单击该链接会在弹出屏幕中显示该特定项目的标签,但不会将标签发送到打印机。 “打印标签”链接背后的查看功能如下所示:
@login_required
def print_label(request, id):
s = Item.objects.get(pk = id)
return render_to_response('templates/label.html', {'s': s}, context_instance=RequestContext(request))
标签的HTML如下所示:
{% load humanize %}
<head>
<style type="text/css">
div{
min-width: 350px;
max-width: 350px;
text-align: center;
}
body{
font-family: Arial;
width: 370px;
height: 560px;
text-align: center;
}
</style>
</head>
<body>
<div id="labelHeader">
<img src="{{ STATIC_URL }}img/label-header.png" width="350px">
</div>
<hr/>
<p></p>
<div id="destinationAddress">
<span style="font-size: xx-large; font-weight: bold;">{{ s.item_number }}</span>
</p>
DESTINATION:
<br/>
<strong>{{s.full_name}}</strong><br/>
<strong>{{ s.address }}</strong><br/>
<strong>{{s.city}}, {{s.state}}</strong><br/>
<strong>Tel: {{s.telephone}}</strong>
</div>
<p></p>
<hr/>
<div id="labelfooter">
<img src="{{ STATIC_URL }}img/label-footer.png" width="350px">
</div>
</body>
我的问题是,如何将显示的标签发送到同一功能的打印机?我研究并发现了一些库(如xhtml2pdf,webkit2png,pdfcrowd等),但是他们将创建标签的pdf或图像文件,我将不得不将其发送到打印机。是否可以直接发送到打印机而无需创建标签的pdf副本?如果是这样,请告诉我如何实现这一目标。
非常欢迎您的回答和建议。谢谢。
答案 0 :(得分:2)
据推测,由于这是一个Django应用程序,因此您需要使用客户端的打印机。唯一的方法是告诉用户的浏览器进行打印。您需要使用Javascript:window.print()
。