tecsiaron / ublrenderer
UBL 2 HTML 渲染器 (PHP)
0.0.1-alpha
2024-07-18 10:26 UTC
Requires
- php: 8.1
- ext-bcmath: *
- ext-libxml: *
- ext-xmlreader: *
- ext-zip: *
- sabre/xml: ^4.0
- twig/twig: 3.4.3
Requires (Dev)
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2024-09-07 01:58:28 UTC
README
仍在测试阶段
不应在生产中使用
PHP 库,用于将 RO eFactura UBL/ZIP 文件转换为 HTML/PDF*
查看 示例 PDF 和 示例 HTML
使用 Twig 进行模板化,并支持用户自定义模板。
要求
- php 8.2 或更高版本
- ext-xmlreader
- ext-bcmath
- ext-zip
- ext-libxml
安装
composer require tecsiaron/ublrenderer
在 shell 中使用
php vendor/bin/ubl2html.php <input.xml or input.zip> <output.html>
在 PHP 中的简单使用(带 XML 文件)
$content=file_get_contents("path_to.xml"); $renderer = new UBLRenderer($content); $renderer->WriteFile();
使用 ANAF ZIP 的简单使用
$content=UBLRenderer::LoadUBLFromZip("test.zip")->ubl; $renderer = new UBLRenderer($content); $renderer->WriteFile();
在这两种情况下,文件将被写入到 vendor/tecsiaron/ublrenderer/output
要指定文件写入的位置,请调用 WriteFile(或 WriteFiles),如下所示
$renderer->WriteFiles(new HTMLFileWriter("path_to_output.html"));
高级使用
// get the contents of the XML $renderer = new UBLRenderer($content); $invoice=$renderer->ParseUBL(); $validation=$invoice->CanRender(); $validationFailReason="Validation failed:\n"; if(is_array($validation)) { echo "Failed to render invoice: ". implode("\n", $validation) } else { $html=$renderer->CreateHTML(invoice); }
*要支持 PDF,请安装 ublrenderer-pdf 并使用 PDFWriter
composer require tecsiaron/ublrenderer-pdf