PHPackages                             consignr/filament-print-node - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. consignr/filament-print-node

ActiveLibrary

consignr/filament-print-node
============================

A collection of filament resources to manage your printnode account from the admin panel

v0.1.1-alpha(1y ago)05MITPHPPHP ^8.1

Since Oct 1Pushed 1y ago1 watchersCompare

[ Source](https://github.com/consignr/filament-print-node)[ Packagist](https://packagist.org/packages/consignr/filament-print-node)[ RSS](/packages/consignr-filament-print-node/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (5)Versions (8)Used By (0)

filament-print-node
===================

[](#filament-print-node)

A collection of filament resources to manage your printnode account from the admin panel

Usage
-----

[](#usage)

The plugin integrates [PrintNode](https://www.printnode.com/en) functionality in your filament panel(s), allowing admins to quickly access Computer, Printer and PrintJob resources. It provides custom actions to send print requests to the [PrintNode](https://www.printnode.com/en/docs/api/curl) api.

Installation
------------

[](#installation)

You can install the package via composer then run the installation command:

```
composer require consignr/filament-print-node
```

### Registering the plugin

[](#registering-the-plugin)

```
use Consignr\FilamentPrintNode\FilamentPrintNodePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentPrintNodePlugin::make(),
        ])
}
```

Configure the navigation settings for print node cluster by chaining additonal methods after `make()`.

```
use Consignr\FilamentPrintNode\FilamentPrintNodePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentPrintNodePlugin::make()
                ->navigationLabel('Printing') // Set the label for the cluster
                ->navigationGroup('Settings') // Set the group for the cluster
                ->navigationIcon('heroicon-o-printer') // Set the icon for the cluster
                ->navigationSort(3) // Set sort order for the cluster
        ])
}
```

Further configuration options can be applied for each resource. The below example configures the computer resource using the `->computerResource()` method. Equivelant methods exist for the other resources, `->printerResource()`and `->printJobResource()`.

```
use Consignr\FilamentPrintNode\FilamentPrintNodePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentPrintNodePlugin::make()
                ->computerResource(
                    label: 'Device',
                    pluralLabel: 'Devices',
                    navigationLabel: 'Tablets',
                    navigationIcon: 'heroicon-o-device-tablet',
                    navigationSort: 2,
                    navigationBadgeCount: fn (Computer $record): int => $record->count()
                )
        ])
}
```

### Sending PrintJob requests

[](#sending-printjob-requests)

Add the the custom table action to your desired resource

```
use Consignr\FilamentPrintNode\Actions\CreatePrintJobAction;
use Consignr\FilamentPrintNode\Enums\ContentType;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;

public static function table(Table $table): Table
    {
        return $table
            ->columns([
                //
            ])
            ->filters([
                //
            ])
            ->actions([
                CreatePrintJobAction::make()
                    ->printerId(1234567) // Provide the ID for the printer
                    ->contentType(ContentType::PdfBase64) // Provide the content type PdfUri | PdfBase64 | RawUri | RawBase64
                    ->content(function (Model $record, CreatePrintJobAction $action): string {
                        if (! Storage::disk('public')->exists($record->path)) {
                            Notification::make()
                                ->warning()
                                ->title('File Not Found')
                                ->body('The target file does not exist.')
                                ->send();

                            $action->halt();
                        }

                        return base64_encode(Storage::disk('public')->get($record->path));
                    }) // Uri where the document can be downloaded or base64 encoded document
                    ->title() // Provide a title to be given to the print job. This is the name which will appear in the operating system's print queue.
                    ->source() // Provide a text description of how the print job was created or where the print job originated.
                    ->expiresAfter() // Set the the maximum number of seconds PrintNode should retain this print job in the event that the print job cannot be printed immediately. Defaults to 14 days or 1209600 seconds
                    ->quantity() // A positive integer specifying the number of times this print job should be delivered to the print queue.
            ]);
    }
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

6

Last Release

544d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6561597e10818b5a5a7a91a1b0a15da9ee60e7cd5260da5174bd18cb9469d150?d=identicon)[consignr](/maintainers/consignr)

---

Top Contributors

[![consignr](https://avatars.githubusercontent.com/u/25492657?v=4)](https://github.com/consignr "consignr (65 commits)")

### Embed Badge

![Health badge](/badges/consignr-filament-print-node/health.svg)

```
[![Health](https://phpackages.com/badges/consignr-filament-print-node/health.svg)](https://phpackages.com/packages/consignr-filament-print-node)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

206120.5k1](/packages/guava-filament-knowledge-base)[guava/calendar

Adds support for vkurko/calendar to Filament PHP.

298241.0k3](/packages/guava-calendar)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

5925.8k](/packages/marcelweidum-filament-passkeys)[joaopaulolndev/filament-world-clock

Show hours around the world by timezone

3111.9k](/packages/joaopaulolndev-filament-world-clock)[codebar-ag/laravel-docuware

DocuWare integration with Laravel

1221.1k](/packages/codebar-ag-laravel-docuware)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
