robertogallea / php-fatturapa
此包最新版本(0.2.0)没有可用的许可信息。
用于Fattura Elettronica PA的PHP包
0.2.0
2020-04-06 10:22 UTC
Requires
- nelexa/zip: ^3.1
- robrichards/xmlseclibs: ^3.0.4
- sabre/xml: ^2.1
This package is auto-updated.
Last update: 2024-09-27 19:13:25 UTC
README
php-fatturapa是FatturaPA XML规范的PHP实现。它允许从和向按照当前规范描述的文件格式读取和写入。
1. 安装
要安装php-fatturapa,请使用composer要求它
composer require robertogallea/php-fatturapa
2. 使用方法
php-fatturapa目前仅支持普通发票模型(不支持简化发票)
XML文档的整个DOM都被FatturaOrdinaria类包装,可以直接使用或使用FatturaPA类构建。
以下是基本使用示例
2.1 从XML文档文件读取
/* * Read from XML */ $filename = 'IT01234567890_FPA01.xml'; $fattura = FatturaPA::readFromXML($filename);
2.2 从已签名的XML文件读取
/* * Read from XML signed document */ $filename = 'IT01879020517_e4duu.xml.p7m'; $fattura = FatturaPA::readFromSignedXML($filename);
2.3 从XML字符串读取
/* * Read from XML string */ $xml = '<your-xml-string>'; $fattura = FatturaPA::readFromXMLString($xml);
2.4 写入XML文件
/* * Read from XML */ $filename = 'IT01234567890_FPA01.xml'; FatturaPA::writeToXML($fattura, $filename);
2.5 写入XML字符串
/* * Write to XML string */ $xml = FatturaPA::writeToXMLString($fattura);
3. 附件处理
php-fatturapa提供方便的方法来轻松地向XML文档添加和提取附件。
根据规范,它们存储在FatturaElettronicaBody元素内部,因此FatturaElettronicaBody类提供了方便的方法来存储附件,执行所需的压缩和base64编码
/* * Export attachments to folder */ $filename = 'IT01234567890_FPA01.xml'; $fattura = FatturaPA::readFromXML($filename); $folder = '/your/path'; foreach ($fattura->getFatturaElettronicaBody() as $body); $body->esportaAllegati($folder); }
/* * Add attachment */ $filename = 'IT01234567890_FPA01.xml'; $fattura = FatturaPA::readFromXML($filename); $attachment_filename = /path/to.pdf; $attachment = Allegati::createFromFile($attachment_filename,'Name','Description'); $fattura->getFatturaElettronicaBody()[0]->addAttachment($attachment);