horstoeko/zugferd-laravel

Laravel-Framework 用于创建和读取欧洲电子发票的库

v1.0.1 2023-09-27 16:51 UTC

This package is auto-updated.

Last update: 2024-08-28 05:13:35 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Gitter

CI (Ant, PHP 7.3) CI (Ant, PHP 7.4) CI (PHP 8.0) CI (PHP 8.1)

Laravel 的简单 ZUGFeRD/XRechnung/Factur-X 库

目录

许可

此项目的代码在MIT 许可下提供。

概述

此库是 Laravel 框架中 horstoeko/zugferd 库的扩展。它提供了与底层库 horstoeko/zugferd 通信的界面。

依赖

此软件包使用

安装

安装 horstoeko/zugferd-laravel 有一种推荐的方式,通过 Composer

  • 将依赖项添加到您的 composer.json 文件中
  "require": {
      ..
      "horstoeko/zugferd-laravel":"^1",
      ..
  },

使用

通常,您应该在使用此库之前阅读 horstoeko/zugferd 库的文档示例

此软件包提供了一个名为 ZugferdLaravel 的界面,以下示例中使用了该界面。

只需添加如下形式的 use 语句

use horstoeko\zugferdlaravel\Facades\ZugferdLaravel;

在 MINIMUM-Profile 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInMinimumProfile();

在 BASIC-Profile 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInBasicProfile();

在 BASIC-WL-Profile 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInBasicWlProfile();

在 EN16931-Profile (COMFORT-Profile) 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInEN16931Profile();

在 EXTENDED-Profile 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInExtendedProfile();

在 XRECHNUNG-Profile (版本 2.2) 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInXRechnung22Profile();

在 XRECHNUNG-Profile (版本 2.3) 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInXRechnung23Profile();

在 XRECHNUNG-Profile (版本 3.0) 中创建新的文档构建器

$document = ZugferdLaravel::createDocumentInXRechnung30Profile();

从现有的 XML 文件创建文档读取器

$document = ZugferdLaravel::readXmlFromFile('/path/to/file.xml');

从 XML 字符串创建文档读取器

$document = ZugferdLaravel::readXmlFromString('<xml>...</xml>');

从现有的 PDF 文件(包含附加的 XML 文件)创建文档读取器

$document = ZugferdLaravel::readXmlFromPdfFile('/path/to/file.pdf');

通过 ZugferdDocumentBuilder 的输出创建合并的 PDF(XML 作为附件)

$document = ZugferdLaravel::createDocumentInEN16931Profile();

$document
    ->setDocumentInformation("471102", "380", \DateTime::createFromFormat("Ymd", "20180305"), "EUR")
    ->....;

$pdfDataOrFilename = '/path/to/file.pdf';
$mergedPdfFilename = '/path/to/merged.pdf';

ZugferdLaravel::buildMergedPdfByDocumentBuilder($document, $pdfDataOrFilename, $mergedPdfFilename);

通过现有的 XML 文件和现有的 PDF 文件创建合并的 PDF

$xmlDataOrFilename = '/path/to/file.xml';
$pdfDataOrFilename = '/path/to/file.pdf';
$mergedPdfFilename = '/path/to/merged.pdf';

ZugferdLaravel::buildMergedPdfByXmlDataOrXmlFilename($xmlDataOrFilename, $pdfDataOrFilename, $mergedPdfFilename);

通过现有的 XML 数据字符串和现有的 PDF 文件创建合并的 PDF

$xmlDataOrFilename = '<?xml version="1.0" encoding="UTF-8"?><rsm:CrossIndustryInvoice.....';
$pdfDataOrFilename = '/path/to/file.pdf';
$mergedPdfFilename = '/path/to/merged.pdf';

ZugferdLaravel::buildMergedPdfByXmlDataOrXmlFilename($xmlDataOrFilename, $pdfDataOrFilename, $mergedPdfFilename);

通过现有的 XML 文件和 PDF 数据字符串创建合并的 PDF

$xmlDataOrFilename = '/path/to/file.xml';
$pdfDataOrFilename = '%PDF-1.5....';
$mergedPdfFilename = '/path/to/merged.pdf';

ZugferdLaravel::buildMergedPdfByXmlDataOrXmlFilename($xmlDataOrFilename, $pdfDataOrFilename, $mergedPdfFilename);

通过现有的 XML 数据字符串和 PDF 数据字符串创建合并的 PDF

$xmlDataOrFilename = '<?xml version="1.0" encoding="UTF-8"?><rsm:CrossIndustryInvoice....';
$pdfDataOrFilename = '%PDF-1.5....';
$mergedPdfFilename = '/path/to/merged.pdf';

ZugferdLaravel::buildMergedPdfByXmlDataOrXmlFilename($xmlDataOrFilename, $pdfDataOrFilename, $mergedPdfFilename);