PDF主题– Advanced

前言

本文假定读者至少了解HTML和CSS的基本原理,并说明了KashFlow特有的大多数HTML和CSS功能’PDF主题生成器。这并不建议一般的HTML / 的CSS做法。

如果您不是完全从头开始设计PDF主题,建议您指定“Clean”作为模板。的“Classic”PDF Theme具有多余的HTML和CSS,以及类,id和选择器,它们仅与在其界面中发现的独特格式设置功能结合使用;作为一个“Template”仅复制HTML和CSS代码,这些功能不再使用,因此它们的代码是多余的。

怎么样‘PDF Themes’ Work

首先,基于您定义的HTML和CSS模板创建HTML文档。

然后我们解析HTML和CSS以替换特定的 [变量].

一些额外的 的CSS 添加,主要是为了隐藏该特定文档类型不需要的部分。

的HTML document is then converted to a PDF document.

最后,‘Logo’, ‘Background Image’, and ‘Document Footer’与定义在其中的任何边距一起添加“Borders & Margins”PDF主题的标签。

请注意
如果您不是完全从头开始设计PDF主题,建议您指定“Clean”作为模板。的“Classic”PDF Theme具有多余的HTML和CSS,以及类,id和选择器,它们仅与在其界面中发现的独特格式设置功能结合使用;作为一个“Template”仅复制HTML和CSS代码,这些功能不再使用,因此它们的代码是多余的。

可变替换

您应该在HTML中使用这些变量。然后将它们替换为适当的值。

Variable 名称用什么代替
[SENDER_ADDRESS_COMPANY]‘Company 名称’为KashFlow簿记帐户定义
[SENDER_ADDRESS_LINE1]
[SENDER_ADDRESS_LINE2]
[SENDER_ADDRESS_LINE3]
[SENDER_ADDRESS_LINE4]
‘Address’为KashFlow簿记帐户定义的第1、2、3、4行
[SENDER_ADDRESS_POSTCODE]‘Post Code’为KashFlow簿记帐户定义
[SENDER_ADDRESS_PHONE]‘Tel’为KashFlow簿记帐户定义
[SENDER_ADDRESS_EMAIL]‘Email’为KashFlow簿记帐户定义
[SENDER_ADDRESS_SINGLELINE]A compilation of the Sender 地址 values in the format of
[SENDER_ADDRESS_COMPANY],[SENDER_ADDRESS_LINE1],[SENDER_ADDRESS_LINE2],[SENDER_ADDRESS_LINE3],[SENDER_ADDRESS_LINE4],[SENDER_ADDRESS_POSTCODE]
[SENDER_ADDRESS_MULTILINE]A compilation of the Sender 地址 (your) values in the format of
[SENDER_ADDRESS_COMPANY]
[SENDER_ADDRESS_LINE1]
[SENDER_ADDRESS_LINE2]
[SENDER_ADDRESS_LINE3]
[SENDER_ADDRESS_LINE4]
[SENDER_ADDRESS_POSTCODE]
[文件名]的name of the document type the PDF Theme is generating, ie “Invoice”, “Customer Statement” etc.
[RECIPIENT_ADDRESS]A compilation of the Recipient 地址 in the format of
名称
地址 Line 1
地址 Line 2
地址 Line 3
地址 Line 4
邮编
国家
[LOGOFILE]An URL to the 商标 uploaded for the PDF Theme
[ADDITIONAL_TEXT]在其中输入的文字“Misc Options” > “Additional Text”PDF主题的标签,对于“文档类型”,如标签所示
[STAMP_IMG]的网址default “PAID” and “OVERDUE” stamps of 发票s
[PAYONLINE_LINK]的URL to appropriate Payment Processor gateway for the associated 发票
[PAYONLINE_IMG]的网址“Payment Button”为“ 卡什流帐户”下指定的图片‘Settings’ > ‘Card Options’。当给出 “#payment-button” 该元素只会出现在通过电子邮件发送的文档上
[DOC_INFO_BORDER]如果用户已指定 “在文档详细信息部分添加边框” 那么此变量将被替换为字符串“ docInfoBorder”,否则将被替换为空字符串
[RECIP_ADDR_BORDER]如果用户已指定 在客户地址上加上边框 那么此变量将被替换为字符串“ recipAddrBorder”,否则将被替换为空字符串
[ADDITIONAL_TEXT_BORDER]如果用户已指定 Include a border on the 附加文字 section 那么此变量将被替换为字符串“ addTextBorder”,否则将被替换为空字符串
[DOCUMENT_LINES]的compiled iteration over the “LINES.HTML”模板
[DOCUMENT_TOTALS]的compiled iteration over the “LINES_TOTALS.HTML”模板
[VATNUMINFO]增值税注册“Number” as defined under “Settings” > “Company Details”,其前缀为“Field 名称s”PDF主题的标签
[SHORT_NARRATIVE]与“付款收据”和“汇款通知单”文档类型一起使用。有关付款交易的简介,格式为:
在{交易日期}收到{付款金额}的付款
付款方式:{Payment方法}
{Transaction 评论}
[LONG_NARRATIVE]与提醒字母一起使用。包含各个提醒字母中指定的所有文本“Edit” field.
[公司]的company “Name” of the recipient
[联系]的“Full 名称”收件人公司的联系方式
[CUSTREF]
文件默认输出
发票的Purchase Order of the 发票
引用的Purchase Order of the 引用
采购的Supplier 参考erence of the associated 采购
装箱单的Purchase Order of the associated 发票
付款收据的Purchase Order of the associated 发票
汇款通知的Supplier 参考erence of the associated 采购
客户声明不曾用过
供应商声明不曾用过
[客户代码]
文件默认输出
发票的Customer Code
引用的Customer Code
采购的Supplier Code
装箱单的Customer Code
付款收据的Customer Code
汇款通知的Supplier Code
客户声明不曾用过
供应商声明不曾用过
[付款条件]为相应客户或供应商记录指定的付款条款。这只是返回数字,没有度量单位
[电话]的“Telephone”收件人编号
[传真]的“Fax”收件人编号
[移动]的“Mobile”收件人编号
[总]的total of the respective document
的following refer to the “labels”文档详细信息
[INFO_LABEL_1]
文件默认输出
发票发票 数
引用引用 数
采购采购参考
装箱单发票 数
付款收据发票 数
汇款通知我们的裁判
客户声明公司
供应商声明公司
[INFO_LABEL_2]
文件默认输出
发票发票 日期
引用报价日期
采购订单日期
装箱单发票 日期
付款收据发票 日期
汇款通知发票 日期
客户声明帐户
供应商声明帐户
[INFO_LABEL_3]
文件默认输出
发票截止日期
引用有效期
采购您的文献
装箱单截止日期
付款收据截止日期
汇款通知截止日期
客户声明日期
供应商声明日期
[INFO_LABEL_4]
文件默认输出
发票帐户
引用帐户
采购不曾用过
装箱单帐户
付款收据帐户
汇款通知帐户
客户声明不曾用过
供应商声明不曾用过
[INFO_LABEL_5]
文件默认输出
发票采购订单
引用报价参考
采购不曾用过
装箱单采购订单
付款收据不曾用过
汇款通知您的文献
客户声明不曾用过
供应商声明不曾用过
[INFO_LABEL_6]
如果您指定显示每个订单项的项目,则不会显示
文件默认输出
发票项目
引用项目
采购项目
装箱单项目
付款收据项目
汇款通知项目
客户声明不曾用过
供应商声明不曾用过
的following refer to the values文档详细信息
[INFO_VALUE_1]
文件默认输出
发票的数 of the 发票
引用的数 of the 引用
采购的数 of the 采购
装箱单的数 of the associated 发票
付款收据的数 of the associated 发票
汇款通知的数 of the associated 采购
客户声明的Customer ‘Name’
供应商声明的Supplier ‘Name’
[INFO_VALUE_2]
文件默认输出
发票的Issue 日期 of the 发票
引用的Issue 日期 of the 引用
采购的Issue 日期 of the 采购
装箱单的Issue 日期 of the associated 发票
付款收据的Issue 日期 of the associated 发票
汇款通知的Issue 日期 of the associated 采购
客户声明的Customer Code
供应商声明的Supplier Code
[INFO_VALUE_3]
文件默认输出
发票的Due 日期 of the 发票
引用的“Valid for” time in a “* Days” format
采购的Supplier 参考erence of the 采购
装箱单的Due 日期 of the associated 发票
付款收据的Due 日期 of the associated 发票
汇款通知的Due 日期 of the associated 采购
客户声明的Statement 日期
供应商声明的Statement 日期
[INFO_VALUE_4]
文件默认输出
发票的Customer Code
引用的Customer Code
采购的Supplier Code
装箱单的Customer Code
付款收据的Customer Code
汇款通知的Supplier Code
客户声明不曾用过
供应商声明不曾用过
[INFO_VALUE_5]
文件默认输出
发票的Purchase Order of the 发票
引用的Purchase Order of the 引用
采购不曾用过
装箱单的Purchase Order of the associated 发票
付款收据的Purchase Order of the associated 发票
汇款通知的Supplier 参考erence of the associated 采购
客户声明不曾用过
供应商声明不曾用过
[INFO_VALUE_6]
如果您指定显示每个订单项的项目,则不会显示
文件默认输出
发票的Project 数 of the 发票
引用的Project 数 of the 引用
采购不曾用过
装箱单的Project 数 of the associated 发票
付款收据的Project 数 of the associated 发票
汇款通知的Supplier 参考erence of the associated 采购
客户声明不曾用过
供应商声明不曾用过
的following refer to the headers of Document Lines
[COLA_HEADER]
如果选择,则不会显示在“报价”上“从发票中删除数量字段” from the “Field 名称s”PDF主题的选项卡
文件默认输出
发票数量
引用数量
采购数量
装箱单数量
付款收据(批量付款)未使用
(批量付款) 发票 数
汇款通知(批量付款)未使用
(批量付款) 我们的裁判
客户声明日期
供应商声明日期
[COLB_HEADER]
文件默认输出
发票描述
引用描述
采购描述
装箱单描述
付款收据(批量付款)未使用
(批量付款) 采购订单
汇款通知(批量付款)未使用
(批量付款) 您的文献
客户声明#
供应商声明收据编号
[COLC_HEADER]
文件默认输出
发票
引用
采购
装箱单不曾用过
付款收据(批量付款)未使用
(批量付款)
汇款通知(批量付款)未使用
(批量付款)
客户声明采购订单
供应商声明参考
[COLD_HEADER]
文件默认输出
发票
引用
采购
装箱单不曾用过
付款收据(批量付款)未使用
(批量付款)未使用
汇款通知(批量付款)未使用
(批量付款)未使用
客户声明到期
供应商声明到期
[COLE_HEADER]
Will not display on 发票s/ 引用s/ 采购if you are not set-up as to be 增值税 Registered
文件默认输出
发票增值税
引用增值税
采购增值税
装箱单不曾用过
付款收据(批量付款)未使用
(批量付款)未使用
汇款通知(批量付款)未使用
(批量付款)未使用
客户声明发票 Issued
供应商声明发票 Received
[COLF_HEADER]
文件默认输出
发票不曾用过
引用不曾用过
采购不曾用过
装箱单不曾用过
付款收据(批量付款)未使用
(批量付款)未使用
汇款通知(批量付款)未使用
(批量付款)未使用
客户声明已收到付款
供应商声明已付款
以下变量已替换为控制列显示所需的各种类名。可以包含以下任意一项的组合:smallCol,
alignLeft,alignCenter
[COLA_CLASSES]
如果选择,则不会显示在“报价”上“从发票中删除数量字段” from the “Field 名称s”PDF主题的选项卡
文件默认输出
发票的value for the quantity of the Line Item
引用的value for the quantity of the Line Item
采购的value for the quantity of the Line Item
装箱单的value for the quantity of the Line Item
付款收据(单次付款)未使用
(批量付款) 的Invoice 数
汇款通知(单次付款)未使用
(批量付款) 的Purchase 数
客户声明的Date of the 发票/ Payment
供应商声明的Date of the 采购/ Payment
[COLB_CLASSES]
文件默认输出
发票的value for the 描述 of the Line Item
引用的value for the 描述 of the Line Item
采购的value for the 描述 of the Line Item
装箱单的value for the 描述 of the Line Item
付款收据(单次付款)未使用
(批量付款) 的value for the 采购订单 of the 发票
汇款通知(单次付款)未使用
(批量付款) 的value for the 采购订单 of the 采购
客户声明的Invoice 数, or, the 银行 帐户 for Unallocated 付款方式
供应商声明的Purchase 数, or, the 银行 帐户 for Unallocated 付款方式
[COLC_CLASSES]
文件默认输出
发票的value for the 率 of the Line Item
引用的value for the 率 of the Line Item
采购的value for the 率 of the Line Item
装箱单不曾用过
付款收据(单次付款)未使用
(批量付款) 的amount allocated to the 发票
汇款通知(单次付款)未使用
(批量付款) 的amount allocated to the 采购
客户声明采购订单价值,或者‘Comment’未分配付款的价值
供应商声明采购订单价值,或者‘Comment’未分配付款的价值
[COLD_CLASSES]
文件默认输出
发票的value for the net total of the Line Item
引用的value for the net total of the Line Item
采购的value for the net total of the Line Item
装箱单不曾用过
付款收据(单次付款)未使用
(批量付款)未使用
汇款通知(单次付款)未使用
(批量付款)未使用
客户声明的Due 日期 of the 发票. 不用于付款
供应商声明的Due 日期 of the 采购. 不用于付款
[COLE_CLASSES]
Will not display on 发票s/ 引用s/ 采购if you are not set-up as to be 增值税 Registered
文件默认输出
发票的value for the 增值税 量 of the Line Item
引用的value for the 增值税 量 of the Line Item
采购的value for the 增值税 量 of the Line Item
装箱单不曾用过
付款收据(单次付款)未使用
(批量付款)未使用
汇款通知(单次付款)未使用
(批量付款)未使用
客户声明的value of the 发票 总
供应商声明的value of the 采购 总
[COLF_CLASSES]
文件默认输出
发票不曾用过
引用不曾用过
采购不曾用过
装箱单不曾用过
付款收据(单次付款)未使用
(批量付款)未使用
汇款通知(单次付款)未使用
(批量付款)未使用
客户声明Not used for 发票 lines. 的value of the Payment
供应商声明不用于采购行。 的value of the Payment
的following variables are intended for use within the “DOCUMENT.CSS” 模板
[字体]的name of the “Font”根据规定的家庭“The 基本”PDF主题的标签
[字体大小]的“Font”尺寸(点),具体说明如下“The 基本”PDF主题的标签
[字体颜色]的“Font”十六进制颜色,具体说明如下“The 基本”PDF主题的标签

插入的CSS

我们将一些其他CSS附加到您的模板中。这是为了隐藏部分(因为所有文档类型都使用相同的模板),或者是由于KashFlow帐户中定义了其他各种设置。查看下面的详细信息以及我们的“干净”模板中使用的HTML,应有助于您创建自己的模板。

健康)状况的CSS
INFO_LABEL_4为空#docinfo_4 {display:none;}
INFO_LABEL_5为空#docinfo_5 {display:none;}
INFO_LABEL_6为空或定义为不显示在文档上的项目#docinfo_6 {display:none;}
[SENDER_ADDRESS_ *]为空

(例如SENDER_ADDRESS_COMPANY,SENDER_ADDRESS_LINE1等)

.sender-address- * {display:none;}

(例如,
.sender-address-company {display:none;}
.sender-address-line1 {display:none;}
等等。)

User is not 增值税 registered or set their 增值税 数 not to show on the documents#vat-registration-info {display:none;}
总计无需显示#document-totals {display:none;}
column- *无需显示

(例如,a列,f列等)

.column- * {display:none;}

(例如,
.column-a {display:none;}
.column -f {display:none;}
等等。)

无需显示文件行

(用于诸如汇款通知书,提醒函等文件类型)

#document-lines {display:none;}
过期和已付邮票被定义为不显示,或者文档不是过期或已付发票#stamp-image {display:none;}
的付款按钮 is not defined to be displayed, or the Document is not an Unpaid 发票#payment-button {display:none;}
的document is not a Reminder Letter#long-narrative {display:none;}
的document is not either 汇款通知, or 付款收据#short-narrative {display:none;}
的PDF Theme has no 商标 uploaded for it, or it is defined to not be shown#logo {display:none; visibility:hidden;}
的user has defined a Left or Right property beneath the PDF主题“Borders & Margins” tab

注意:
PDF转换过程会自动处理上边距和下边距

#pdfdoc {margin-left:(x)px;边距右:(y)px;}
如果将字体设置为Helvetica,则需要取消粗体显示(以匹配旧设置)#pdfdoc#document-lines th,#pdfdoc h1 {font-weight:normal;}

Line 模板s

以及“DOCUMENT.HTML” and “DOCUMENT.CSS”模板,还有三个附加模板用于文档的行项目,行注释和总计。尽管可以,但很少需要进行编辑。

LINES.HTML
对文档中的每一行信息(例如,发票行)重复此操作。
请务必按照“清洁”主题保留每一列的班级信息:


<tr>
  <td class="[COLA_CLASSES] column-a">[COLA_VALUE]</td>
  <td class="[COLB_CLASSES] column-b">[COLB_VALUE]</td>
  <td class="[COLC_CLASSES] column-c">[COLC_VALUE]</td>
  <td class="[COLD_CLASSES] column-d">[COLD_VALUE]</td>
  <td class="[COLE_CLASSES] column-e">[COLE_VALUE]</td>
  <td class="[COLF_CLASSES] column-f">[COLF_VALUE]</td>
</tr>

LINES_COMMENT.HTML
当要渲染的行是单个单元格(例如注释行)时,将使用它代替lines.html:


<tr>
  <td colspan="6" class="alignLeft">[COLB_VALUE]</td>
</tr>

LINES_TOTALS.HTML
这用于在主行行表下生成文件总计。它也用于需要显示多行的付款收据和汇款通知书,例如如果付款是针对多张发票或购买的:


<tr class="[class]">
  <td>[label]:</td>
  <td>[value]</td>
</tr>

文档规范类

您可能会发现需要能够应用不同的布局或格式,具体取决于文档类型以及发票的大小写,其状态。这是通过在DOCUMENT.HTML模板中使用类[DOCUMENT_SPECS]定义一个html标签来实现的。例如:


<html class="[DOCUMENT_SPECS]">

根据要呈现的文档,变量将输出以下类:

发票: 发票已付款/未付款/过期信用证
装箱单: 装箱单
引用: 引用
汇款通知: 汇款通知
付款收据: 付款收据
采购订单: 采购订单
客户声明: 客户声明
供应商声明: SupplierStatement声明
提醒函: 提醒信

例如,如果要呈现的文档是未付款的贷方通知单,则将呈现以下HTML:


<html class="invoice is-creditNote is-unpaid">

使用的Document Type类的一个常见示例是插入专门的“Additional Text”出现在“客户对帐单”中的元素。这是通过首先在现有文档的DOCUMENT.HTML表中创建一个元素来实现的“additional-text”元件。例如:


<div id="附加文字" class="[ADDITIONAL_TEXT_BORDER]">
  <div class="original_addText">[ADDITIONAL_TEXT]</div>
  <div class="custom_addText">Some text to appear on 客户声明s about outstanding balances and Payment Terms
  <br>Bank 名称: name
  <br>Account 数: number
  <br>Sort Code: code
  <p>A salutation of gratitude for their custom, or some stern warning</p></div>
</div>

Then using the defined classes as selectors within the 文档 模板 to define under what circumstances the elements should be displayed:


/*The first selector 'targets' the custom_addText class for all
Document Types, the second 'targets' the original_addText class
for 客户声明s.*/
.custom_addText,
.customerStatement .original_addText {
  display: none;
}

/*This displays our custom_addText on 客户声明s
It overrides the above declaration to not display the
custom_text on all Document Types as this is more specific
than the above simple ".custom_addText" selector.*/
.customerStatement .custom_addText {
  display: initial;
}

这种做法可以应用于所有文档类型的其他情况,并允许极大的艺术自由,几乎可以无限地进行。

了解KashFlow如何与您的业务和书籍一起使用