robertogallea/php-fatturapa

此包最新版本(0.2.0)没有可用的许可信息。

用于Fattura Elettronica PA的PHP包

0.2.0 2020-04-06 10:22 UTC

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);