print contreoller

print-controller
Zelda Ababil 2024-02-19 15:57:34 +07:00
parent a84a4ca90b
commit f33791fad3
3 changed files with 338 additions and 1 deletions

View File

@ -13,7 +13,9 @@
"laravel/framework": "^10.10", "laravel/framework": "^10.10",
"laravel/sanctum": "^3.3", "laravel/sanctum": "^3.3",
"laravel/tinker": "^2.8", "laravel/tinker": "^2.8",
"mike42/escpos-php": "^4.0",
"mpdf/mpdf": "^8.2", "mpdf/mpdf": "^8.2",
"rawilk/laravel-printing": "^3.0",
"realrashid/sweet-alert": "^6.0", "realrashid/sweet-alert": "^6.0",
"spatie/laravel-permission": "^6.3", "spatie/laravel-permission": "^6.3",
"yajra/laravel-datatables": "^10.1" "yajra/laravel-datatables": "^10.1"

255
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "622a1b44adad65bf17c6308f5e4f8fe0", "content-hash": "567591cda48f423310b36ddd6619d83e",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@ -2286,6 +2286,112 @@
}, },
"time": "2022-12-02T22:17:43+00:00" "time": "2022-12-02T22:17:43+00:00"
}, },
{
"name": "mike42/escpos-php",
"version": "v4.0",
"source": {
"type": "git",
"url": "https://github.com/mike42/escpos-php.git",
"reference": "74fd89a3384135c90a8c6dc4b724e03df7c0e4f9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mike42/escpos-php/zipball/74fd89a3384135c90a8c6dc4b724e03df7c0e4f9",
"reference": "74fd89a3384135c90a8c6dc4b724e03df7c0e4f9",
"shasum": ""
},
"require": {
"ext-intl": "*",
"ext-json": "*",
"ext-zlib": "*",
"mike42/gfx-php": "^0.6",
"php": ">=7.3.0"
},
"require-dev": {
"phpunit/phpunit": "^9",
"squizlabs/php_codesniffer": "^3.3"
},
"suggest": {
"ext-gd": "Used for image printing if present.",
"ext-imagick": "Will be used for image printing if present. Required for PDF printing or use of custom fonts."
},
"type": "library",
"autoload": {
"psr-4": {
"Mike42\\": "src/Mike42"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Billington",
"email": "michael.billington@gmail.com"
}
],
"description": "PHP receipt printer library for use with ESC/POS-compatible thermal and impact printers",
"homepage": "https://github.com/mike42/escpos-php",
"keywords": [
"Epson",
"barcode",
"escpos",
"printer",
"receipt-printer"
],
"support": {
"issues": "https://github.com/mike42/escpos-php/issues",
"source": "https://github.com/mike42/escpos-php/tree/v4.0"
},
"time": "2022-05-23T11:05:09+00:00"
},
{
"name": "mike42/gfx-php",
"version": "v0.6",
"source": {
"type": "git",
"url": "https://github.com/mike42/gfx-php.git",
"reference": "ed9ded2a9298e4084a9c557ab74a89b71e43dbdb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mike42/gfx-php/zipball/ed9ded2a9298e4084a9c557ab74a89b71e43dbdb",
"reference": "ed9ded2a9298e4084a9c557ab74a89b71e43dbdb",
"shasum": ""
},
"require": {
"php": ">=7.0.0"
},
"require-dev": {
"phpbench/phpbench": "@dev",
"phpunit/phpunit": "^6.5",
"squizlabs/php_codesniffer": "^3.3.1"
},
"type": "library",
"autoload": {
"psr-4": {
"Mike42\\": "src/Mike42"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-or-later"
],
"authors": [
{
"name": "Michael Billington",
"email": "michael.billington@gmail.com"
}
],
"description": "The pure PHP graphics library",
"homepage": "https://github.com/mike42/gfx-php",
"support": {
"issues": "https://github.com/mike42/gfx-php/issues",
"source": "https://github.com/mike42/gfx-php/tree/v0.6"
},
"time": "2019-10-05T02:44:33+00:00"
},
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "3.5.0", "version": "3.5.0",
@ -4057,6 +4163,93 @@
], ],
"time": "2023-11-08T05:53:05+00:00" "time": "2023-11-08T05:53:05+00:00"
}, },
{
"name": "rawilk/laravel-printing",
"version": "v3.0.3",
"source": {
"type": "git",
"url": "https://github.com/rawilk/laravel-printing.git",
"reference": "b35342fe25dab1d122e369e776f0c47579b34f12"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rawilk/laravel-printing/zipball/b35342fe25dab1d122e369e776f0c47579b34f12",
"reference": "b35342fe25dab1d122e369e776f0c47579b34f12",
"shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^7.5",
"illuminate/support": "^8.0|^9.0|^10.0",
"mike42/escpos-php": "^4.0",
"php": "^8.0|^8.1|^8.2",
"spatie/laravel-package-tools": "^1.2|^1.13"
},
"require-dev": {
"laravel/pint": "^1.5",
"mockery/mockery": ">=1.4",
"orchestra/testbench": "^6.0|^7.0|^8.0",
"pestphp/pest": "^1.20",
"pestphp/pest-plugin-parallel": "^1.0",
"php-http/socket-client": "^2.1",
"psr/http-client": "^1.0",
"smalot/cups-ipp": "^0.5.0",
"spatie/laravel-ray": "^1.0|^1.29"
},
"suggest": {
"smalot/cups-ipp": "Required when using the CUPS driver"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Rawilk\\Printing\\PrintingServiceProvider"
],
"aliases": {
"Printing": "Rawilk\\Printing\\Facades\\Printing"
}
}
},
"autoload": {
"psr-4": {
"Rawilk\\Printing\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Randall Wilk",
"email": "randall@randallwilk.dev",
"homepage": "https://randallwilk.dev",
"role": "Developer"
}
],
"description": "Direct printing for Laravel apps",
"homepage": "https://github.com/rawilk/laravel-printing",
"keywords": [
"CUPS",
"Direct printing",
"PrintNode",
"Raw printing",
"Receipt printing",
"ipp",
"laravel-printing",
"rawilk"
],
"support": {
"issues": "https://github.com/rawilk/laravel-printing/issues",
"source": "https://github.com/rawilk/laravel-printing/tree/v3.0.3"
},
"funding": [
{
"url": "https://github.com/rawilk",
"type": "github"
}
],
"time": "2023-03-20T17:22:27+00:00"
},
{ {
"name": "realrashid/sweet-alert", "name": "realrashid/sweet-alert",
"version": "v6.0.0", "version": "v6.0.0",
@ -4219,6 +4412,66 @@
], ],
"time": "2023-12-11T16:03:32+00:00" "time": "2023-12-11T16:03:32+00:00"
}, },
{
"name": "spatie/laravel-package-tools",
"version": "1.16.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git",
"reference": "e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15",
"reference": "e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15",
"shasum": ""
},
"require": {
"illuminate/contracts": "^9.28|^10.0|^11.0",
"php": "^8.0"
},
"require-dev": {
"mockery/mockery": "^1.5",
"orchestra/testbench": "^7.7|^8.0",
"pestphp/pest": "^1.22",
"phpunit/phpunit": "^9.5.24",
"spatie/pest-plugin-test-time": "^1.1"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\LaravelPackageTools\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"role": "Developer"
}
],
"description": "Tools for creating Laravel packages",
"homepage": "https://github.com/spatie/laravel-package-tools",
"keywords": [
"laravel-package-tools",
"spatie"
],
"support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues",
"source": "https://github.com/spatie/laravel-package-tools/tree/1.16.2"
},
"funding": [
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2024-01-11T08:43:00+00:00"
},
{ {
"name": "spatie/laravel-permission", "name": "spatie/laravel-permission",
"version": "6.3.0", "version": "6.3.0",

82
config/printing.php Normal file
View File

@ -0,0 +1,82 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Driver
|--------------------------------------------------------------------------
|
| Supported: `printnode`, `cups`
|
*/
'driver' => env('PRINTING_DRIVER', 'printnode'),
/*
|--------------------------------------------------------------------------
| Drivers
|--------------------------------------------------------------------------
|
| Configuration for each driver.
|
*/
'drivers' => [
'printnode' => [
'key' => env('PRINT_NODE_API_KEY'),
],
'cups' => [
'ip' => env('CUPS_SERVER_IP'),
'username' => env('CUPS_SERVER_USERNAME'),
'password' => env('CUPS_SERVER_PASSWORD'),
'port' => env('CUPS_SERVER_PORT', 631),
],
/*
* Add your custom drivers here:
*
* 'custom' => [
* 'driver' => 'custom_driver',
* // other config for your custom driver
* ],
*/
],
/*
|--------------------------------------------------------------------------
| Default Printer Id
|--------------------------------------------------------------------------
|
| If you know the id of a default printer you want to use, enter it here.
|
*/
'default_printer_id' => null,
/*
|--------------------------------------------------------------------------
| Receipt Printer Options
|--------------------------------------------------------------------------
|
*/
'receipts' => [
/*
* How many characters fit across a single line on the receipt paper.
* Adjust according to your needs.
*/
'line_character_length' => 45,
/*
* The width of the print area in dots.
* Adjust according to your needs.
*/
'print_width' => 550,
/*
* The height (in dots) barcodes should be printed normally.
*/
'barcode_height' => 64,
/*
* The width (magnification) each barcode should be printed in normally.
*/
'barcode_width' => 2,
],
];