abcaeffchen / sepa-documentor
从SEPA文件数据生成文件路由单和控制列表
2.0.0
2020-04-13 16:36 UTC
Requires
- php: >=7.0
- mpdf/mpdf: ^8 || ^7
Requires (Dev)
- phpunit/phpunit: ^9 || ^8 || ^7
This package is auto-updated.
Last update: 2024-08-30 01:26:55 UTC
README
通用
SepaDocumentor是一个模块,用于在生成SEPA xml文件的同时,为Sephpa创建文件路由单和控制列表作为PDF文件。
要求
SepaDocumentor与PHP 7.2, 7.3, 7.4兼容,需要mPDF >=7.0。它是Sephpa >= 2.0的可选模块,但您也可以将其与其他SEPA项目一起使用。
安装
Composer
只需将以下内容添加到您的composer.json
中,并将Composer自动加载器包含到您的脚本中。如果您想使用Sephpa与SepaDocumentor一起使用,您还需要添加以下行"abcaeffchen/sephpa": "~2.0.0"
{ "require": { "abcaeffchen/sepa-documentor": "~2.0" } }
直接下载
您可以从GitHub这里下载。您需要确保在所有使用Sephpa的文件中都可以访问它。您还必须下载mPDF并使其可访问SepaDocumentor。它与Sephpa集成,因此您不需要做任何事情。
PDF文件包含什么内容?
可以生成两个文件:文件路由单和控制列表。
文件路由单
文件路由单包含SEPA文件的摘要。这包括创建者的用户名和文件ID、交易数量和转账金额的总额以及其他一些信息。
控制列表
这包含SEPA文件中包含的所有交易的详细列表。
个性化PDF文件
您可以通过修改src/templates
中的模板来改变PDF文件的外观。这些文件还包含本地化信息。包含了一个德语模板和一个英语模板,但由于我对金融术语一无所知,英语版本可能是非常糟糕的翻译。所以如果有人能检查并给我一个正确的版本,我将很高兴 :)
如何使用
使用Sephpa
只需像往常一样使用Sephpa。当您调用download或store时,设置addDocumentation
标志。如果您想下载文件,您必须下载一个包含xml文件和PDF文件文档的zip文件。
使用其他SEPA库
概述
您可以使用以下四个函数
概述
FileRoutingSlip::createText($template, $data)
:将$data数组插入模板。$template
可以是模板的路径或默认模板的名称,它可以具有任何格式。FileRoutingSlip::createPDF($template, $data)
:与createText()
相同,但模板需要是HTML格式。ControlList::createText($template, $data, $transactions)
:将$data数组插入模板,并根据需要重复交易块,每个块都填充来自$transactions
数组中的数组的一个值。$template
可以是模板的路径或默认模板的名称,它可以具有任何格式。ControlList::createPDF($template, $data, $transactions)
:与createText()
相同,但模板需要是HTML格式。
模板
模板可以具有任何格式。您可以使用
- 形式为
{{KEYWORD}}
的占位符,其中KEYWORD
是匹配[a-zA-Z0-9_-]+
的字符串。 - 条件语句
{{ifdef KEYWORD}} BODY {{endif KEYWORD}}
:只有当KEYWORD
设置时才会打印BODY
。只要嵌套的条件使用其他关键字,BODY
可以包含占位符和其他条件。{{ifndef KEYWORD}} BODY {{endif KEYWORD}}
:只有当KEYWORD
未设置时才会打印BODY
。只要嵌套的条件使用其他关键字,BODY
也可以包含占位符和其他条件。{{TRANSACTION!}} BLOCK {{/TRANSACTION!}}
:这是一个仅允许用于控制列表的特殊命令块。BLOCK
可以包含任何其他占位符或条件。此块将被重复并针对每个事务进行解释。每个未使用的占位符都将从输出中删除。
输入
$data
是一个键 => 值数组,其中键是不带花括号的占位符。$transactions
是一个键 => 值数组的数组,每个事务一个。
不是每个占位符都需要在输入中存在。没有对应占位符的键将被忽略。
许可
根据 LGPL v3.0 许可协议许可。