本页介绍的是 16 版本之前的打印功能。16 版本及之后的版本,请参阅打印。
- 打印文档
- 打印格式编辑器
- HTML 打印格式
- PDF 生成
Frappe 框架对生成文档打印格式并将其转换为 PDF 提供了一流的支持。Frappe 使用 Jinja 作为打印格式的模板语言。
打印视图
可以从任何文档的表单视图访问打印视图。系统会根据表单布局和其中的必填字段,为所有 DocType 生成标准打印格式。 打印视图
打印格式构建器
要自定义打印格式,你需要创建标准打印格式的副本,并使用打印格式构建器进行自定义。这些打印格式是用户可编辑的,不会作为文件打包在应用中。
打印格式构建器
自定义 HTML
你还可以向打印格式中添加自定义 HTML。只需将左侧边栏中的自定义 HTML 按钮拖放到打印格式编辑器中即可。
在自定义 HTML 字段中,你可以使用任何有效的 HTML,并使用 Bootstrap 3 类进行样式设置。你还可以使用 Jinja 模板向 HTML 中添加动态内容。请参阅 Jinja 模板中可用的方法列表。
自定义 HTML
自定义 CSS
要更改打印格式中的样式,你还可以添加自定义 CSS。
点击自定义 > 编辑属性以添加自定义 CSS
自定义 CSS
自定义 CSS 预览
高级打印格式
如果你想完全更改打印格式的布局,打印格式构建器就有局限性了。你也可以从头编写自己的 HTML,构建你想要的打印布局。
要创建新的打印格式,请在 awesomebar 中输入“new print format”并按回车。
- 为你的格式选择一个唯一的名称。
- 将“标准”设置为“否”。
- 勾选“自定义格式”。
- 将打印格式类型选择为“Jinja”
- 编写你的自定义 HTML
如果你将标准设置为“是”并启用了开发者模式,那么系统将为你的打印格式生成一个 JSON 文件,你需要将其签入你的应用版本控制中。
打印格式中的自定义 HTML
报表的打印格式
Frappe 允许你为查询报表和脚本报表创建自定义打印格式。这些打印格式无法通过 UI 创建。
要为报表创建打印格式,请在报表文件夹中创建一个名为 {report-name}.html 的 HTML 文件。
例如,查看总账
JS 模板
这些打印格式是在客户端生成的,因此我们不能使用 Jinja。我们使用了 John Resig 模板的改编版本。它看起来与 Jinja 类似,所以你不需要学习任何新东西。
以下是 JS 模板的代码片段。
{% for(var i=0, l=data.length; i<l i>
{% if(data[i].posting_date) { %}
{%= frappe.datetime.str_to_user(data[i].posting_date) %}
{% if(!(filters.party || filters.account)) { %}
{%= data[i].party || data[i].account %}
<br>
{% } %}
{{ __("Against") }}: {%= data[i].against %}
<br>{%= __("Remarks") %}: {%= data[i].remarks %}
{% } else { %}
<b>{%= frappe.format(data[i].account, {fieldtype: "Link"}) || " " %}</b>
{%= data[i].account && format_currency(data[i].debit, filters.presentation_currency) %}
{% } %}
{% } %}
</l>