igrejanet / badges
Package to create badges for church`s members
Installs: 22
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:libray
Requires
- php: ^8.1
- ext-gd: *
- h4cc/wkhtmltopdf-amd64: ^0.12.3
- illuminate/http: ^7.0|^8.0|^9.0
- illuminate/support: ^7.0|^8.0|^9.0
- knplabs/knp-snappy: 1.*
- laminas/laminas-barcode: ^2.0
Requires (Dev)
- laravel/pint: ^1.1
- pestphp/pest: ^1.21
- phpmd/phpmd: ^2.12
- squizlabs/php_codesniffer: ^3.7
README
Igrejanet Badges
O Package Igrejanet Badges é responsável pela geração de crachás e carteirinhas diversas.
Instalação
Para instalação, utilize o composer:
$ composer require igrejanet/badges
Note: O pacote vem preparado para uso com o Laravel 5.5. Sendo assim, não é necessário registrar o Service Provider
Utilização
Para utilizar o pacote voçê pode fazer da seguinte forma:
Framework Agnostic
<?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();
Com Laravel
Para uso com Laravel, você deve definir a localização do
arquivo gerador no arquivo .env
com a variável WKHTMLTOPDF_LOCATION
.
Feito isto, basta o seguinte:
<?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(); } }
As duas opções retornam um arquivo PDF.Você pode conferir os exemplos de uso
disponíveis no diretório examples
. Para executar os exemplos
execute:
$ php -S 127.0.0.1:8000 -t examples