订单通过weasyprint生成pdf文件或发票

Posted tuobei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了订单通过weasyprint生成pdf文件或发票相关的知识,希望对你有一定的参考价值。

一定要安装gtk3-runtime.exe,不装会出现cairo找不到的报错。

安装方法如下:

引用自链接 https://blog.csdn.net/qq_41185868/article/details/90238729

GTK+的简介
        GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。

        GTK+ 是一种图形用户界面(GUI)工具包。也就是说,它是一个库(或者,实际上是若干个密切相关的库的集合),它支持创建基于 GUI 的应用程序。可以把 GTK+ 想像成一个工具包,从这个工具包中可以找到用来创建 GUI 的许多已经准备好的构造块。差不多已经 10 年过去了。今天,在 GTK+ 的最新稳定版本 —— 2.8 版上(3.0测试中),仍然在进行许多活动,同时,GIMP 无疑仍然是使用 GTK+ 的最著名的程序之一,不过它已经不是惟一的使用 GTK+ 的程序了。已经为 GTK+ 编写了成百上千的应用程序,而且至少有两个主要的桌面环境(Xfce 和 GNOME)用 GTK+ 为用户提供完整的工作环境。

        GTK+虽然是用C语言写的,但是您可以使用你熟悉的语言来使用GTK+,因为GTK+已经被绑定到几乎所有流行的语言上,如:C++,php, Guile,Perl, Python, TOM, Ada95, Objective C, Free Pascal, and Eiffel。

GTK 官网:https://www.gtk.org/
GTK-Project:https://www.gtk.org/download/index.php

 

GTK特点

现代化、更新快:GTK+ 是采用软件开发中的最新技术开发的,只要发现缺陷(BUG)(肯定有缺陷,因为没有任何软件是完美的),开发人员就会尽力在下一版本中修补缺陷。使用现代的软件意味着,您不会陷在过时的工作中,而跟不上时代的发展。
国际化、可访问性:在创建要让所有人使用的软件的时候,请记住三个关键字:国际化、本地化和可访问性(通常分别缩写为 i18n、l10n 和 a11y)。
简单易用:这一点应当很明显,但是它实际上含义丰富。工具包对用户应当容易,这样才有可能创建简单的、直觉的和乐于使用的界面,哪怕针对的是新手。创建人机交互的正确模型不是一项简单的任务,GTK+ 正是长时间工作的结果,而且是众多的甚至困难的决策的结果。
设计灵活、可扩展:编写 GTK+ 的方式允许在不扭曲基本设计的情况下,让维护人员添加新功能、让用户利用新功能。工具包也是可扩展的,这意味着可以向其中添加自己的块,并用使用内置块一样的方式使用它们。例如,可以编写自己的控制元素,比如说用于显示应用程序处理的科学数据,并让它正确地遵照用户选择的显示风格,就像 GTK+ 自身的控件那样。
自由、开放:自由软件 意味着每个人不仅可以自由地获得和使用这个工具包,还可以在满足某些条件的情况下修改并重新发布它。自由开放源码许可 意味着这些条件不是严格限制的,可以得到的自由程度是显著的。
可移植:GTK+ 是可移植的。这意味着用户可以在许多平台和系统上运行它。另一方面,开发人员可以把软件提供给众多用户,却只要编写一次程序,还可以使用许多不同的编程和开发平台、工具和编程语言。所有这些都可以理解为更多的潜在用户,您可以利用更好地满足需求的更广泛的技能和工具。
 
GTK+的安装
第一步,下载GTK+,GTK+ for Windows
        地址01:win32版本,https://gtk.en.softonic.com/
        地址02:https://sourceforge.net/projects/gtk-win/
        地址03:http://gladewin32.sourceforge.net/

第二步,软件安装的时候,一般会自动加载。也可以手动加载,将其中bin文件夹,加入进系统环境变量,  D:Program Filesgdk_2.14.6-1_win32in

第三步,在cmd中运行: pkg-config –cflags gtk+-3.0 
第四步,import cairocffi as cairo ,发现不会报错

以上是关于订单通过weasyprint生成pdf文件或发票的主要内容,如果未能解决你的问题,请参考以下文章

django 生成动态的PDF文件

如何使用php和fpdf创建发票pdf? [关闭]

weasyprint 与 django 将数字呈现为图像

WeasyPrint HTML to PDF 未在 TEST VM 环境中呈现图像 - Django

python使用fpdf生成结账发票pdf文件

管理支付与订单