igrejanet/badges

用于为教堂成员创建徽章的包

安装: 21

依赖: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:

3.0.0 2022-08-13 01:14 UTC

This package is auto-updated.

Last update: 2024-09-13 06:45:19 UTC


README

Build Status

Igrejanet Badges

Igrejanet Badges 包负责生成各种徽章和卡片。

安装

安装时,请使用 composer

$ composer require igrejanet/badges

注意:该包已准备好与 Laravel 5.5 一起使用。因此,无需注册 Service Provider

使用

要使用此包,您可以这样做

框架无关

<?php
require_once './vendor/autoload.php';

use Igrejanet\Badges\Badge;
use Igrejanet\Badges\Person\Company;
use Igrejanet\Badges\Person\Members;
use Igrejanet\Badges\Person\Person;use Knp\Snappy\Pdf;

// Você pode setar uma localização diferente para o gerador
// mas o mesmo já vem listado como dependência no composer
$pdf = new Pdf(__DIR__ . './vendor/bin/wkhtmltopdf-amd64');

// Dados da Empresa
$logo = __DIR__.'/img/logo.png';
$type = 'Carteira de Identificação Ministerial';
$companyInfo = [
    'II Igreja de Deus do Avivamento Bíblico',
    'Rua G, 336 - Vila Campos - Montes Claros - MG',
    'Tel.: (38)4009-5777 - idabmoc@gmail.com.br - http://idabmoc.com'
];
$cardInfo = [
    'Uso exclusivo para identificação ministerial',
    'Esta carteira é pessoal e intransferível',
    'Válida somente enquanto o usuário estiver regularmente registrado'
];

$company = new Company($logo, $type, $companyInfo, $cardInfo);

// Dados dos usuarios
$foto    = __DIR__.'/img/matheus.jpg';
$members = new Members();

$members->add(
    new Person('Matheus', 'Analista', 8364, $foto, ['RG' => 'MG 11.111.111'])
);

$members->add(
    new Person('Lopes', 'DBA', 8399, $foto, ['RG' => 'MG 14.131.121', 'CPF' => '101.384.146-88', 'Cargo' => 'DBA'])
);

// Gera as carteirinhas
$badge    = new Badge($pdf);
$response = $badge->setMembers($members)
    ->setCompany($company)
    ->generate();

$response->send();

与 Laravel 一起使用

要与 Laravel 一起使用,您必须在 .env 文件中定义生成器文件的路径,使用变量 WKHTMLTOPDF_LOCATION

完成此操作后,只需以下操作

<?php

use Igrejanet\Badges\Contracts\BadgeContract as Badges;
use Igrejanet\Badges\Contracts\MembersContract as Members;
use Igrejanet\Badges\Person\Company;

class UserController extends Controller
{
    protected $badges;
    
    protected $members;
    
    public function __construct(Badges $badges, Members $members)
    {
        $this->badges  = $badges;
        $this->members = $members;
    }
    
    public function genBadges()
    {
        $foto ='img/matheus.jpg';
        
        $this->members->add(
            new Person('Matheus', 'Analista', 8364, $foto, ['RG' => 'MG 11.111.111'])
        );

        $this->members->add(
            new Person('Lopes', 'DBA', 8399, $foto, ['RG' => 'MG 14.131.121', 'CPF' => '101.384.146-88', 'Cargo' => 'DBA'])
        );

        $logo = 'img/logo.png';
        $type = 'Carteira de Identificação Ministerial';

        $companyInfo = [
            'II Igreja de Deus do Avivamento Bíblico',
            'Rua G, 336 - Vila Campos - Montes Claros - MG',
            'Tel.: (38)4009-5777 - idabmoc@gmail.com.br - http://idabmoc.com'
        ];

        $cardInfo = [
            'Uso exclusivo para identificação ministerial',
            'Esta carteira é pessoal e intransferível',
            'Válida somente enquanto o usuário estiver regularmente registrado'
        ];
        
        $company = new Company($logo, $type, $companyInfo, $cardInfo);
        
        return $this->badges
            ->setMembers($this->members)
            ->setCompany($company)
            ->generate();
    }
}

两种选项都会返回一个 PDF 文件。您可以在 examples 目录中查看可用的使用示例。要执行示例,请运行

$ php -S 127.0.0.1:8000 -t examples