如何使用 Django 将 HTML 页面转换为 PDF

2024-02-05

我有一个 Django 网络应用程序。它是一个存储账单和发票的平台。现在我正在尝试将这些账单导出为 PDF 格式。

我正在使用 xhtml2pdf 但它不起作用。

我正在使用此代码进行测试:http://obroll.com/generate-pdf-with-xhtml2pdf-pisa-in-django-examples/ http://obroll.com/generate-pdf-with-xhtml2pdf-pisa-in-django-examples/

它不会给出任何错误,但不会生成 PDF 文档。


尝试使用此代码。这个对我有用。 更改模板的“template_testing.html”并添加要在“data = {}”上呈现的数据

视图.py:

import os
from django.conf import settings
from django.http import HttpResponse
from django.template import Context
from django.template.loader import get_template
import datetime
from xhtml2pdf import pisa 


def generate_PDF(request):
    data = {}

    template = get_template('template_testing.html')
    html  = template.render(Context(data))

    file = open('test.pdf', "w+b")
    pisaStatus = pisa.CreatePDF(html.encode('utf-8'), dest=file,
            encoding='utf-8')

    file.seek(0)
    pdf = file.read()
    file.close()            
    return HttpResponse(pdf, 'application/pdf')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Django 将 HTML 页面转换为 PDF 的相关文章

随机推荐

  • 成功拉取请求后更改分支并删除 Git 中的分支

    我创建了一个分支 newbranch 从主人那里出来 然后又推回原点 然后我创建了一个拉取请求 该请求被接受并合并到 master 中 此时我应该删除 newbranch 从我的本地并重新从主人那里拉来开始做新的事情 在分支被接受为 mas
  • R - 根据匹配的名称逐个元素组合任意列表

    我有两个清单 m list a list b list 1 2 c 3 b1 4 e 5 n list a list b list 10 20 c 30 b1 40 f 50 其中 m 的结构为 List of 1 a List of 4
  • 函数 eregi() 已弃用 [重复]

    这个问题在这里已经有答案了 函数 eregi 已弃用 我怎样才能替换 eregi 我尝试使用 preg match 但随后停止工作 我使用道德帮助 http takien com 513 how to fix function eregi
  • 通过命令行运行 JAR 时出现错误 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    我有一个正在使用的java程序mysql数据库连接代码 我已经添加了mysql connector java 3 0 10 stable bin jar and mysql connector java 5 0 4 bin jar我的 ec
  • 使用servlet,如何从数据库下载多个文件并将它们压缩以供客户端下载

    我有一个 jsp servlet Web 应用程序 客户端可以通过下拉框选择 课程 和 作业 然后单击按钮下载数据库中该课程 作业组合下列出的所有文件 servlet 代码不太工作 因为 zip 文件没有作为附件发送到浏览器 我确实有一次下
  • 如何在 Interface Builder 中输入 RGB 值?

    如何在 Interface Builder 中输入背景的 RGB 或 Hex 颜色值 我可以选择预定义的颜色 但我想手动输入 RGB 值 我可以在哪里执行此操作 单击颜色滑块图标 然后从下拉列表中选择 RGB 滑块 您还可以使用放大镜作为颜
  • 有没有办法使用 Jquery 检测跨浏览器按下后退按钮

    我有一个正在幻灯片放映的网站 当用户按下后退按钮时 我希望它返回到相册视图而不是先前的页面并阻止页面 有办法做到这一点吗 感谢您的任何帮助或建议 jQuery Address 为浏览器历史记录和 Ajax 抓取提供了强大的跨浏览器支持 ht
  • Apache Rewritemap 未被读取?

    我有一个简单的键值映射文件 它将旧用户 ID 转换为新用户 ID 目标是从旧网站拉出会员个人资料页面 并重定向到新网站 其中会员拥有新的用户 ID 我的虚拟主机配置文件是这样的
  • 更改 TabControl 未使用空间的颜色

    我想更改 TabPage 标题右侧未使用空间的颜色 我试图覆盖OnPaintBackground窗口的方法并且它正在工作 这是我使用的代码 protected override void OnPaintBackground PaintEve
  • 无法找到速度模板资源

    只是一个基于 Maven 结构的简单速度独立应用程序 这是用 Scala 编写的用于渲染模板的代码片段helloworld vm in basedir src main resources文件夹 com ggd543 velocitydem
  • Python 中的货币格式

    我希望使用 Python 将 188518982 18 等数字格式化为 188 518 982 18 我怎样才能做到这一点 See the locale https docs python org 3 library locale html
  • Excel ActiveX 列表框随着每次更新而缩小

    我有一组链接的子程序 其工作原理如下 用户在 ActiveX 文本框中键入内容 该文本框中的更改事件调用模块中的子组件 该模块子驱动器更新工作表中的命名范围 范围值驱动更新使用基于范围值的查找函数的 Excel 单元格表 表值被复制并粘贴到
  • 如何从 flutter 应用程序打开 Instagram?

    当我点击按钮时 我想切换到 Instagram 个人资料 我使用这个库网址启动器 https pub dev packages url launcher 但我只能使用网络浏览器来实现此目的 为了实现我的目标 我要做什么 要打开本机和 Web
  • 计算输入字符 - 使用 onkeyup 还是 onkeydown?

    我需要为用户设置最大字符输入 类似于 stackoverflow com 的工作方式 我计划使用 javascript 向用户提供反馈并计算字符数 仅允许提交不超过最大字符数的内容 我不打算使用 xhtml 输入属性来限制此数量 因为只要不
  • C# 中带有圆角边框的表单? [复制]

    这个问题在这里已经有答案了 我使用此代码使表单没有边框样式 this FormBorderStyle FormBorderStyle None 我需要在表格上制作圆角边缘 有简单的方法吗 我该怎么做 看看这个 http msdn micro
  • 水豚 & RSpec

    我无法让水豚成功工作 它抱怨说has text是一个未定义的方法 我创建了一个新的 Rails 3 1 项目 rails new test T Gemfile source http rubygems org gem rails 3 1 3
  • 从 Java 调用 PLSQL 过程

    下面是我的Java程序 我正在调用 PLSQL 过程来更新员工姓名 我关闭了 PLSQL 代码中的提交 以便可以从 Java 代码进行提交和回滚 但即使在我关闭自动提交并执行显式回滚之后 表中的详细信息仍然会更新 如何 我不知道 请帮忙 这
  • 我可以在没有特定 NSManagedObjectContext 的情况下创建 NSManagedObject 实例吗?

    我正在构建一个应用程序 它从 Web API 接收大量列表 并允许用户保存一些列表以供离线查看 我通常的做法是 从API获取数据 并为每个数据创建一个新的Listing对象 如果用户选择将对象保存到数据库中 但这是一个核心数据应用程序 因此
  • java中零的情况下的负号

    有没有办法在结果返回零时截断负号 使用十进制格式时 DecimalFormat df new DecimalFormat 0 0 df setRoundingMode RoundingMode HALF UP formattedValue
  • 如何使用 Django 将 HTML 页面转换为 PDF

    我有一个 Django 网络应用程序 它是一个存储账单和发票的平台 现在我正在尝试将这些账单导出为 PDF 格式 我正在使用 xhtml2pdf 但它不起作用 我正在使用此代码进行测试 http obroll com generate pd