d3yii2/d3printeripp

IPP Printer Management Component for Yii2

Installs: 64

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:yii2-extension

pkg:composer/d3yii2/d3printeripp

dev-main 2026-02-18 10:57 UTC

This package is auto-updated.

Last update: 2026-02-18 10:57:37 UTC


README

A PHP 7.4+ package for managing IPP printers in Yii2 applications using the nateobray/IPP library.

Installation

to composer add

    "repositories": [
        { "type": "git", "url": "https://github.com/DBRisinajumi/IPP.git"},
    ]
composer require yourcompany/yii2-ipp-printer-manager

Configuration

In config console add comand:

'controllerMap' => [
        'printeripp' => 'd3yii2\d3printeripp\commands\PrinterCommand',
        'printeripp-spool' => 'd3yii2\d3printeripp\commands\SpoolerCommand',
    ],

Add the components

    'modules' => [
        'd3printeripp' => [
            'class' => 'd3yii2\d3printeripp\Module',
            /** roles for view dashboard     panel */
            'panelViewRoleNames' => ['D3PrinterViewPanel'],
        ],
    ],
'components' => [
        /** use for printer files spooling */
        'printerSpooler' => [
            'class' => 'd3yii2\d3printer\components\Spooler',
            'baseDirectory' => 'd3printer'
        ],
        /** define alert config for printers. class d3yii2\d3printeripp\components\components */
        'ippAlertConfig' => [
            'class' => 'ea\app\components\IppPrinter3002dnAlertConfig'
        ],
        /** define mailer for printers. */
        'ippPrinterMailer' => [
            'class' => 'd3yii2\d3printeripp\components\Mailer',
            'from' => 'zzzz@zzzz.lv',
            'to' => ['zz@sss.lv'],
        ],
        /** define printer status cache */
        'printerStatusCache' => [
            'class' => 'd3yii2\d3printeripp\components\cache\PrinterCache',
        ],
        /** define printer component */
        'ippTest' => [
            'class' => '\d3yii2\d3printeripp\components\BasePrinter',
            'printerName' => 'ippTest',
            'name' => 'ippTest',
            'host' => '192.168.88.168',
            'port' => 631,
            'username' => 'admin',
            'password' => '',
            'pincode' => '111111',
            'timeout' => 30,
            'encryption' => false,
            'spoolerComponentName' => 'printerSpooler',
            'alertConfigComponentName' => 'ippAlertConfig',
            'mailerComponentName' => 'ippPrinterMailer',
            'cacheComponentName' => 'printerStatusCache',
//            'pageOrientation' => 3, // d3yii2\d3printeripp\types\PrinterAttributeValues::ORIENTATION_PORTRAIT
            'pageOrientation' => 4, // d3yii2\d3printeripp\types\PrinterAttributeValues::LANDSCAPE
//            'pageSize' => 'iso_a4_210x297mm', // d3yii2\d3printeripp\types\PrinterAttributeValues::MEDIA_SIZE_A4
            'pageSize' => 'iso_a5_148x210mm', // d3yii2\d3printeripp\types\PrinterAttributeValues::MEDIA_SIZE_A5
        ],
],

Usage command

show printer ippTest status

php yii printeripp/status ippTest

show printer ippTest status

php yii printeripp/status ippTest 0 1

check alert and send one time alert email Mostly add to crontab

php yii printeripp/status ippTest 0 1

spooler printing - create as deamon

php yii printeripp-spool/index spoolerPrinting

Dashboard panel

 $config['components']['dashboard']['panels']['notifications'][] = [
        'route' => '/d3printeripp/printer-panel/dashboard',
        'params' => [
            'printerComponentName' => 'ippTest'
        ],
        'tag' => 'div',
        'options' => ['class' => 'col-sm-6 col-md-4 col-lg-3']
    ];

Basic Printing

Yii::$app->ippTest->printToSpoolDirectory($filePath),

Printer Monitoring

create deamon or add to crontab

php yii printeripp/status ippTest 0 1