Django 实现HTML转PDF 用通用视图编写PDF 并且让PDF支持中文

如何使用django-easy-pdf

你好! 这是我第一次使用 CSDN 发布文章,django工作有半年了,今天有个需求就是使用django视图来编写可浏览的PDF,但是研究许久未果。后来在度娘上找到了django-easy-pdf,也实现了我的需求,但是使用的过程中遇到了好多问题,接下来教你如何使用django-easy-pdf,并且分享我遇到的问题解决方案。 如果你想学习或了解更多关于django的知识,可以加Q群哦[828816138]。

django-easy-pdf的依赖

这个应用程序使Django中的PDF文件变得非常容易。它可用于从简单的HTML标记和CSS样式创建发票,账单和其他文档。您甚至可以嵌入图像并使用自定义字体。

该库提供了基于类的视图,只需要继承它 PDFTemplateView或 PDFTemplateResponseMixin 便可以呈现PDF

django-easy-pdf 依赖于取决于:

  1. django>=1.10
  2. xhtml2pdf>=0.2b1
  3. reportlab

安装django-easy-pdf

// An highlighted block
pip3.6 install xhtml2pdf> = 0.2b1

添加easy_pdf到INSTALLED_APPS
然后您就可以这样去使用了

{% extends "easy_pdf/base.html" %}

{% block content %}
    <div id="content">
        <h1>Hi there!</h1>
    </div>
{% endblock %}

编写CBV视图

from easy_pdf.views import PDFTemplateView

class PDFContract(PDFTemplateView):
    template_name = 'PDFContract.html'

	def get_context_data(self, **kwargs):
		return super(PDFContract, self).get_context_data(
            pagesize='A4',
            title='XXXX采购协议供货合同'
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值