redocmx/client-php

CFDI到PDF的转换。

0.0.2 2024-04-09 14:41 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:01:07 UTC


README

redocmx/client-php

redocmx/client-php模块是用于与redoc.mx REST API交互的PHP客户端,可以将CFDI(Comprobante Fiscal Digital por Internet)转换为PDF。

此客户端简化了发送XML数据和检索转换后的PDF的过程,包括交易详情和元数据。

要求

PHP 5.6.0及更高版本。

安装

要安装模块,运行

composer require redocmx/client-php

要使用绑定,请使用Composer的自动加载

require_once 'vendor/autoload.php';

用法

首先,导入模块并创建Redoc客户端的实例。

您可以可选地传递API密钥作为参数,或者客户端将尝试从REDOC_API_KEY环境变量中加载它。

  use Redocmx\RedocmxClient;

  # Create a Redoc instance
  $redoc = new RedocmxClient('your_api_key_here');

将CFDI转换为PDF

redocmx/client-php提供两种加载CFDI数据的方式:从文件系统加载或直接从字符串加载。

选项1:从文件系统加载XML

$cfdi = $redoc->cfdi()->fromFile('./path/to/your/file.xml');

选项2:使用XML内容字符串

$cfdi = $redoc->cfdi()->fromString('<xml_content_string_here>');

生成PDF

要将加载的CFDI转换为PDF

  try {
    # Create the PDF
    $pdf = $cfdi->toPdf();

    echo("Transaction ID: " . $pdf->getTransactionId() . "\n");
    echo("Total Pages: " . $pdf->getTotalPages() . "\n");
    echo("Total Time: " .$pdf->getTotalTimeMs() . "\n");
    print_r($pdf->getMetadata());

    # Save in file system
    file_put_contents('./result.pdf', $pdf->toBuffer());

  } catch (Exception $e) {
    echo "An error occurred during the conversion: " . $e->getMessage();
  }

示例

API参考

RedocmxClient

$redoc对象是使用new RedocmxClient(api_key)创建的RedocmxClient实例。

Cfdi

$cfdi对象是使用$redoc->cfdi()->fromFile(filePath)$redoc->cfdi()->fromString(fileContent)创建的Cfdi实例。

PdfOptions
[
	"style_pdf"=>"John"
]

Pdf

$pdf对象是使用$cfdi->toPdf(options)创建的Pdf实例。

CfdiMetadata
[
    TDB...
]

贡献

欢迎贡献!请随时提交拉取请求或创建问题以报告任何错误、功能或改进。

许可证

本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。